]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
v6: Docs design updates (#42250)
authorMark Otto <markd.otto@gmail.com>
Fri, 3 Apr 2026 20:44:58 +0000 (13:44 -0700)
committerGitHub <noreply@github.com>
Fri, 3 Apr 2026 20:44:58 +0000 (13:44 -0700)
* Start docs redesign, new page metadata fields

* wip

* more

* Update offcanvas references to drawer after rebase

Carry over frontmatter additions to drawer.mdx,
fix DocsLayout ToC to use drawer classes and dialog element,
update navbar.mdx dep title, and fix _toc.scss class name.

Made-with: Cursor

* woooooo

* fixes

* update metadata and more

* more improvements

* Some component updates, docs updates

* update

* add a bundlewatch script, fix bundlewatch

* bump

* fix

* dist

* Remove gradients for now

* Update format

* more wip

139 files changed:
.bundlewatch.config.json
build/bundlewatch-fix.mjs [new file with mode: 0644]
dist/css/bootstrap-grid.css
dist/css/bootstrap-grid.css.map
dist/css/bootstrap-grid.min.css
dist/css/bootstrap-grid.min.css.map
dist/css/bootstrap-reboot.css
dist/css/bootstrap-reboot.css.map
dist/css/bootstrap-reboot.min.css
dist/css/bootstrap-reboot.min.css.map
dist/css/bootstrap-utilities.css
dist/css/bootstrap-utilities.css.map
dist/css/bootstrap-utilities.metadata.json
dist/css/bootstrap-utilities.min.css
dist/css/bootstrap-utilities.min.css.map
dist/css/bootstrap.css
dist/css/bootstrap.css.map
dist/css/bootstrap.min.css
dist/css/bootstrap.min.css.map
dist/js/bootstrap.bundle.js
dist/js/bootstrap.bundle.js.map
dist/js/bootstrap.bundle.min.js
dist/js/bootstrap.bundle.min.js.map
dist/js/bootstrap.js
dist/js/bootstrap.js.map
dist/js/bootstrap.min.js
dist/js/bootstrap.min.js.map
eslint.config.js
js/dist/dialog-base.js [new file with mode: 0644]
js/dist/dialog-base.js.map [new file with mode: 0644]
js/dist/dialog.js
js/dist/dialog.js.map
js/dist/dom/data.js
js/dist/dom/data.js.map
js/dist/drawer.js [new file with mode: 0644]
js/dist/drawer.js.map [new file with mode: 0644]
js/dist/nav-overflow.js
js/dist/nav-overflow.js.map
js/dist/util/swipe.js
js/dist/util/swipe.js.map
js/src/nav-overflow.js
js/tests/unit/nav-overflow.spec.js
package.json
scss/_config.scss
scss/_datepicker.scss
scss/_dialog.scss
scss/_drawer.scss
scss/_menu.scss
scss/_nav.scss
scss/_navbar.scss
scss/_utilities.scss
scss/content/_tables.scss
scss/forms/_form-range.scss
site/astro.config.ts
site/data/sidebar.yml
site/src/assets/application.js
site/src/assets/partials/sidebar.js
site/src/assets/partials/toc.js [new file with mode: 0644]
site/src/components/Ads.astro
site/src/components/PageMeta.astro [new file with mode: 0644]
site/src/components/header/LinkItem.astro
site/src/components/header/Navigation.astro
site/src/components/header/Versions.astro
site/src/components/home/CSSVariables.astro
site/src/components/icons/Symbols.astro
site/src/components/shortcodes/BsTable.astro
site/src/components/shortcodes/ButtonPlayground.astro
site/src/content.config.ts
site/src/content/docs/components/accordion.mdx
site/src/content/docs/components/alert.mdx
site/src/content/docs/components/avatar.mdx
site/src/content/docs/components/badge.mdx
site/src/content/docs/components/breadcrumb.mdx
site/src/content/docs/components/button-group.mdx
site/src/content/docs/components/buttons.mdx
site/src/content/docs/components/card.mdx
site/src/content/docs/components/carousel.mdx
site/src/content/docs/components/close-button.mdx
site/src/content/docs/components/collapse.mdx
site/src/content/docs/components/dialog.mdx
site/src/content/docs/components/drawer.mdx
site/src/content/docs/components/list-group.mdx
site/src/content/docs/components/menu.mdx
site/src/content/docs/components/nav-overflow.mdx
site/src/content/docs/components/nav.mdx
site/src/content/docs/components/navbar.mdx
site/src/content/docs/components/pagination.mdx
site/src/content/docs/components/placeholder.mdx
site/src/content/docs/components/popover.mdx
site/src/content/docs/components/progress.mdx
site/src/content/docs/components/scrollspy.mdx
site/src/content/docs/components/spinner.mdx
site/src/content/docs/components/stepper.mdx
site/src/content/docs/components/tab.mdx
site/src/content/docs/components/toasts.mdx
site/src/content/docs/components/toggler.mdx
site/src/content/docs/components/tooltip.mdx
site/src/content/docs/content/images.mdx
site/src/content/docs/content/prose.mdx
site/src/content/docs/content/reboot.mdx
site/src/content/docs/content/tables.mdx
site/src/content/docs/content/typography.mdx
site/src/content/docs/customize/sass.mdx
site/src/content/docs/forms/checkbox.mdx
site/src/content/docs/forms/chip-input.mdx
site/src/content/docs/forms/combobox.mdx
site/src/content/docs/forms/datepicker.mdx
site/src/content/docs/forms/floating-labels.mdx
site/src/content/docs/forms/form-adorn.mdx
site/src/content/docs/forms/form-control.mdx
site/src/content/docs/forms/input-group.mdx
site/src/content/docs/forms/otp-input.mdx
site/src/content/docs/forms/password-strength.mdx
site/src/content/docs/forms/radio.mdx
site/src/content/docs/forms/range.mdx
site/src/content/docs/forms/switch.mdx
site/src/content/docs/forms/validation.mdx
site/src/content/docs/getting-started/css-variables.mdx [moved from site/src/content/docs/customize/css-variables.mdx with 98% similarity]
site/src/content/docs/helpers/stacks.mdx
site/src/content/docs/utilities/background.mdx
site/src/content/docs/utilities/colors.mdx
site/src/content/docs/utilities/interactions.mdx [deleted file]
site/src/content/docs/utilities/link.mdx
site/src/layouts/BaseLayout.astro
site/src/layouts/DocsLayout.astro
site/src/layouts/partials/ThemeToggler.astro
site/src/libs/data.ts
site/src/libs/rehype.ts
site/src/scss/_ads.scss
site/src/scss/_badge.scss [new file with mode: 0644]
site/src/scss/_component-examples.scss
site/src/scss/_layout.scss
site/src/scss/_navbar.scss
site/src/scss/_scrolling.scss
site/src/scss/_search.scss
site/src/scss/_sidebar.scss
site/src/scss/_toc.scss
site/src/scss/docs.scss
site/static/docs/[version]/assets/js/color-modes.js

index 24e5aed265ecc3cae156612f9ee7d9a337161a64..394f454500a03c31ed2f791b09c57939f1708867 100644 (file)
@@ -2,11 +2,11 @@
   "files": [
     {
       "path": "./dist/css/bootstrap-grid.css",
-      "maxSize": "9.0 kB"
+      "maxSize": "10.75 kB"
     },
     {
       "path": "./dist/css/bootstrap-grid.min.css",
-      "maxSize": "8.0 kB"
+      "maxSize": "9.5 kB"
     },
     {
       "path": "./dist/css/bootstrap-reboot.css",
     },
     {
       "path": "./dist/css/bootstrap-utilities.css",
-      "maxSize": "15.75 kB"
+      "maxSize": "16.75 kB"
     },
     {
       "path": "./dist/css/bootstrap-utilities.min.css",
-      "maxSize": "14.25 kB"
+      "maxSize": "16.0 kB"
     },
     {
       "path": "./dist/css/bootstrap.css",
-      "maxSize": "43.5 kB"
+      "maxSize": "46.75 kB"
     },
     {
       "path": "./dist/css/bootstrap.min.css",
-      "maxSize": "40.75 kB"
+      "maxSize": "44.0 kB"
     },
     {
       "path": "./dist/js/bootstrap.bundle.js",
diff --git a/build/bundlewatch-fix.mjs b/build/bundlewatch-fix.mjs
new file mode 100644 (file)
index 0000000..2b20e55
--- /dev/null
@@ -0,0 +1,55 @@
+#!/usr/bin/env node
+
+import { execSync } from 'node:child_process'
+import fs from 'node:fs'
+
+const configPath = '.bundlewatch.config.json'
+
+let stdout
+try {
+  stdout = execSync('npx bundlewatch --config .bundlewatch.config.json', {
+    encoding: 'utf8',
+    stdio: ['pipe', 'pipe', 'pipe']
+  })
+} catch (error) {
+  stdout = error.stdout || ''
+}
+
+const failLines = stdout.split('\n').filter(l => l.startsWith('FAIL'))
+
+if (failLines.length === 0) {
+  console.log('All files are within their bundlewatch limits. Nothing to fix.')
+  process.exit(0)
+}
+
+const config = JSON.parse(fs.readFileSync(configPath, 'utf8'))
+
+const parseSize = str => Number.parseFloat(str.replace('KB', ''))
+const ceilToQuarter = n => Math.ceil(n / 0.25) * 0.25
+const formatSize = n => {
+  const frac = n % 1
+  const decimals = (frac === 0 || frac === 0.5) ? 1 : 2
+  return `${n.toFixed(decimals)} kB`
+}
+
+for (const line of failLines) {
+  const match = line.match(/(FAIL)\s+(.+?):\s+([\d.]+KB)\s+([<>])\s+([\d.]+KB)/)
+  if (!match) {
+    continue
+  }
+
+  const file = match[2]
+  const currentSize = parseSize(match[3])
+  const oldMax = formatSize(parseSize(match[5]))
+  const newMax = ceilToQuarter(currentSize)
+  const newMaxStr = formatSize(newMax)
+
+  const entry = config.files.find(f => f.path === `./${file}` || f.path === file)
+  if (entry) {
+    entry.maxSize = newMaxStr
+    console.log(`Updated ${file}: ${oldMax} -> ${newMaxStr}`)
+  }
+}
+
+fs.writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`)
+console.log(`\nUpdated ${configPath}`)
index aebfab089b89af3b2772b921fde18a976bda969b..fd2869a3b6a1e7d342eb76d372859b67c33874c6 100644 (file)
   }
   .g-3,
   .gx-3 {
-    --bs-gutter-x: 1rem;
+    --bs-gutter-x: 0.75rem;
   }
   .g-3,
   .gy-3 {
-    --bs-gutter-y: 1rem;
+    --bs-gutter-y: 0.75rem;
   }
   .g-4,
   .gx-4 {
-    --bs-gutter-x: 1.5rem;
+    --bs-gutter-x: 1rem;
   }
   .g-4,
   .gy-4 {
-    --bs-gutter-y: 1.5rem;
+    --bs-gutter-y: 1rem;
   }
   .g-5,
   .gx-5 {
-    --bs-gutter-x: 3rem;
+    --bs-gutter-x: 1.25rem;
   }
   .g-5,
   .gy-5 {
+    --bs-gutter-y: 1.25rem;
+  }
+  .g-6,
+  .gx-6 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-6,
+  .gy-6 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-7,
+  .gx-7 {
+    --bs-gutter-x: 2rem;
+  }
+  .g-7,
+  .gy-7 {
+    --bs-gutter-y: 2rem;
+  }
+  .g-8,
+  .gx-8 {
+    --bs-gutter-x: 2.5rem;
+  }
+  .g-8,
+  .gy-8 {
+    --bs-gutter-y: 2.5rem;
+  }
+  .g-9,
+  .gx-9 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-9,
+  .gy-9 {
     --bs-gutter-y: 3rem;
   }
   @media (width >= 576px) {
     }
     .sm\:g-3,
     .sm\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .sm\:g-3,
     .sm\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .sm\:g-4,
     .sm\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .sm\:g-4,
     .sm\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .sm\:g-5,
     .sm\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .sm\:g-5,
     .sm\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .sm\:g-6,
+    .sm\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .sm\:g-6,
+    .sm\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .sm\:g-7,
+    .sm\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .sm\:g-7,
+    .sm\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .sm\:g-8,
+    .sm\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .sm\:g-8,
+    .sm\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .sm\:g-9,
+    .sm\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .sm\:g-9,
+    .sm\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .md\:g-3,
     .md\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .md\:g-3,
     .md\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .md\:g-4,
     .md\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .md\:g-4,
     .md\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .md\:g-5,
     .md\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .md\:g-5,
     .md\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .md\:g-6,
+    .md\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .md\:g-6,
+    .md\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .md\:g-7,
+    .md\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .md\:g-7,
+    .md\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .md\:g-8,
+    .md\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .md\:g-8,
+    .md\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .md\:g-9,
+    .md\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .md\:g-9,
+    .md\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .lg\:g-3,
     .lg\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .lg\:g-3,
     .lg\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .lg\:g-4,
     .lg\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .lg\:g-4,
     .lg\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .lg\:g-5,
     .lg\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .lg\:g-5,
     .lg\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .lg\:g-6,
+    .lg\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .lg\:g-6,
+    .lg\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .lg\:g-7,
+    .lg\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .lg\:g-7,
+    .lg\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .lg\:g-8,
+    .lg\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .lg\:g-8,
+    .lg\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .lg\:g-9,
+    .lg\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .lg\:g-9,
+    .lg\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .xl\:g-3,
     .xl\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .xl\:g-3,
     .xl\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .xl\:g-4,
     .xl\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .xl\:g-4,
     .xl\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .xl\:g-5,
     .xl\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .xl\:g-5,
     .xl\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .xl\:g-6,
+    .xl\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .xl\:g-6,
+    .xl\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .xl\:g-7,
+    .xl\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .xl\:g-7,
+    .xl\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .xl\:g-8,
+    .xl\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .xl\:g-8,
+    .xl\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .xl\:g-9,
+    .xl\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .xl\:g-9,
+    .xl\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .\32 xl\:g-3,
     .\32 xl\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .\32 xl\:g-3,
     .\32 xl\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .\32 xl\:g-4,
     .\32 xl\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .\32 xl\:g-4,
     .\32 xl\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .\32 xl\:g-5,
     .\32 xl\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .\32 xl\:g-5,
     .\32 xl\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .\32 xl\:g-6,
+    .\32 xl\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .\32 xl\:g-6,
+    .\32 xl\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .\32 xl\:g-7,
+    .\32 xl\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .\32 xl\:g-7,
+    .\32 xl\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .\32 xl\:g-8,
+    .\32 xl\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .\32 xl\:g-8,
+    .\32 xl\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .\32 xl\:g-9,
+    .\32 xl\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .\32 xl\:g-9,
+    .\32 xl\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
   .place-items-stretch {
     place-items: stretch;
   }
+  .grid-cols-1 {
+    grid-template-columns: 1fr;
+  }
   .grid-cols-2 {
     grid-template-columns: repeat(2, 1fr);
   }
     margin: 0.5rem;
   }
   .m-3 {
-    margin: 1rem;
+    margin: 0.75rem;
   }
   .m-4 {
-    margin: 1.5rem;
+    margin: 1rem;
   }
   .m-5 {
+    margin: 1.25rem;
+  }
+  .m-6 {
+    margin: 1.5rem;
+  }
+  .m-7 {
+    margin: 2rem;
+  }
+  .m-8 {
+    margin: 2.5rem;
+  }
+  .m-9 {
     margin: 3rem;
   }
   .m-auto {
     margin-inline: 0.5rem;
   }
   .mx-3 {
-    margin-inline: 1rem;
+    margin-inline: 0.75rem;
   }
   .mx-4 {
-    margin-inline: 1.5rem;
+    margin-inline: 1rem;
   }
   .mx-5 {
+    margin-inline: 1.25rem;
+  }
+  .mx-6 {
+    margin-inline: 1.5rem;
+  }
+  .mx-7 {
+    margin-inline: 2rem;
+  }
+  .mx-8 {
+    margin-inline: 2.5rem;
+  }
+  .mx-9 {
     margin-inline: 3rem;
   }
   .mx-auto {
     margin-block: 0.5rem;
   }
   .my-3 {
-    margin-block: 1rem;
+    margin-block: 0.75rem;
   }
   .my-4 {
-    margin-block: 1.5rem;
+    margin-block: 1rem;
   }
   .my-5 {
+    margin-block: 1.25rem;
+  }
+  .my-6 {
+    margin-block: 1.5rem;
+  }
+  .my-7 {
+    margin-block: 2rem;
+  }
+  .my-8 {
+    margin-block: 2.5rem;
+  }
+  .my-9 {
     margin-block: 3rem;
   }
   .my-auto {
     margin-block-start: 0.5rem;
   }
   .mt-3 {
-    margin-block-start: 1rem;
+    margin-block-start: 0.75rem;
   }
   .mt-4 {
-    margin-block-start: 1.5rem;
+    margin-block-start: 1rem;
   }
   .mt-5 {
+    margin-block-start: 1.25rem;
+  }
+  .mt-6 {
+    margin-block-start: 1.5rem;
+  }
+  .mt-7 {
+    margin-block-start: 2rem;
+  }
+  .mt-8 {
+    margin-block-start: 2.5rem;
+  }
+  .mt-9 {
     margin-block-start: 3rem;
   }
   .mt-auto {
     margin-inline-end: 0.5rem;
   }
   .me-3 {
-    margin-inline-end: 1rem;
+    margin-inline-end: 0.75rem;
   }
   .me-4 {
-    margin-inline-end: 1.5rem;
+    margin-inline-end: 1rem;
   }
   .me-5 {
+    margin-inline-end: 1.25rem;
+  }
+  .me-6 {
+    margin-inline-end: 1.5rem;
+  }
+  .me-7 {
+    margin-inline-end: 2rem;
+  }
+  .me-8 {
+    margin-inline-end: 2.5rem;
+  }
+  .me-9 {
     margin-inline-end: 3rem;
   }
   .me-auto {
     margin-block-end: 0.5rem;
   }
   .mb-3 {
-    margin-block-end: 1rem;
+    margin-block-end: 0.75rem;
   }
   .mb-4 {
-    margin-block-end: 1.5rem;
+    margin-block-end: 1rem;
   }
   .mb-5 {
+    margin-block-end: 1.25rem;
+  }
+  .mb-6 {
+    margin-block-end: 1.5rem;
+  }
+  .mb-7 {
+    margin-block-end: 2rem;
+  }
+  .mb-8 {
+    margin-block-end: 2.5rem;
+  }
+  .mb-9 {
     margin-block-end: 3rem;
   }
   .mb-auto {
     margin-inline-start: 0.5rem;
   }
   .ms-3 {
-    margin-inline-start: 1rem;
+    margin-inline-start: 0.75rem;
   }
   .ms-4 {
-    margin-inline-start: 1.5rem;
+    margin-inline-start: 1rem;
   }
   .ms-5 {
+    margin-inline-start: 1.25rem;
+  }
+  .ms-6 {
+    margin-inline-start: 1.5rem;
+  }
+  .ms-7 {
+    margin-inline-start: 2rem;
+  }
+  .ms-8 {
+    margin-inline-start: 2.5rem;
+  }
+  .ms-9 {
     margin-inline-start: 3rem;
   }
   .ms--1 {
     padding: 0.5rem;
   }
   .p-3 {
-    padding: 1rem;
+    padding: 0.75rem;
   }
   .p-4 {
-    padding: 1.5rem;
+    padding: 1rem;
   }
   .p-5 {
+    padding: 1.25rem;
+  }
+  .p-6 {
+    padding: 1.5rem;
+  }
+  .p-7 {
+    padding: 2rem;
+  }
+  .p-8 {
+    padding: 2.5rem;
+  }
+  .p-9 {
     padding: 3rem;
   }
   .px-0 {
     padding-inline: 0.5rem;
   }
   .px-3 {
-    padding-inline: 1rem;
+    padding-inline: 0.75rem;
   }
   .px-4 {
-    padding-inline: 1.5rem;
+    padding-inline: 1rem;
   }
   .px-5 {
+    padding-inline: 1.25rem;
+  }
+  .px-6 {
+    padding-inline: 1.5rem;
+  }
+  .px-7 {
+    padding-inline: 2rem;
+  }
+  .px-8 {
+    padding-inline: 2.5rem;
+  }
+  .px-9 {
     padding-inline: 3rem;
   }
   .py-0 {
     padding-block: 0.5rem;
   }
   .py-3 {
-    padding-block: 1rem;
+    padding-block: 0.75rem;
   }
   .py-4 {
-    padding-block: 1.5rem;
+    padding-block: 1rem;
   }
   .py-5 {
+    padding-block: 1.25rem;
+  }
+  .py-6 {
+    padding-block: 1.5rem;
+  }
+  .py-7 {
+    padding-block: 2rem;
+  }
+  .py-8 {
+    padding-block: 2.5rem;
+  }
+  .py-9 {
     padding-block: 3rem;
   }
   .pt-0 {
     padding-block-start: 0.5rem;
   }
   .pt-3 {
-    padding-block-start: 1rem;
+    padding-block-start: 0.75rem;
   }
   .pt-4 {
-    padding-block-start: 1.5rem;
+    padding-block-start: 1rem;
   }
   .pt-5 {
+    padding-block-start: 1.25rem;
+  }
+  .pt-6 {
+    padding-block-start: 1.5rem;
+  }
+  .pt-7 {
+    padding-block-start: 2rem;
+  }
+  .pt-8 {
+    padding-block-start: 2.5rem;
+  }
+  .pt-9 {
     padding-block-start: 3rem;
   }
   .pe-0 {
     padding-inline-end: 0.5rem;
   }
   .pe-3 {
-    padding-inline-end: 1rem;
+    padding-inline-end: 0.75rem;
   }
   .pe-4 {
-    padding-inline-end: 1.5rem;
+    padding-inline-end: 1rem;
   }
   .pe-5 {
+    padding-inline-end: 1.25rem;
+  }
+  .pe-6 {
+    padding-inline-end: 1.5rem;
+  }
+  .pe-7 {
+    padding-inline-end: 2rem;
+  }
+  .pe-8 {
+    padding-inline-end: 2.5rem;
+  }
+  .pe-9 {
     padding-inline-end: 3rem;
   }
   .pb-0 {
     padding-block-end: 0.5rem;
   }
   .pb-3 {
-    padding-block-end: 1rem;
+    padding-block-end: 0.75rem;
   }
   .pb-4 {
-    padding-block-end: 1.5rem;
+    padding-block-end: 1rem;
   }
   .pb-5 {
+    padding-block-end: 1.25rem;
+  }
+  .pb-6 {
+    padding-block-end: 1.5rem;
+  }
+  .pb-7 {
+    padding-block-end: 2rem;
+  }
+  .pb-8 {
+    padding-block-end: 2.5rem;
+  }
+  .pb-9 {
     padding-block-end: 3rem;
   }
   .ps-0 {
     padding-inline-start: 0.5rem;
   }
   .ps-3 {
-    padding-inline-start: 1rem;
+    padding-inline-start: 0.75rem;
   }
   .ps-4 {
-    padding-inline-start: 1.5rem;
+    padding-inline-start: 1rem;
   }
   .ps-5 {
+    padding-inline-start: 1.25rem;
+  }
+  .ps-6 {
+    padding-inline-start: 1.5rem;
+  }
+  .ps-7 {
+    padding-inline-start: 2rem;
+  }
+  .ps-8 {
+    padding-inline-start: 2.5rem;
+  }
+  .ps-9 {
     padding-inline-start: 3rem;
   }
   .gap-0 {
     gap: 0.5rem;
   }
   .gap-3 {
-    gap: 1rem;
+    gap: 0.75rem;
   }
   .gap-4 {
-    gap: 1.5rem;
+    gap: 1rem;
   }
   .gap-5 {
+    gap: 1.25rem;
+  }
+  .gap-6 {
+    gap: 1.5rem;
+  }
+  .gap-7 {
+    gap: 2rem;
+  }
+  .gap-8 {
+    gap: 2.5rem;
+  }
+  .gap-9 {
     gap: 3rem;
   }
   .row-gap-0 {
     row-gap: 0.5rem;
   }
   .row-gap-3 {
-    row-gap: 1rem;
+    row-gap: 0.75rem;
   }
   .row-gap-4 {
-    row-gap: 1.5rem;
+    row-gap: 1rem;
   }
   .row-gap-5 {
+    row-gap: 1.25rem;
+  }
+  .row-gap-6 {
+    row-gap: 1.5rem;
+  }
+  .row-gap-7 {
+    row-gap: 2rem;
+  }
+  .row-gap-8 {
+    row-gap: 2.5rem;
+  }
+  .row-gap-9 {
     row-gap: 3rem;
   }
   .column-gap-0 {
     column-gap: 0.5rem;
   }
   .column-gap-3 {
+    -moz-column-gap: 0.75rem;
+    column-gap: 0.75rem;
+  }
+  .column-gap-4 {
     -moz-column-gap: 1rem;
     column-gap: 1rem;
   }
-  .column-gap-4 {
+  .column-gap-5 {
+    -moz-column-gap: 1.25rem;
+    column-gap: 1.25rem;
+  }
+  .column-gap-6 {
     -moz-column-gap: 1.5rem;
     column-gap: 1.5rem;
   }
-  .column-gap-5 {
+  .column-gap-7 {
+    -moz-column-gap: 2rem;
+    column-gap: 2rem;
+  }
+  .column-gap-8 {
+    -moz-column-gap: 2.5rem;
+    column-gap: 2.5rem;
+  }
+  .column-gap-9 {
     -moz-column-gap: 3rem;
     column-gap: 3rem;
   }
     .sm\:place-items-stretch {
       place-items: stretch;
     }
+    .sm\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .sm\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .sm\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .sm\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .sm\:m-5 {
+      margin: 1.25rem;
+    }
+    .sm\:m-6 {
+      margin: 1.5rem;
+    }
+    .sm\:m-7 {
+      margin: 2rem;
+    }
+    .sm\:m-8 {
+      margin: 2.5rem;
+    }
+    .sm\:m-9 {
       margin: 3rem;
     }
     .sm\:m-auto {
       margin-inline: 0.5rem;
     }
     .sm\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .sm\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .sm\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .sm\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .sm\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .sm\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .sm\:mx-9 {
       margin-inline: 3rem;
     }
     .sm\:mx-auto {
       margin-block: 0.5rem;
     }
     .sm\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .sm\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .sm\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .sm\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .sm\:my-7 {
+      margin-block: 2rem;
+    }
+    .sm\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .sm\:my-9 {
       margin-block: 3rem;
     }
     .sm\:my-auto {
       margin-block-start: 0.5rem;
     }
     .sm\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .sm\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .sm\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .sm\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .sm\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .sm\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .sm\:mt-9 {
       margin-block-start: 3rem;
     }
     .sm\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .sm\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .sm\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .sm\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .sm\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .sm\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .sm\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .sm\:me-9 {
       margin-inline-end: 3rem;
     }
     .sm\:me-auto {
       margin-block-end: 0.5rem;
     }
     .sm\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .sm\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .sm\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .sm\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .sm\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .sm\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .sm\:mb-9 {
       margin-block-end: 3rem;
     }
     .sm\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .sm\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .sm\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .sm\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .sm\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .sm\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .sm\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .sm\:ms-9 {
       margin-inline-start: 3rem;
     }
     .sm\:ms--1 {
       padding: 0.5rem;
     }
     .sm\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .sm\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .sm\:p-5 {
+      padding: 1.25rem;
+    }
+    .sm\:p-6 {
+      padding: 1.5rem;
+    }
+    .sm\:p-7 {
+      padding: 2rem;
+    }
+    .sm\:p-8 {
+      padding: 2.5rem;
+    }
+    .sm\:p-9 {
       padding: 3rem;
     }
     .sm\:px-0 {
       padding-inline: 0.5rem;
     }
     .sm\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .sm\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .sm\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .sm\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .sm\:px-7 {
+      padding-inline: 2rem;
+    }
+    .sm\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .sm\:px-9 {
       padding-inline: 3rem;
     }
     .sm\:py-0 {
       padding-block: 0.5rem;
     }
     .sm\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .sm\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .sm\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .sm\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .sm\:py-7 {
+      padding-block: 2rem;
+    }
+    .sm\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .sm\:py-9 {
       padding-block: 3rem;
     }
     .sm\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .sm\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .sm\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .sm\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .sm\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .sm\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .sm\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .sm\:pt-9 {
       padding-block-start: 3rem;
     }
     .sm\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .sm\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .sm\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .sm\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .sm\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .sm\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .sm\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .sm\:pe-9 {
       padding-inline-end: 3rem;
     }
     .sm\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .sm\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .sm\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .sm\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .sm\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .sm\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .sm\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .sm\:pb-9 {
       padding-block-end: 3rem;
     }
     .sm\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .sm\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .sm\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .sm\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .sm\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .sm\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .sm\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .sm\:ps-9 {
       padding-inline-start: 3rem;
     }
     .sm\:gap-0 {
       gap: 0.5rem;
     }
     .sm\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .sm\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .sm\:gap-5 {
+      gap: 1.25rem;
+    }
+    .sm\:gap-6 {
+      gap: 1.5rem;
+    }
+    .sm\:gap-7 {
+      gap: 2rem;
+    }
+    .sm\:gap-8 {
+      gap: 2.5rem;
+    }
+    .sm\:gap-9 {
       gap: 3rem;
     }
     .sm\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .sm\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .sm\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .sm\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .sm\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .sm\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .sm\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .sm\:row-gap-9 {
       row-gap: 3rem;
     }
     .sm\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .sm\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .sm\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .sm\:column-gap-4 {
+    .sm\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .sm\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .sm\:column-gap-5 {
+    .sm\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .sm\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .sm\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .md\:place-items-stretch {
       place-items: stretch;
     }
+    .md\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .md\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .md\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .md\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .md\:m-5 {
+      margin: 1.25rem;
+    }
+    .md\:m-6 {
+      margin: 1.5rem;
+    }
+    .md\:m-7 {
+      margin: 2rem;
+    }
+    .md\:m-8 {
+      margin: 2.5rem;
+    }
+    .md\:m-9 {
       margin: 3rem;
     }
     .md\:m-auto {
       margin-inline: 0.5rem;
     }
     .md\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .md\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .md\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .md\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .md\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .md\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .md\:mx-9 {
       margin-inline: 3rem;
     }
     .md\:mx-auto {
       margin-block: 0.5rem;
     }
     .md\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .md\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .md\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .md\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .md\:my-7 {
+      margin-block: 2rem;
+    }
+    .md\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .md\:my-9 {
       margin-block: 3rem;
     }
     .md\:my-auto {
       margin-block-start: 0.5rem;
     }
     .md\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .md\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .md\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .md\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .md\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .md\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .md\:mt-9 {
       margin-block-start: 3rem;
     }
     .md\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .md\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .md\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .md\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .md\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .md\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .md\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .md\:me-9 {
       margin-inline-end: 3rem;
     }
     .md\:me-auto {
       margin-block-end: 0.5rem;
     }
     .md\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .md\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .md\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .md\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .md\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .md\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .md\:mb-9 {
       margin-block-end: 3rem;
     }
     .md\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .md\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .md\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .md\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .md\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .md\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .md\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .md\:ms-9 {
       margin-inline-start: 3rem;
     }
     .md\:ms--1 {
       padding: 0.5rem;
     }
     .md\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .md\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .md\:p-5 {
+      padding: 1.25rem;
+    }
+    .md\:p-6 {
+      padding: 1.5rem;
+    }
+    .md\:p-7 {
+      padding: 2rem;
+    }
+    .md\:p-8 {
+      padding: 2.5rem;
+    }
+    .md\:p-9 {
       padding: 3rem;
     }
     .md\:px-0 {
       padding-inline: 0.5rem;
     }
     .md\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .md\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .md\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .md\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .md\:px-7 {
+      padding-inline: 2rem;
+    }
+    .md\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .md\:px-9 {
       padding-inline: 3rem;
     }
     .md\:py-0 {
       padding-block: 0.5rem;
     }
     .md\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .md\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .md\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .md\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .md\:py-7 {
+      padding-block: 2rem;
+    }
+    .md\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .md\:py-9 {
       padding-block: 3rem;
     }
     .md\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .md\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .md\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .md\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .md\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .md\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .md\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .md\:pt-9 {
       padding-block-start: 3rem;
     }
     .md\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .md\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .md\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .md\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .md\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .md\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .md\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .md\:pe-9 {
       padding-inline-end: 3rem;
     }
     .md\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .md\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .md\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .md\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .md\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .md\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .md\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .md\:pb-9 {
       padding-block-end: 3rem;
     }
     .md\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .md\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .md\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .md\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .md\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .md\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .md\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .md\:ps-9 {
       padding-inline-start: 3rem;
     }
     .md\:gap-0 {
       gap: 0.5rem;
     }
     .md\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .md\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .md\:gap-5 {
+      gap: 1.25rem;
+    }
+    .md\:gap-6 {
+      gap: 1.5rem;
+    }
+    .md\:gap-7 {
+      gap: 2rem;
+    }
+    .md\:gap-8 {
+      gap: 2.5rem;
+    }
+    .md\:gap-9 {
       gap: 3rem;
     }
     .md\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .md\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .md\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .md\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .md\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .md\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .md\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .md\:row-gap-9 {
       row-gap: 3rem;
     }
     .md\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .md\:column-gap-3 {
-      -moz-column-gap: 1rem;
-      column-gap: 1rem;
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
     }
     .md\:column-gap-4 {
+      -moz-column-gap: 1rem;
+      column-gap: 1rem;
+    }
+    .md\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .md\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .md\:column-gap-5 {
+    .md\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .md\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .md\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .lg\:place-items-stretch {
       place-items: stretch;
     }
+    .lg\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .lg\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .lg\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .lg\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .lg\:m-5 {
+      margin: 1.25rem;
+    }
+    .lg\:m-6 {
+      margin: 1.5rem;
+    }
+    .lg\:m-7 {
+      margin: 2rem;
+    }
+    .lg\:m-8 {
+      margin: 2.5rem;
+    }
+    .lg\:m-9 {
       margin: 3rem;
     }
     .lg\:m-auto {
       margin-inline: 0.5rem;
     }
     .lg\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .lg\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .lg\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .lg\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .lg\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .lg\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .lg\:mx-9 {
       margin-inline: 3rem;
     }
     .lg\:mx-auto {
       margin-block: 0.5rem;
     }
     .lg\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .lg\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .lg\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .lg\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .lg\:my-7 {
+      margin-block: 2rem;
+    }
+    .lg\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .lg\:my-9 {
       margin-block: 3rem;
     }
     .lg\:my-auto {
       margin-block-start: 0.5rem;
     }
     .lg\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .lg\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .lg\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .lg\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .lg\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .lg\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .lg\:mt-9 {
       margin-block-start: 3rem;
     }
     .lg\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .lg\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .lg\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .lg\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .lg\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .lg\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .lg\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .lg\:me-9 {
       margin-inline-end: 3rem;
     }
     .lg\:me-auto {
       margin-block-end: 0.5rem;
     }
     .lg\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .lg\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .lg\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .lg\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .lg\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .lg\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .lg\:mb-9 {
       margin-block-end: 3rem;
     }
     .lg\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .lg\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .lg\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .lg\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .lg\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .lg\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .lg\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .lg\:ms-9 {
       margin-inline-start: 3rem;
     }
     .lg\:ms--1 {
       padding: 0.5rem;
     }
     .lg\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .lg\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .lg\:p-5 {
+      padding: 1.25rem;
+    }
+    .lg\:p-6 {
+      padding: 1.5rem;
+    }
+    .lg\:p-7 {
+      padding: 2rem;
+    }
+    .lg\:p-8 {
+      padding: 2.5rem;
+    }
+    .lg\:p-9 {
       padding: 3rem;
     }
     .lg\:px-0 {
       padding-inline: 0.5rem;
     }
     .lg\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .lg\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .lg\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .lg\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .lg\:px-7 {
+      padding-inline: 2rem;
+    }
+    .lg\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .lg\:px-9 {
       padding-inline: 3rem;
     }
     .lg\:py-0 {
       padding-block: 0.5rem;
     }
     .lg\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .lg\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .lg\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .lg\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .lg\:py-7 {
+      padding-block: 2rem;
+    }
+    .lg\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .lg\:py-9 {
       padding-block: 3rem;
     }
     .lg\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .lg\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .lg\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .lg\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .lg\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .lg\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .lg\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .lg\:pt-9 {
       padding-block-start: 3rem;
     }
     .lg\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .lg\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .lg\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .lg\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .lg\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .lg\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .lg\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .lg\:pe-9 {
       padding-inline-end: 3rem;
     }
     .lg\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .lg\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .lg\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .lg\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .lg\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .lg\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .lg\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .lg\:pb-9 {
       padding-block-end: 3rem;
     }
     .lg\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .lg\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .lg\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .lg\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .lg\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .lg\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .lg\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .lg\:ps-9 {
       padding-inline-start: 3rem;
     }
     .lg\:gap-0 {
       gap: 0.5rem;
     }
     .lg\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .lg\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .lg\:gap-5 {
+      gap: 1.25rem;
+    }
+    .lg\:gap-6 {
+      gap: 1.5rem;
+    }
+    .lg\:gap-7 {
+      gap: 2rem;
+    }
+    .lg\:gap-8 {
+      gap: 2.5rem;
+    }
+    .lg\:gap-9 {
       gap: 3rem;
     }
     .lg\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .lg\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .lg\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .lg\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .lg\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .lg\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .lg\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .lg\:row-gap-9 {
       row-gap: 3rem;
     }
     .lg\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .lg\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .lg\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .lg\:column-gap-4 {
+    .lg\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .lg\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .lg\:column-gap-5 {
+    .lg\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .lg\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .lg\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .xl\:place-items-stretch {
       place-items: stretch;
     }
+    .xl\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .xl\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .xl\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .xl\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .xl\:m-5 {
+      margin: 1.25rem;
+    }
+    .xl\:m-6 {
+      margin: 1.5rem;
+    }
+    .xl\:m-7 {
+      margin: 2rem;
+    }
+    .xl\:m-8 {
+      margin: 2.5rem;
+    }
+    .xl\:m-9 {
       margin: 3rem;
     }
     .xl\:m-auto {
       margin-inline: 0.5rem;
     }
     .xl\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .xl\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .xl\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .xl\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .xl\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .xl\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .xl\:mx-9 {
       margin-inline: 3rem;
     }
     .xl\:mx-auto {
       margin-block: 0.5rem;
     }
     .xl\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .xl\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .xl\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .xl\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .xl\:my-7 {
+      margin-block: 2rem;
+    }
+    .xl\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .xl\:my-9 {
       margin-block: 3rem;
     }
     .xl\:my-auto {
       margin-block-start: 0.5rem;
     }
     .xl\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .xl\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .xl\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .xl\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .xl\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .xl\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .xl\:mt-9 {
       margin-block-start: 3rem;
     }
     .xl\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .xl\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .xl\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .xl\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .xl\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .xl\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .xl\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .xl\:me-9 {
       margin-inline-end: 3rem;
     }
     .xl\:me-auto {
       margin-block-end: 0.5rem;
     }
     .xl\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .xl\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .xl\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .xl\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .xl\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .xl\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .xl\:mb-9 {
       margin-block-end: 3rem;
     }
     .xl\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .xl\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .xl\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .xl\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .xl\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .xl\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .xl\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .xl\:ms-9 {
       margin-inline-start: 3rem;
     }
     .xl\:ms--1 {
       padding: 0.5rem;
     }
     .xl\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .xl\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .xl\:p-5 {
+      padding: 1.25rem;
+    }
+    .xl\:p-6 {
+      padding: 1.5rem;
+    }
+    .xl\:p-7 {
+      padding: 2rem;
+    }
+    .xl\:p-8 {
+      padding: 2.5rem;
+    }
+    .xl\:p-9 {
       padding: 3rem;
     }
     .xl\:px-0 {
       padding-inline: 0.5rem;
     }
     .xl\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .xl\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .xl\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .xl\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .xl\:px-7 {
+      padding-inline: 2rem;
+    }
+    .xl\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .xl\:px-9 {
       padding-inline: 3rem;
     }
     .xl\:py-0 {
       padding-block: 0.5rem;
     }
     .xl\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .xl\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .xl\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .xl\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .xl\:py-7 {
+      padding-block: 2rem;
+    }
+    .xl\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .xl\:py-9 {
       padding-block: 3rem;
     }
     .xl\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .xl\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .xl\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .xl\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .xl\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .xl\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .xl\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .xl\:pt-9 {
       padding-block-start: 3rem;
     }
     .xl\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .xl\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .xl\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .xl\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .xl\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .xl\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .xl\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .xl\:pe-9 {
       padding-inline-end: 3rem;
     }
     .xl\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .xl\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .xl\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .xl\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .xl\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .xl\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .xl\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .xl\:pb-9 {
       padding-block-end: 3rem;
     }
     .xl\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .xl\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .xl\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .xl\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .xl\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .xl\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .xl\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .xl\:ps-9 {
       padding-inline-start: 3rem;
     }
     .xl\:gap-0 {
       gap: 0.5rem;
     }
     .xl\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .xl\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .xl\:gap-5 {
+      gap: 1.25rem;
+    }
+    .xl\:gap-6 {
+      gap: 1.5rem;
+    }
+    .xl\:gap-7 {
+      gap: 2rem;
+    }
+    .xl\:gap-8 {
+      gap: 2.5rem;
+    }
+    .xl\:gap-9 {
       gap: 3rem;
     }
     .xl\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .xl\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .xl\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .xl\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .xl\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .xl\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .xl\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .xl\:row-gap-9 {
       row-gap: 3rem;
     }
     .xl\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .xl\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .xl\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .xl\:column-gap-4 {
+    .xl\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .xl\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .xl\:column-gap-5 {
+    .xl\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .xl\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .xl\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .\32 xl\:place-items-stretch {
       place-items: stretch;
     }
+    .\32 xl\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .\32 xl\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .\32 xl\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .\32 xl\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .\32 xl\:m-5 {
+      margin: 1.25rem;
+    }
+    .\32 xl\:m-6 {
+      margin: 1.5rem;
+    }
+    .\32 xl\:m-7 {
+      margin: 2rem;
+    }
+    .\32 xl\:m-8 {
+      margin: 2.5rem;
+    }
+    .\32 xl\:m-9 {
       margin: 3rem;
     }
     .\32 xl\:m-auto {
       margin-inline: 0.5rem;
     }
     .\32 xl\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .\32 xl\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .\32 xl\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .\32 xl\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .\32 xl\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .\32 xl\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .\32 xl\:mx-9 {
       margin-inline: 3rem;
     }
     .\32 xl\:mx-auto {
       margin-block: 0.5rem;
     }
     .\32 xl\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .\32 xl\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .\32 xl\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .\32 xl\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .\32 xl\:my-7 {
+      margin-block: 2rem;
+    }
+    .\32 xl\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .\32 xl\:my-9 {
       margin-block: 3rem;
     }
     .\32 xl\:my-auto {
       margin-block-start: 0.5rem;
     }
     .\32 xl\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .\32 xl\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .\32 xl\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .\32 xl\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .\32 xl\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .\32 xl\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .\32 xl\:mt-9 {
       margin-block-start: 3rem;
     }
     .\32 xl\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .\32 xl\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .\32 xl\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .\32 xl\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .\32 xl\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .\32 xl\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .\32 xl\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .\32 xl\:me-9 {
       margin-inline-end: 3rem;
     }
     .\32 xl\:me-auto {
       margin-block-end: 0.5rem;
     }
     .\32 xl\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .\32 xl\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .\32 xl\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .\32 xl\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .\32 xl\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .\32 xl\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .\32 xl\:mb-9 {
       margin-block-end: 3rem;
     }
     .\32 xl\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .\32 xl\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .\32 xl\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .\32 xl\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .\32 xl\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .\32 xl\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .\32 xl\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .\32 xl\:ms-9 {
       margin-inline-start: 3rem;
     }
     .\32 xl\:ms--1 {
       padding: 0.5rem;
     }
     .\32 xl\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .\32 xl\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .\32 xl\:p-5 {
+      padding: 1.25rem;
+    }
+    .\32 xl\:p-6 {
+      padding: 1.5rem;
+    }
+    .\32 xl\:p-7 {
+      padding: 2rem;
+    }
+    .\32 xl\:p-8 {
+      padding: 2.5rem;
+    }
+    .\32 xl\:p-9 {
       padding: 3rem;
     }
     .\32 xl\:px-0 {
       padding-inline: 0.5rem;
     }
     .\32 xl\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .\32 xl\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .\32 xl\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .\32 xl\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .\32 xl\:px-7 {
+      padding-inline: 2rem;
+    }
+    .\32 xl\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .\32 xl\:px-9 {
       padding-inline: 3rem;
     }
     .\32 xl\:py-0 {
       padding-block: 0.5rem;
     }
     .\32 xl\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .\32 xl\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .\32 xl\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .\32 xl\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .\32 xl\:py-7 {
+      padding-block: 2rem;
+    }
+    .\32 xl\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .\32 xl\:py-9 {
       padding-block: 3rem;
     }
     .\32 xl\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .\32 xl\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .\32 xl\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .\32 xl\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .\32 xl\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .\32 xl\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .\32 xl\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .\32 xl\:pt-9 {
       padding-block-start: 3rem;
     }
     .\32 xl\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .\32 xl\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .\32 xl\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .\32 xl\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .\32 xl\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .\32 xl\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .\32 xl\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .\32 xl\:pe-9 {
       padding-inline-end: 3rem;
     }
     .\32 xl\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .\32 xl\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .\32 xl\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .\32 xl\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .\32 xl\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .\32 xl\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .\32 xl\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .\32 xl\:pb-9 {
       padding-block-end: 3rem;
     }
     .\32 xl\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .\32 xl\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .\32 xl\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .\32 xl\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .\32 xl\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .\32 xl\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .\32 xl\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .\32 xl\:ps-9 {
       padding-inline-start: 3rem;
     }
     .\32 xl\:gap-0 {
       gap: 0.5rem;
     }
     .\32 xl\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .\32 xl\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .\32 xl\:gap-5 {
+      gap: 1.25rem;
+    }
+    .\32 xl\:gap-6 {
+      gap: 1.5rem;
+    }
+    .\32 xl\:gap-7 {
+      gap: 2rem;
+    }
+    .\32 xl\:gap-8 {
+      gap: 2.5rem;
+    }
+    .\32 xl\:gap-9 {
       gap: 3rem;
     }
     .\32 xl\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .\32 xl\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .\32 xl\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .\32 xl\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .\32 xl\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .\32 xl\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .\32 xl\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .\32 xl\:row-gap-9 {
       row-gap: 3rem;
     }
     .\32 xl\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .\32 xl\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .\32 xl\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .\32 xl\:column-gap-4 {
+    .\32 xl\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .\32 xl\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .\32 xl\:column-gap-5 {
+    .\32 xl\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .\32 xl\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .\32 xl\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
index 4f4838405c851f8c72b8d68bddbd2347de806825..f9f3dc6b621389f53835e208cc9a7ca52ffe99ff 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/layout/_containers.scss","bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"names":[],"mappings":"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;EJ+6BV;EIh7BQ;IACE,wBAAA;EJk7BV;EIn7BQ;IACE,wBAAA;EJq7BV;EIt7BQ;IACE,wBAAA;EJw7BV;EIz7BQ;IACE,wBAAA;EJ27BV;EI57BQ;IACE,wBAAA;EJ87BV;EI/7BQ;IACE,wBAAA;EJi8BV;EIl8BQ;IACE,wBAAA;EJo8BV;EIr8BQ;IACE,yBAAA;EJu8BV;EIx8BQ;IACE,yBAAA;EJ08BV;EI38BQ;IACE,yBAAA;EJ68BV;EIt8BQ;IACE,oBAFS;EJ08BnB;EIz8BQ;IACE,oBAFS;EJ68BnB;EI58BQ;IACE,oBAFS;EJg9BnB;EI/8BQ;IACE,oBAFS;EJm9BnB;EIl9BQ;IACE,oBAFS;EJs9BnB;EIr9BQ;IACE,oBAFS;EJy9BnB;EIx9BQ;IACE,oBAFS;EJ49BnB;EI39BQ;IACE,oBAFS;EJ+9BnB;EI99BQ;IACE,oBAFS;EJk+BnB;EIj+BQ;IACE,qBAFS;EJq+BnB;EIp+BQ;IACE,qBAFS;EJw+BnB;EC5/BE;IGaM;MACE,wBAAA;IJk/BR;IIn/BM;MACE,wBAAA;IJq/BR;IIt/BM;MACE,wBAAA;IJw/BR;IIz/BM;MACE,wBAAA;IJ2/BR;II5/BM;MACE,wBAAA;IJ8/BR;II//BM;MACE,wBAAA;IJigCR;IIlgCM;MACE,wBAAA;IJogCR;IIrgCM;MACE,wBAAA;IJugCR;IIxgCM;MACE,wBAAA;IJ0gCR;II3gCM;MACE,yBAAA;IJ6gCR;II9gCM;MACE,yBAAA;IJghCR;IIjhCM;MACE,yBAAA;IJmhCR;II5gCM;MACE,oBAFS;IJghCjB;II/gCM;MACE,oBAFS;IJmhCjB;IIlhCM;MACE,oBAFS;IJshCjB;IIrhCM;MACE,oBAFS;IJyhCjB;IIxhCM;MACE,oBAFS;IJ4hCjB;II3hCM;MACE,oBAFS;IJ+hCjB;II9hCM;MACE,oBAFS;IJkiCjB;IIjiCM;MACE,oBAFS;IJqiCjB;IIpiCM;MACE,oBAFS;IJwiCjB;IIviCM;MACE,qBAFS;IJ2iCjB;II1iCM;MACE,qBAFS;IJ8iCjB;EACF;ECnkCE;IGaM;MACE,wBAAA;IJyjCR;II1jCM;MACE,wBAAA;IJ4jCR;II7jCM;MACE,wBAAA;IJ+jCR;IIhkCM;MACE,wBAAA;IJkkCR;IInkCM;MACE,wBAAA;IJqkCR;IItkCM;MACE,wBAAA;IJwkCR;IIzkCM;MACE,wBAAA;IJ2kCR;II5kCM;MACE,wBAAA;IJ8kCR;II/kCM;MACE,wBAAA;IJilCR;IIllCM;MACE,yBAAA;IJolCR;IIrlCM;MACE,yBAAA;IJulCR;IIxlCM;MACE,yBAAA;IJ0lCR;IInlCM;MACE,oBAFS;IJulCjB;IItlCM;MACE,oBAFS;IJ0lCjB;IIzlCM;MACE,oBAFS;IJ6lCjB;II5lCM;MACE,oBAFS;IJgmCjB;II/lCM;MACE,oBAFS;IJmmCjB;IIlmCM;MACE,oBAFS;IJsmCjB;IIrmCM;MACE,oBAFS;IJymCjB;IIxmCM;MACE,oBAFS;IJ4mCjB;II3mCM;MACE,oBAFS;IJ+mCjB;II9mCM;MACE,qBAFS;IJknCjB;IIjnCM;MACE,qBAFS;IJqnCjB;EACF;EC1oCE;IGaM;MACE,wBAAA;IJgoCR;IIjoCM;MACE,wBAAA;IJmoCR;IIpoCM;MACE,wBAAA;IJsoCR;IIvoCM;MACE,wBAAA;IJyoCR;II1oCM;MACE,wBAAA;IJ4oCR;II7oCM;MACE,wBAAA;IJ+oCR;IIhpCM;MACE,wBAAA;IJkpCR;IInpCM;MACE,wBAAA;IJqpCR;IItpCM;MACE,wBAAA;IJwpCR;IIzpCM;MACE,yBAAA;IJ2pCR;II5pCM;MACE,yBAAA;IJ8pCR;II/pCM;MACE,yBAAA;IJiqCR;II1pCM;MACE,oBAFS;IJ8pCjB;II7pCM;MACE,oBAFS;IJiqCjB;IIhqCM;MACE,oBAFS;IJoqCjB;IInqCM;MACE,oBAFS;IJuqCjB;IItqCM;MACE,oBAFS;IJ0qCjB;IIzqCM;MACE,oBAFS;IJ6qCjB;II5qCM;MACE,oBAFS;IJgrCjB;II/qCM;MACE,oBAFS;IJmrCjB;IIlrCM;MACE,oBAFS;IJsrCjB;IIrrCM;MACE,qBAFS;IJyrCjB;IIxrCM;MACE,qBAFS;IJ4rCjB;EACF;ECjtCE;IGaM;MACE,wBAAA;IJusCR;IIxsCM;MACE,wBAAA;IJ0sCR;II3sCM;MACE,wBAAA;IJ6sCR;II9sCM;MACE,wBAAA;IJgtCR;IIjtCM;MACE,wBAAA;IJmtCR;IIptCM;MACE,wBAAA;IJstCR;IIvtCM;MACE,wBAAA;IJytCR;II1tCM;MACE,wBAAA;IJ4tCR;II7tCM;MACE,wBAAA;IJ+tCR;IIhuCM;MACE,yBAAA;IJkuCR;IInuCM;MACE,yBAAA;IJquCR;IItuCM;MACE,yBAAA;IJwuCR;IIjuCM;MACE,oBAFS;IJquCjB;IIpuCM;MACE,oBAFS;IJwuCjB;IIvuCM;MACE,oBAFS;IJ2uCjB;II1uCM;MACE,oBAFS;IJ8uCjB;II7uCM;MACE,oBAFS;IJivCjB;IIhvCM;MACE,oBAFS;IJovCjB;IInvCM;MACE,oBAFS;IJuvCjB;IItvCM;MACE,oBAFS;IJ0vCjB;IIzvCM;MACE,oBAFS;IJ6vCjB;II5vCM;MACE,qBAFS;IJgwCjB;II/vCM;MACE,qBAFS;IJmwCjB;EACF;ECxxCE;IGaM;MACE,wBAAA;IJ8wCR;II/wCM;MACE,wBAAA;IJixCR;IIlxCM;MACE,wBAAA;IJoxCR;IIrxCM;MACE,wBAAA;IJuxCR;IIxxCM;MACE,wBAAA;IJ0xCR;II3xCM;MACE,wBAAA;IJ6xCR;II9xCM;MACE,wBAAA;IJgyCR;IIjyCM;MACE,wBAAA;IJmyCR;IIpyCM;MACE,wBAAA;IJsyCR;IIvyCM;MACE,yBAAA;IJyyCR;II1yCM;MACE,yBAAA;IJ4yCR;II7yCM;MACE,yBAAA;IJ+yCR;IIxyCM;MACE,oBAFS;IJ4yCjB;II3yCM;MACE,oBAFS;IJ+yCjB;II9yCM;MACE,oBAFS;IJkzCjB;IIjzCM;MACE,oBAFS;IJqzCjB;IIpzCM;MACE,oBAFS;IJwzCjB;IIvzCM;MACE,oBAFS;IJ2zCjB;II1zCM;MACE,oBAFS;IJ8zCjB;II7zCM;MACE,oBAFS;IJi0CjB;IIh0CM;MACE,oBAFS;IJo0CjB;IIn0CM;MACE,qBAFS;IJu0CjB;IIt0CM;MACE,qBAFS;IJ00CjB;EACF;EG17CA;IACE,8BAAA;EH47CF;EGz7CA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EH07CF;AACF;AKl+CA;EC6LI;IAxHI,eA+CO;ENk3Cb;EMzyCE;IAxHI,qBA+CO;ENq3Cb;EM5yCE;IAxHI,cA+CO;ENw3Cb;EM/yCE;IAxHI,aA+CO;EN23Cb;EMlzCE;IAxHI,oBA+CO;EN83Cb;EMrzCE;IAxHI,cA+CO;ENi4Cb;EMxzCE;IAxHI,kBA+CO;ENo4Cb;EM3zCE;IAxHI,mBA+CO;ENu4Cb;EM9zCE;IAxHI,aA+CO;EN04Cb;EMj0CE;IAxHI,oBA+CO;EN64Cb;EMp0CE;IAxHI,iBA+CO;ENg5Cb;EMv0CE;IAxHI,kBA+CO;ENm5Cb;EM10CE;IAxHI,aA+CO;ENs5Cb;EM70CE;IAxHI,cA0CG;EN85CT;EMh1CE;IAxHI,mBA+CO;EN45Cb;EMn1CE;IAxHI,sBA+CO;EN+5Cb;EMt1CE;IAxHI,2BA+CO;ENk6Cb;EMz1CE;IAxHI,8BA+CO;ENq6Cb;EM51CE;IAxHI,YA0CG;EN66CT;EM/1CE;IAxHI,YA0CG;ENg7CT;EMl2CE;IAxHI,cA0CG;ENm7CT;EMr2CE;IAxHI,cA0CG;ENs7CT;EMx2CE;IAxHI,eA+CO;ENo7Cb;EM32CE;IAxHI,iBA+CO;ENu7Cb;EM92CE;IAxHI,uBA+CO;EN07Cb;EMj3CE;IAxHI,2BA0CG;ENk8CT;EMp3CE;IAxHI,yBA0CG;ENq8CT;EMv3CE;IAxHI,uBA0CG;ENw8CT;EM13CE;IAxHI,8BA0CG;EN28CT;EM73CE;IAxHI,6BA0CG;EN88CT;EMh4CE;IAxHI,6BA0CG;ENi9CT;EMn4CE;IAxHI,oBA0CG;ENo9CT;EMt4CE;IAxHI,kBA0CG;ENu9CT;EMz4CE;IAxHI,qBA0CG;EN09CT;EM54CE;IAxHI,sBA0CG;EN69CT;EM/4CE;IAxHI,uBA0CG;ENg+CT;EMl5CE;IAxHI,qBA0CG;ENm+CT;EMr5CE;IAxHI,mBA0CG;ENs+CT;EMx5CE;IAxHI,qBA0CG;ENy+CT;EM35CE;IAxHI,oBA0CG;EN4+CT;EM95CE;IAxHI,yBA0CG;EN++CT;EMj6CE;IAxHI,uBA0CG;ENk/CT;EMp6CE;IAxHI,qBA0CG;ENq/CT;EMv6CE;IAxHI,4BA0CG;ENw/CT;EM16CE;IAxHI,2BA0CG;EN2/CT;EM76CE;IAxHI,sBA0CG;EN8/CT;EMh7CE;IAxHI,gBA0CG;ENigDT;EMn7CE;IAxHI,sBA0CG;ENogDT;EMt7CE;IAxHI,oBA0CG;ENugDT;EMz7CE;IAxHI,kBA0CG;EN0gDT;EM57CE;IAxHI,oBA0CG;EN6gDT;EM/7CE;IAxHI,mBA0CG;ENghDT;EMl8CE;IAxHI,kBA0CG;ENmhDT;EMr8CE;IAxHI,gBA0CG;ENshDT;EMx8CE;IAxHI,mBA0CG;ENyhDT;EM38CE;IAxHI,oBA0CG;EN4hDT;EM98CE;IAxHI,qCA0CG;EN+hDT;EMj9CE;IAxHI,qCA0CG;ENkiDT;EMp9CE;IAxHI,qCA0CG;ENqiDT;EMv9CE;IAxHI,qCA0CG;ENwiDT;EM19CE;IAxHI,mBA0CG;EN2iDT;EM79CE;IAxHI,mBA+CO;ENyiDb;EMh+CE;IAxHI,sBA+CO;EN4iDb;EMn+CE;IAxHI,qBA+CO;EN+iDb;EMt+CE;IAxHI,SA0CG;ENujDT;EMz+CE;IAxHI,QA0CG;EN0jDT;EM5+CE;IAxHI,QA0CG;EN6jDT;EM/+CE;IAxHI,QA0CG;ENgkDT;EMl/CE;IAxHI,QA0CG;ENmkDT;EMr/CE;IAxHI,QA0CG;ENskDT;EMx/CE;IAxHI,QA0CG;ENykDT;EM3/CE;IAxHI,QA0CG;EN4kDT;EM9/CE;IAxHI,SA0CG;EN+kDT;EMjgDE;IAxHI,eA0CG;ENklDT;EMpgDE;IAxHI,cA0CG;ENqlDT;EMvgDE;IAxHI,YA0CG;ENwlDT;EM1gDE;IAxHI,cA0CG;EN2lDT;EM7gDE;IAxHI,YA0CG;EN8lDT;EMhhDE;IAxHI,YA0CG;ENimDT;EMnhDE;IAxHI,gBA0CG;ENomDT;EMthDE;IAxHI,sBA0CG;ENumDT;EMzhDE;IAxHI,qBA0CG;EN0mDT;EM5hDE;IAxHI,mBA0CG;EN6mDT;EM/hDE;IAxHI,qBA0CG;ENgnDT;EMliDE;IAxHI,mBA0CG;ENmnDT;EMriDE;IAxHI,mBA0CG;ENsnDT;EMxiDE;IAxHI,eA0CG;ENynDT;EM3iDE;IAxHI,qBA0CG;EN4nDT;EM9iDE;IAxHI,oBA0CG;EN+nDT;EMjjDE;IAxHI,kBA0CG;ENkoDT;EMpjDE;IAxHI,oBA0CG;ENqoDT;EMvjDE;IAxHI,kBA0CG;ENwoDT;EM1jDE;IAxHI,kBA0CG;EN2oDT;EM7jDE;IAxHI,qBA0CG;EN8oDT;EMhkDE;IAxHI,2BA0CG;ENipDT;EMnkDE;IAxHI,0BA0CG;ENopDT;EMtkDE;IAxHI,wBA0CG;ENupDT;EMzkDE;IAxHI,0BA0CG;EN0pDT;EM5kDE;IAxHI,wBA0CG;EN6pDT;EM/kDE;IAxHI,wBA0CG;ENgqDT;EMllDE;IAxHI,oBA0CG;ENmqDT;EMrlDE;IAxHI,0BA0CG;ENsqDT;EMxlDE;IAxHI,yBA0CG;ENyqDT;EM3lDE;IAxHI,uBA0CG;EN4qDT;EM9lDE;IAxHI,yBA0CG;EN+qDT;EMjmDE;IAxHI,uBA0CG;ENkrDT;EMpmDE;IAxHI,uBA0CG;ENqrDT;EMvmDE;IAxHI,mBA0CG;ENwrDT;EM1mDE;IAxHI,yBA0CG;EN2rDT;EM7mDE;IAxHI,wBA0CG;EN8rDT;EMhnDE;IAxHI,sBA0CG;ENisDT;EMnnDE;IAxHI,wBA0CG;ENosDT;EMtnDE;IAxHI,sBA0CG;ENusDT;EMznDE;IAxHI,sBA0CG;EN0sDT;EM5nDE;IAxHI,sBA0CG;EN6sDT;EM/nDE;IAxHI,4BA0CG;ENgtDT;EMloDE;IAxHI,2BA0CG;ENmtDT;EMroDE;IAxHI,yBA0CG;ENstDT;EMxoDE;IAxHI,2BA0CG;ENytDT;EM3oDE;IAxHI,yBA0CG;EN4tDT;EM9oDE;IAxHI,6BA0CG;EN+tDT;EMjpDE;IAxHI,4BA0CG;ENkuDT;EMppDE;IAxHI,yBA0CG;ENquDT;EMvpDE;IAxHI,UA0CG;ENwuDT;EM1pDE;IAxHI,gBA0CG;EN2uDT;EM7pDE;IAxHI,eA0CG;EN8uDT;EMhqDE;IAxHI,aA0CG;ENivDT;EMnqDE;IAxHI,eA0CG;ENovDT;EMtqDE;IAxHI,aA0CG;ENuvDT;EMzqDE;IAxHI,iBA0CG;EN0vDT;EM5qDE;IAxHI,uBA0CG;EN6vDT;EM/qDE;IAxHI,sBA0CG;ENgwDT;EMlrDE;IAxHI,oBA0CG;ENmwDT;EMrrDE;IAxHI,s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A;MAxHI,mBA0CG;IN4gEP;IM97DA;MAxHI,qBA0CG;IN+gEP;IMj8DA;MAxHI,oBA0CG;INkhEP;IMp8DA;MAxHI,yBA0CG;INqhEP;IMv8DA;MAxHI,uBA0CG;INwhEP;IM18DA;MAxHI,qBA0CG;IN2hEP;IM78DA;MAxHI,4BA0CG;IN8hEP;IMh9DA;MAxHI,2BA0CG;INiiEP;IMn9DA;MAxHI,sBA0CG;INoiEP;IMt9DA;MAxHI,gBA0CG;INuiEP;IMz9DA;MAxHI,sBA0CG;IN0iEP;IM59DA;MAxHI,oBA0CG;IN6iEP;IM/9DA;MAxHI,kBA0CG;INgjEP;IMl+DA;MAxHI,oBA0CG;INmjEP;IMr+DA;MAxHI,mBA0CG;INsjEP;IMx+DA;MAxHI,kBA0CG;INyjEP;IM3+DA;MAxHI,gBA0CG;IN4jEP;IM9+DA;MAxHI,mBA0CG;IN+jEP;IMj/DA;MAxHI,oBA0CG;INkkEP;IMp/DA;MAxHI,qCA0CG;INqkEP;IMv/DA;MAxHI,qCA0CG;INwkEP;IM1/DA;MAxHI,qCA0CG;IN2kEP;IM7/DA;MAxHI,qCA0CG;IN8kEP;IMhgEA;MAxHI,mBA0CG;INilEP;IMngEA;MAxHI,mBA+CO;IN+kEX;IMtgEA;MAxHI,sBA+CO;INklEX;IMzgEA;MAxHI,qBA+CO;INqlEX;IM5gEA;MAxHI,SA0CG;IN6lEP;IM/gEA;MAxHI,QA0CG;INgmEP;IMlhEA;MAxHI,QA0CG;INmmEP;IMrhEA;MAxHI,QA0CG;INsmEP;IMxhEA;MAxHI,QA0CG;INymEP;IM3hEA;MAxHI,QA0CG;IN4mEP;IM9hEA;MAxHI,QA0CG;IN+mEP;IMjiEA;MAxHI,QA0CG;INknEP;IMpiEA;MAxHI,SA0CG;INqnEP;IMviEA;MAxHI,eA0CG;INwnEP;IM1iEA;MAxHI,cA0CG;IN2nEP;IM7iEA;MAxHI,YA0CG;IN8nEP;IMhjEA;MAxHI,cA0CG;INioEP;IMnjEA;MAxHI,YA0CG;INooEP;IMtjEA;MAxHI,YA0CG;INuoEP;IMzjEA;MAxHI,gBA0CG;IN0oEP;IM5jEA;MAxHI,sBA0CG;IN6oEP;IM/jEA;MAxHI,qBA0CG;INgpEP;IMlkEA;MAxHI,mBA0CG;INmpEP;IMrkEA;MAxHI,qBA0CG;INspEP;IMxkEA;MAxHI,mBA0CG;INypEP;IM3kEA;MAxHI,mBA0CG;IN4pEP;IM9kEA;MAxHI,eA0CG;IN+pEP;IMjlEA;MAxHI,qBA0CG;INkqEP;IMplEA;MAxHI,oBA0CG;INqqEP;IMvlEA;MAxHI,kBA0CG;INwqEP;IM1lEA;MAxHI,oBA0CG;IN2qEP;IM7lEA;MAxHI,kBA0CG;IN8qEP;IMhmEA;MAxHI,kBA0CG;INirEP;IMnmEA;MAxHI,qBA0CG;INorEP;IMtmEA;MAxHI,2BA0CG;INurEP;IMzmEA;MAxHI,0BA0CG;IN0rEP;IM5mEA;MAxHI,wBA0CG;IN6rEP;IM/mEA;MAxHI,0BA0CG;INgsEP;IMlnEA;MAxHI,wBA0CG;INmsEP;IMrnEA;MAxHI,wBA0CG;INssEP;IMxnEA;MAxHI,oBA0CG;INysEP;IM3nEA;MAxHI,0BA0CG;IN4sEP;IM9nEA;MAxHI,yBA0CG;IN+sEP;IMjoEA;MAxHI,uBA0CG;INktEP;IMpoEA;MAxHI,yBA0CG;INqtEP;IMvoEA;MAxHI,uBA0CG;INwtEP;IM1oEA;MAxHI,uBA0CG;IN2tEP;IM7oEA;MAxHI,mBA0CG;IN8tEP;IMhpEA;MAxHI,yBA0CG;INiuEP;IMnpEA;MAxHI,wBA0CG;INouEP;IMtpEA;MAxHI,sBA0CG;INuuEP;IMzpEA;MAxHI,wBA0CG;IN0uEP;IM5pEA;MAxHI,sBA0CG;IN6uEP;IM/pEA;MAxHI,sBA0CG;INgvEP;IMlqEA;MAxHI,sBA0CG;INmvEP;IMrqEA;MAxHI,4BA0CG;INsvEP;IMxqEA;MAxHI,2BA0CG;INyvEP;IM3qEA;MAxHI,yBA0CG;IN4vEP;IM9qEA;MAxHI,2BA0CG;IN+vEP;IMjrEA;MAxHI,yBA0CG;INkwEP;IMprEA;MAxHI,6BA0CG;INqwEP;IMvrEA;MAxHI,4BA0CG;INwwEP;IM1rEA;MAxHI,yBA0CG;IN2wEP;IM7rEA;MAxHI,UA0CG;IN8wEP;IMhsEA;MAxHI,gBA0CG;INixEP;IMnsEA;MAxHI,eA0CG;INoxEP;IMtsEA;MAxHI,aA0CG;INuxEP;IMzsEA;MAxHI,eA0CG;IN0xEP;IM5sEA;MAxHI,aA0CG;IN6xEP;IM/sEA;MAxHI,iBA0CG;INgyEP;IMltEA;MAxHI,uBA0CG;INmyEP;IMrtEA;MAxHI,sBA0CG;INsyEP;IMxtEA;MAxHI,oBA0CG;INyyEP;IM3tEA;MAxHI,sBA0CG;IN4yEP;IM9tEA;MAxHI,oBA0CG;IN+yEP;IMjuEA;MAxHI,gBA0CG;INkzEP;IMpuEA;MAxHI,sBA0CG;INqzEP;IMvuEA;MAxHI,qBA0CG;INwzEP;IM1uEA;MAxHI,mBA0CG;IN2zEP;IM7uEA;MAxHI,qBA0CG;IN8zEP;IMhvEA;MAxHI,mBA0CG;INi0EP;IMnvEA;MAxHI,sBA0CG;INo0EP;IMtvEA;MAxHI,4BA0CG;INu0EP;IMzvEA;MAxHI,2BA0CG;IN00EP;IM5vEA;MAxHI,yBA0CG;IN60EP;IM/vEA;MAxHI,2BA0CG;INg1EP;IMlwEA;MAxHI,yBA0CG;INm1EP;IMrwEA;MAxHI,qBA0CG;INs1EP;IMxwEA;MAxHI,2BA0CG;INy1EP;IM3wEA;MAxHI,0BA0CG;IN41EP;IM9wEA;MAxHI,wBA0CG;IN+1EP;IMjxEA;MAxHI,0BA0CG;INk2EP;IMpxEA;MAxHI,wBA0CG;INq2EP;IMvxEA;MAxHI,oBA0CG;INw2EP;IM1xEA;MAxHI,0BA0CG;IN22EP;IM7xEA;MAxHI,yBA0CG;IN82EP;IMhyEA;MAxHI,uBA0CG;INi3EP;IMnyEA;MAxHI,yBA0CG;INo3EP;IMtyEA;MAxHI,uBA0CG;INu3EP;IMzyEA;MAxHI,uBA0CG;IN03EP;IM5yEA;MAxHI,6BA0CG;IN63EP;IM/yEA;MAxHI,4BA0CG;INg4EP;IMlzEA;MAxHI,0BA0CG;INm4EP;IMrzEA;MAxHI,4BA0CG;INs4EP;IMxzEA;MAxHI,0BA0CG;INy4EP;IM3zEA;MAxHI,MA0CG;IN44EP;IM9zEA;MAxHI,YA0CG;IN+4EP;IMj0EA;MAxHI,WA0CG;INk5EP;IMp0EA;MAxHI,SA0CG;INq5EP;IMv0EA;MAxHI,WA0CG;INw5EP;IM10EA;MAxHI,SA0CG;IN25EP;IM70EA;MAxHI,UA0CG;IN85EP;IMh1EA;MAxHI,gBA0CG;INi6EP;IMn1EA;MAxHI,eA0CG;INo6EP;IMt1EA;MAxHI,aA0CG;INu6EP;IMz1EA;MAxHI,eA0CG;IN06EP;IM51EA;MAxHI,aA0CG;IN66EP;IM/1EA;MAxHI,kBA0CG;MA1CH,aA0CG;INg7EP;IMl2EA;MAxHI,wBA0CG;MA1CH,mBA0CG;INm7EP;IMr2EA;MAxHI,uBA0CG;MA1CH,kBA0CG;INs7EP;IMx2EA;MAxHI,qBA0CG;MA1CH,gBA0CG;INy7EP;IM32EA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN47EP;IM92EA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN+7EP;EACF;ECv7EE;IKqEA;MAxHI,eA+CO;IN+7EX;IMt3EA;MAxHI,qBA+CO;INk8EX;IMz3EA;MAxHI,cA+CO;INq8EX;IM53EA;MAxHI,aA+CO;INw8EX;IM/3EA;MAxHI,oBA+CO;IN28EX;IMl4EA;MAxHI,cA+CO;IN88EX;IMr4EA;MAxHI,kBA+CO;INi9EX;IMx4EA;MAxHI,mBA+CO;INo9EX;IM34EA;MAxHI,aA+CO;INu9EX;IM94EA;MAxHI,oBA+CO;IN09EX;IMj5EA;MAxHI,iBA+CO;IN69EX;IMp5EA;MAxHI,kBA+CO;INg+EX;IMv5EA;MAxHI,aA+CO;INm+EX;IM15EA;MAxHI,cA0CG;IN2+EP;IM75EA;MAxHI,mBA+CO;INy+EX;IMh6EA;MAxHI,sBA+CO;IN4+EX;IMn6EA;MAxHI,2BA+CO;IN++EX;IMt6EA;MAxHI,8BA+CO;INk/EX;IMz6EA;MAxHI,YA0CG;IN0/EP;IM56EA;MAxHI,YA0CG;IN6/EP;IM/6EA;MAxHI,cA0CG;INggFP;IMl7EA;MAxHI,cA0CG;INmgFP;IMr7EA;MAxHI,eA+CO;INigFX;IMx7EA;MAxHI,iBA+CO;INogFX;IM37EA;MAxHI,uBA+CO;INugFX;IM97EA;MAxHI,2BA0CG;IN+gFP;IMj8EA;MAxHI,yBA0CG;INkhFP;IMp8EA;MAxHI,uBA0CG;INqhFP;IMv8EA;MAxHI,8BA0CG;INwhFP;IM18EA;MAxHI,6BA0CG;IN2hFP;IM78EA;MAxHI,6BA0CG;IN8hFP;IMh9EA;MAxHI,oBA0CG;INiiFP;IMn9EA;MAxHI,kBA0CG;INoiFP;IMt9EA;MAxHI,qBA0CG;INuiFP;IMz9EA;MAxHI,sBA0CG;IN0iFP;IM59EA;MAxHI,uBA0CG;IN6iFP;IM/9EA;MAxHI,qBA0CG;INgjFP;IMl+EA;MAxHI,mBA0CG;INmjFP;IMr+EA;MAxHI,qBA0CG;INsjFP;IMx+EA;MAxHI,oBA0CG;INyjFP;IM3+EA;MAxHI,yBA0CG;IN4jFP;IM9+EA;MAxHI,uBA0CG;IN+jFP;IMj/EA;MAxHI,qBA0CG;INkkFP;IMp/EA;MAxHI,4BA0CG;INqkFP;IMv/EA;MAxHI,2BA0CG;INwkFP;IM1/EA;MAxHI,sBA0CG;IN2kFP;IM7/EA;MAxHI,gBA0CG;IN8kFP;IMhgFA;MAxHI,sBA0CG;INilFP;IMngFA;MAxHI,oBA0CG;INolFP;IMtgFA;MAxHI,kBA0CG;INulFP;IMzgFA;MAxHI,oBA0CG;IN0lFP;IM5gFA;MAxHI,mBA0CG;IN6lFP;IM/gFA;MAxHI,kBA0CG;INgmFP;IMlhFA;MAxHI,gBA0CG;INmmFP;IMrhFA;MAxHI,mBA0CG;INsmFP;IMxhFA;MAxHI,oBA0CG;INymFP;IM3hFA;MAxHI,qCA0CG;IN4mFP;IM9hFA;MAxHI,qCA0CG;IN+mFP;IMjiFA;MAxHI,qCA0CG;INknFP;IMpiFA;MAxHI,qCA0CG;INqnFP;IMviFA;MAxHI,mBA0CG;INwnFP;IM1iFA;MAxHI,mBA+CO;INsnFX;IM7iFA;MAxHI,sBA+CO;INynFX;IMhjFA;MAxHI,qBA+CO;IN4nFX;IMnjFA;MAxHI,SA0CG;INooFP;IMtjFA;MAxHI,QA0CG;INuoFP;IMzjFA;MAxHI,QA0CG;IN0oFP;IM5jFA;MAxHI,QA0CG;IN6oFP;IM/jFA;MAxHI,QA0CG;INgpFP;IMlkFA;MAxHI,QA0CG;INmpFP;IMrkFA;MAxHI,QA0CG;INspFP;IMxkFA;MAxHI,QA0CG;INypFP;IM3kFA;MAxHI,SA0CG;IN4pFP;IM9kFA;MAxHI,eA0CG;IN+pFP;IMjlFA;MAxHI,cA0CG;INkqFP;IMplFA;MAxHI,YA0CG;INqqFP;IMvlFA;MAxHI,cA0CG;INwqFP;IM1lFA;MAxHI,YA0CG;IN2qFP;IM7lFA;MAxHI,YA0CG;IN8qFP;IMhmFA;MAxHI,gBA0CG;INirFP;IMnmFA;MAxHI,sBA0CG;INorFP;IMtmFA;MAxHI,qBA0CG;INurFP;IMzmFA;MAxHI,mBA0CG;IN0rFP;IM5mFA;MAxHI,qBA0CG;IN6rFP;IM/mFA;MAxHI,mBA0CG;INgsFP;IMlnFA;MAxHI,mBA0CG;INmsFP;IMrnFA;MAxHI,eA0CG;INssFP;IMxnFA;MAxHI,qBA0CG;INysFP;IM3nFA;MAxHI,oBA0CG;IN4sFP;IM9nFA;MAxHI,kBA0CG;IN+sFP;IMjoFA;MAxHI,oBA0CG;INktFP;IMpoFA;MAxHI,kBA0CG;INqtFP;IMvoFA;MAxHI,kBA0CG;INwtFP;IM1oFA;MAxHI,qBA0CG;IN2tFP;IM7oFA;MAxHI,2BA0CG;IN8tFP;IMhpFA;MAxHI,0BA0CG;INiuFP;IMnpFA;MAxHI,wBA0CG;INouFP;IMtpFA;MAxHI,0BA0CG;INuuFP;IMzpFA;MAxHI,wBA0CG;IN0uFP;IM5pFA;MAxHI,wBA0CG;IN6uFP;IM/pFA;MAxHI,oBA0CG;INgvFP;IMlqFA;MAxHI,0BA0CG;INmvFP;IMrqFA;MAxHI,yBA0CG;INsvFP;IMxqFA;MAxHI,uBA0CG;INyvFP;IM3qFA;MAxHI,yBA0CG;IN4vFP;IM9qFA;MAxHI,uBA0CG;IN+vFP;IMjrFA;MAxHI,uBA0CG;INkwFP;IMprFA;MAxHI,mBA0CG;INqwFP;IMvrFA;MAxHI,yBA0CG;INwwFP;IM1rFA;MAxHI,wBA0CG;IN2wFP;IM7rFA;MAxHI,sBA0CG;IN8wFP;IMhsFA;MAxHI,wBA0CG;INixFP;IMnsFA;MAxHI,sBA0CG;INoxFP;IMtsFA;MAxHI,sBA0CG;INuxFP;IMzsFA;MAxHI,sBA0CG;IN0xFP;IM5sFA;MAxHI,4BA0CG;IN6xFP;IM/sFA;MAxHI,2BA0CG;INgyFP;IMltFA;MAxHI,yBA0CG;INmyFP;IMrtFA;MAxHI,2BA0CG;INsyFP;IMxtFA;MAxHI,yBA0CG;INyyFP;IM3tFA;MAxHI,6BA0CG;IN4yFP;IM9tFA;MAxHI,4BA0CG;IN+yFP;IMjuFA;MAxHI,yBA0CG;INkzFP;IMpuFA;MAxHI,UA0CG;INqzFP;IMvuFA;MAxHI,gBA0CG;INwzFP;IM1uFA;MAxHI,eA0CG;IN2zFP;IM7uFA;MAxHI,aA0CG;IN8zFP;IMhvFA;MAxHI,eA0CG;INi0FP;IMnvFA;MAxHI,aA0CG;INo0FP;IMtvFA;MAxHI,iBA0CG;INu0FP;IMzvFA;MAxHI,uBA0CG;IN00FP;IM5vFA;MAxHI,sBA0CG;IN60FP;IM/vFA;MAxHI,oBA0CG;INg1FP;IMlwFA;MAxHI,sBA0CG;INm1FP;IMrwFA;MAxHI,oBA0CG;INs1FP;IMxwFA;MAxHI,gBA0CG;INy1FP;IM3wFA;MAxHI,sBA0CG;IN41FP;IM9wFA;MAxHI,qBA0CG;IN+1FP;IMjxFA;MAxHI,mBA0CG;INk2FP;IMpxFA;MAxHI,qBA0CG;INq2FP;IMvxFA;MAxHI,mBA0CG;INw2FP;IM1xFA;MAxHI,sBA0CG;IN22FP;IM7xFA;MAxHI,4BA0CG;IN82FP;IMhyFA;MAxHI,2BA0CG;INi3FP;IMnyFA;MAxHI,yBA0CG;INo3FP;IMtyFA;MAxHI,2BA0CG;INu3FP;IMzyFA;MAxHI,yBA0CG;IN03FP;IM5yFA;MAxHI,qBA0CG;IN63FP;IM/yFA;MAxHI,2BA0CG;INg4FP;IMlzFA;MAxHI,0BA0CG;INm4FP;IMrzFA;MAxHI,wBA0CG;INs4FP;IMxzFA;MAxHI,0BA0CG;INy4FP;IM3zFA;MAxHI,wBA0CG;IN44FP;IM9zFA;MAxHI,oBA0CG;IN+4FP;IMj0FA;MAxHI,0BA0CG;INk5FP;IMp0FA;MAxHI,yBA0CG;INq5FP;IMv0FA;MAxHI,uBA0CG;INw5FP;IM10FA;MAxHI,yBA0CG;IN25FP;IM70FA;MAxHI,uBA0CG;IN85FP;IMh1FA;MAxHI,uBA0CG;INi6FP;IMn1FA;MAxHI,6BA0CG;INo6FP;IMt1FA;MAxHI,4BA0CG;INu6FP;IMz1FA;MAxHI,0BA0CG;IN06FP;IM51FA;MAxHI,4BA0CG;IN66FP;IM/1FA;MAxHI,0BA0CG;INg7FP;IMl2FA;MAxHI,MA0CG;INm7FP;IMr2FA;MAxHI,YA0CG;INs7FP;IMx2FA;MAxHI,WA0CG;INy7FP;IM32FA;MAxHI,SA0CG;IN47FP;IM92FA;MAxHI,WA0CG;IN+7FP;IMj3FA;MAxHI,SA0CG;INk8FP;IMp3FA;MAxHI,UA0CG;INq8FP;IMv3FA;MAxHI,gBA0CG;INw8FP;IM13FA;MAxHI,eA0CG;IN28FP;IM73FA;MAxHI,aA0CG;IN88FP;IMh4FA;MAxHI,eA0CG;INi9FP;IMn4FA;MAxHI,aA0CG;INo9FP;IMt4FA;MAxHI,kBA0CG;MA1CH,aA0CG;INu9FP;IMz4FA;MAxHI,wBA0CG;MA1CH,mBA0CG;IN09FP;IM54FA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN69FP;IM/4FA;MAxHI,qBA0CG;MA1CH,gBA0CG;INg+FP;IMl5FA;MAxHI,uBA0CG;MA1CH,kBA0CG;INm+FP;IMr5FA;MAxHI,qBA0CG;MA1CH,gBA0CG;INs+FP;EACF;EC99FE;IKqEA;MAxHI,eA+CO;INs+FX;IM75FA;MAxHI,qBA+CO;INy+FX;IMh6FA;MAxHI,cA+CO;IN4+FX;IMn6FA;MAxHI,aA+CO;IN++FX;IMt6FA;MAxHI,oBA+CO;INk/FX;IMz6FA;MAxHI,cA+CO;INq/FX;IM56FA;MAxHI,kBA+CO;INw/FX;IM/6FA;MAxHI,mBA+CO;IN2/FX;IMl7FA;MAxHI,aA+CO;IN8/FX;IMr7FA;MAxHI,oBA+CO;INigGX;IMx7FA;MAxHI,iBA+CO;INogGX;IM37FA;MAxHI,kBA+CO;INugGX;IM97FA;MAxHI,aA+CO;IN0gGX;IMj8FA;MAxHI,cA0CG;INkhGP;IMp8FA;MAxHI,mBA+CO;INghGX;IMv8FA;MAxHI,sBA+CO;INmhGX;IM18FA;MAxHI,2BA+CO;INshGX;IM78FA;MAxHI,8BA+CO;INyhGX;IMh9FA;MAxHI,YA0CG;INiiGP;IMn9FA;MAxHI,YA0CG;INoiGP;IMt9FA;MAxHI,cA0CG;INuiGP;IMz9FA;MAxHI,cA0CG;IN0iGP;IM59FA;MAxHI,eA+CO;INwiGX;IM/9FA;MAxHI,iBA+CO;IN2iGX;IMl+FA;MAxHI,uBA+CO;IN8iGX;IMr+FA;MAxHI,2BA0CG;INsjGP;IMx+FA;MAxHI,yBA0CG;INyjGP;IM3+FA;MAxHI,uBA0CG;IN4jGP;IM9+FA;MAxHI,8BA0CG;IN+jGP;IMj/FA;MAxHI,6BA0CG;INkkGP;IMp/FA;MAxHI,6BA0CG;INqkGP;IMv/FA;MAxHI,oBA0CG;INwkGP;IM1/FA;MAxHI,kBA0CG;IN2kGP;IM7/FA;MAxHI,qBA0CG;IN8kGP;IMhgGA;MAxHI,sBA0CG;INilGP;IMngGA;MAxHI,uBA0CG;INolGP;IMtgGA;MAxHI,qBA0CG;INulGP;IMzgGA;MAxHI,mBA0CG;IN0lGP;IM5gGA;MAxHI,qBA0CG;IN6lGP;IM/gGA;MAxHI,oBA0CG;INgmGP;IMlhGA;MAxHI,yBA0CG;INmmGP;IMrhGA;MAxHI,uBA0CG;INsmGP;IMxhGA;MAxHI,qBA0CG;INymGP;IM3hGA;MAxHI,4BA0CG;IN4mGP;IM9hGA;MAxHI,2BA0CG;IN+mGP;IMjiGA;MAxHI,sBA0CG;INknGP;IMpiGA;MAxHI,gBA0CG;INqnGP;IMviGA;MAxHI,sBA0CG;INwnGP;IM1iGA;MAxHI,oBA0CG;IN2nGP;IM7iGA;MAxHI,kBA0CG;IN8nGP;IMhjGA;MAxHI,oBA0CG;INioGP;IMnjGA;MAxHI,mBA0CG;INooGP;IMtjGA;MAxHI,kBA0CG;INuoGP;IMzjGA;MAxHI,gBA0CG;IN0oGP;IM5jGA;MAxHI,mBA0CG;IN6oGP;IM/jGA;MAxHI,oBA0CG;INgpGP;IMlkGA;MAxHI,qCA0CG;INmpGP;IMrkGA;MAxHI,qCA0CG;INspGP;IMxkGA;MAxHI,qCA0CG;INypGP;IM3kGA;MAxHI,qCA0CG;IN4pGP;IM9kGA;MAxHI,mBA0CG;IN+pGP;IMjlGA;MAxHI,mBA+CO;IN6pGX;IMplGA;MAxHI,sBA+CO;INgqGX;IMvlGA;MAxHI,qBA+CO;INmqGX;IM1lGA;MAxHI,SA0CG;IN2qGP;IM7lGA;MAxHI,QA0CG;IN8qGP;IMhmGA;MAxHI,QA0CG;INirGP;IMnmGA;MAxHI,QA0CG;INorGP;IMtmGA;MAxHI,QA0CG;INurGP;IMzmGA;MAxHI,QA0CG;IN0rGP;IM5mGA;MAxHI,QA0CG;IN6rGP;IM/mGA;MAxHI,QA0CG;INgsGP;IMlnGA;MAxHI,SA0CG;INmsGP;IMrnGA;MAxHI,eA0CG;INssGP;IMxnGA;MAxHI,cA0CG;INysGP;IM3nGA;MAxHI,YA0CG;IN4sGP;IM9nGA;MAxHI,cA0CG;IN+sGP;IMjoGA;MAxHI,YA0CG;INktGP;IMpoGA;MAxHI,YA0CG;INqtGP;IMvoGA;MAxHI,gBA0CG;INwtGP;IM1oGA;MAxHI,sBA0CG;IN2tGP;IM7oGA;MAxHI,qBA0CG;IN8tGP;IMhpGA;MAxHI,mBA0CG;INiuGP;IMnpGA;MAxHI,qBA0CG;INouGP;IMtpGA;MAxHI,mBA0CG;INuuGP;IMzpGA;MAxHI,mBA0CG;IN0uGP;IM5pGA;MAxHI,eA0CG;IN6uGP;IM/pGA;MAxHI,qBA0CG;INgvGP;IMlqGA;MAxHI,oBA0CG;INmvGP;IMrqGA;MAxHI,kBA0CG;INsvGP;IMxqGA;MAxHI,oBA0CG;INyvGP;IM3qGA;MAxHI,kBA0CG;IN4vGP;IM9qGA;MAxHI,kBA0CG;IN+vGP;IMjrGA;MAxHI,qBA0CG;INkwGP;IMprGA;MAxHI,2BA0CG;INqwGP;IMvrGA;MAxHI,0BA0CG;INwwGP;IM1rGA;MAxHI,wBA0CG;IN2wGP;IM7rGA;MAxHI,0BA0CG;IN8wGP;IMhsGA;MAxHI,wBA0CG;INixGP;IMnsGA;MAxHI,wBA0CG;INoxGP;IMtsGA;MAxHI,oBA0CG;INuxGP;IMzsGA;MAxHI,0BA0CG;IN0xGP;IM5sGA;MAxHI,yBA0CG;IN6xGP;IM/sGA;MAxHI,uBA0CG;INgyGP;IMltGA;MAxHI,yBA0CG;INmyGP;IMrtGA;MAxHI,uBA0CG;INsyGP;IMxtGA;MAxHI,uBA0CG;INyyGP;IM3tGA;MAxHI,mBA0CG;IN4yGP;IM9tGA;MAxHI,yBA0CG;IN+yGP;IMjuGA;MAxHI,wBA0CG;INkzGP;IMpuGA;MAxHI,sBA0CG;INqzGP;IMvuGA;MAxHI,wBA0CG;INwzGP;IM1uGA;MAxHI,sBA0CG;IN2zGP;IM7uGA;MAxHI,sBA0CG;IN8zGP;IMhvGA;MAxHI,sBA0CG;INi0GP;IMnvGA;MAxHI,4BA0CG;INo0GP;IMtvGA;MAxHI,2BA0CG;INu0GP;IMzvGA;MAxHI,yBA0CG;IN00GP;IM5vGA;MAxHI,2BA0CG;IN60GP;IM/vGA;MAxHI,yBA0CG;INg1GP;IMlwGA;MAxHI,6BA0CG;INm1GP;IMrwGA;MAxHI,4BA0CG;INs1GP;IMxwGA;MAxHI,yBA0CG;INy1GP;IM3wGA;MAxHI,UA0CG;IN41GP;IM9wGA;MAxHI,gBA0CG;IN+1GP;IMjxGA;MAxHI,eA0CG;INk2GP;IMpxGA;MAxHI,aA0CG;INq2GP;IMvxGA;MAxHI,eA0CG;INw2GP;IM1xGA;MAxHI,aA0CG;IN22GP;IM7xGA;MAxHI,iBA0CG;IN82GP;IMhyGA;MAxHI,uBA0CG;INi3GP;IMnyGA;MAxHI,sBA0CG;INo3GP;IMtyGA;MAxHI,oBA0CG;INu3GP;IMzyGA;MAxHI,sBA0CG;IN03GP;IM5yGA;MAxHI,oBA0CG;IN63GP;IM/yGA;MAxHI,gBA0CG;INg4GP;IMlzGA;MAxHI,sBA0CG;INm4GP;IMrzGA;MAxHI,qBA0CG;INs4GP;IMxzGA;MAxHI,mBA0CG;INy4GP;IM3zGA;MAxHI,qBA0CG;IN44GP;IM9zGA;MAxHI,mBA0CG;IN+4GP;IMj0GA;MAxHI,sBA0CG;INk5GP;IMp0GA;MAxHI,4BA0CG;INq5GP;IMv0GA;MAxHI,2BA0CG;INw5GP;IM10GA;MAxHI,yBA0CG;IN25GP;IM70GA;MAxHI,2BA0CG;IN85GP;IMh1GA;MAxHI,yBA0CG;INi6GP;IMn1GA;MAxHI,qBA0CG;INo6GP;IMt1GA;MAxHI,2BA0CG;INu6GP;IMz1GA;MAxHI,0BA0CG;IN06GP;IM51GA;MAxHI,wBA0CG;IN66GP;IM/1GA;MAxHI,0BA0CG;INg7GP;IMl2GA;MAxHI,wBA0CG;INm7GP;IMr2GA;MAxHI,oBA0CG;INs7GP;IMx2GA;MAxHI,0BA0CG;INy7GP;IM32GA;MAxHI,yBA0CG;IN47GP;IM92GA;MAxHI,uBA0CG;IN+7GP;IMj3GA;MAxHI,yBA0CG;INk8GP;IMp3GA;MAxHI,uBA0CG;INq8GP;IMv3GA;MAxHI,uBA0CG;INw8GP;IM13GA;MAxHI,6BA0CG;IN28GP;IM73GA;MAxHI,4BA0CG;IN88GP;IMh4GA;MAxHI,0BA0CG;INi9GP;IMn4GA;MAxHI,4BA0CG;INo9GP;IMt4GA;MAxHI,0BA0CG;INu9GP;IMz4GA;MAxHI,MA0CG;IN09GP;IM54GA;MAxHI,YA0CG;IN69GP;IM/4GA;MAxHI,WA0CG;INg+GP;IMl5GA;MAxHI,SA0CG;INm+GP;IMr5GA;MAxHI,WA0CG;INs+GP;IMx5GA;MAxHI,SA0CG;INy+GP;IM35GA;MAxHI,UA0CG;IN4+GP;IM95GA;MAxHI,gBA0CG;IN++GP;IMj6GA;MAxHI,eA0CG;INk/GP;IMp6GA;MAxHI,aA0CG;INq/GP;IMv6GA;MAxHI,eA0CG;INw/GP;IM16GA;MAxHI,aA0CG;IN2/GP;IM76GA;MAxHI,kBA0CG;MA1CH,aA0CG;IN8/GP;IMh7GA;MAxHI,wBA0CG;MA1CH,mBA0CG;INigHP;IMn7GA;MAxHI,uBA0CG;MA1CH,kBA0CG;INogHP;IMt7GA;MAxHI,qBA0CG;MA1CH,gBA0CG;INugHP;IMz7GA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN0gHP;IM57GA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN6gHP;EACF;ECrgHE;IKqEA;MAxHI,eA+CO;IN6gHX;IMp8GA;MAxHI,qBA+CO;INghHX;IMv8GA;MAxHI,cA+CO;INmhHX;IM18GA;MAxHI,aA+CO;INshHX;IM78GA;MAxHI,oBA+CO;INyhHX;IMh9GA;MAxHI,cA+CO;IN4hHX;IMn9GA;MAxHI,kBA+CO;IN+hHX;IMt9GA;MAxHI,mBA+CO;INkiHX;IMz9GA;MAxHI,aA+CO;INqiHX;IM59GA;MAxHI,oBA+CO;INwiHX;IM/9GA;MAxHI,iBA+CO;IN2iHX;IMl+GA;MAxHI,kBA+CO;IN8iHX;IMr+GA;MAxHI,aA+CO;INijHX;IMx+GA;MAxHI,cA0CG;INyjHP;IM3+GA;MAxHI,mBA+CO;INujHX;IM9+GA;MAxHI,sBA+CO;IN0jHX;IMj/GA;MAxHI,2BA+CO;IN6jHX;IMp/GA;MAxHI,8BA+CO;INgkHX;IMv/GA;MAxHI,YA0CG;INwkHP;IM1/GA;MAxHI,YA0CG;IN2kHP;IM7/GA;MAxHI,cA0CG;IN8kHP;IMhgHA;MAxHI,cA0CG;INilHP;IMngHA;MAxHI,eA+CO;IN+kHX;IMtgHA;MAxHI,iBA+CO;INklHX;IMzgHA;MAxHI,uBA+CO;INqlHX;IM5gHA;MAxHI,2BA0CG;IN6lHP;IM/gHA;MAxHI,yBA0CG;INgmHP;IMlhHA;MAxHI,uBA0CG;INmmHP;IMrhHA;MAxHI,8BA0CG;INsmHP;IMxhHA;MAxHI,6BA0CG;INymHP;IM3hHA;MAxHI,6BA0CG;IN4mHP;IM9hHA;MAxHI,oBA0CG;IN+mHP;IMjiHA;MAxHI,kBA0CG;INknHP;IMpiHA;MAxHI,qBA0CG;INqnHP;IMviHA;MAxHI,sBA0CG;INwnHP;IM1iHA;MAxHI,uBA0CG;IN2nHP;IM7iHA;MAxHI,qBA0CG;IN8nHP;IMhjHA;MAxHI,mBA0CG;INioHP;IMnjHA;MAxHI,qBA0CG;INooHP;IMtjHA;MAxHI,oBA0CG;INuoHP;IMzjHA;MAxHI,yBA0CG;IN0oHP;IM5jHA;MAxHI,uBA0CG;IN6oHP;IM/jHA;MAxHI,qBA0CG;INgpHP;IMlkHA;MAxHI,4BA0CG;INmpHP;IMrkHA;MAxHI,2BA0CG;INspHP;IMxkHA;MAxHI,sBA0CG;INypHP;IM3kHA;MAxHI,gBA0CG;IN4pHP;IM9kHA;MAxHI,sBA0CG;IN+pHP;IMjlHA;MAxHI,oBA0CG;INkqHP;IMplHA;MAxHI,kBA0CG;INqqHP;IMvlHA;MAxHI,oBA0CG;INwqHP;IM1lHA;MAxHI,mBA0CG;IN2qHP;IM7lHA;MAxHI,kBA0CG;IN8qHP;IMhmHA;MAxHI,gBA0CG;INirHP;IMnmHA;MAxHI,mBA0CG;INorHP;IMtmHA;MAxHI,oBA0CG;INurHP;IMzmHA;MAxHI,qCA0CG;IN0rHP;IM5mHA;MAxHI,qCA0CG;IN6rHP;IM/mHA;MAxHI,qCA0CG;INgsHP;IMlnHA;MAxHI,qCA0CG;INmsHP;IMrnHA;MAxHI,mBA0CG;INssHP;IMxnHA;MAxHI,mBA+CO;INosHX;IM3nHA;MAxHI,sBA+CO;INusHX;IM9nHA;MAxHI,qBA+CO;IN0sHX;IMjoHA;MAxHI,SA0CG;INktHP;IMpoHA;MAxHI,QA0CG;INqtHP;IMvoHA;MAxHI,QA0CG;INwtHP;IM1oHA;MAxHI,QA0CG;IN2tHP;IM7oHA;MAxHI,QA0CG;IN8tHP;IMhpHA;MAxHI,QA0CG;INiuHP;IMnpHA;MAxHI,QA0CG;INouHP;IMtpHA;MAxHI,QA0CG;INuuHP;IMzpHA;MAxHI,SA0CG;IN0uHP;IM5pHA;MAxHI,eA0CG;IN6uHP;IM/pHA;MAxHI,cA0CG;INgvHP;IMlqHA;MAxHI,YA0CG;INmvHP;IMrqHA;MAxHI,cA0CG;INsvHP;IMxqHA;MAxHI,YA0CG;INyvHP;IM3qHA;MAxHI,YA0CG;IN4vHP;IM9qHA;MAxHI,gBA0CG;IN+vHP;IMjrHA;MAxHI,sBA0CG;INkwHP;IMprHA;MAxHI,qBA0CG;INqwHP;IMvrHA;MAxHI,mBA0CG;INwwHP;IM1rHA;MAxHI,qBA0CG;IN2wHP;IM7rHA;MAxHI,mBA0CG;IN8wHP;IMhsHA;MAxHI,mBA0CG;INixHP;IMnsHA;MAxHI,eA0CG;INoxHP;IMtsHA;MAxHI,qBA0CG;INuxHP;IMzsHA;MAxHI,oBA0CG;IN0xHP;IM5sHA;MAxHI,kBA0CG;IN6xHP;IM/sHA;MAxHI,oBA0CG;INgyHP;IMltHA;MAxHI,kBA0CG;INmyHP;IMrtHA;MAxHI,kBA0CG;INsyHP;IMxtHA;MAxHI,qBA0CG;INyyHP;IM3tHA;MAxHI,2BA0CG;IN4yHP;IM9tHA;MAxHI,0BA0CG;IN+yHP;IMjuHA;MAxHI,wBA0CG;INkzHP;IMpuHA;MAxHI,0BA0CG;INqzHP;IMvuHA;MAxHI,wBA0CG;INwzHP;IM1uHA;MAxHI,wBA0CG;IN2zHP;IM7uHA;MAxHI,oBA0CG;IN8zHP;IMhvHA;MAxHI,0BA0CG;INi0HP;IMnvHA;MAxHI,yBA0CG;INo0HP;IMtvHA;MAxHI,uBA0CG;INu0HP;IMzvHA;MAxHI,yBA0CG;IN00HP;IM5vHA;MAxHI,uBA0CG;IN60HP;IM/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BA+CO;IN+kIX;IMtgIA;MAxHI,iBA+CO;INklIX;IMzgIA;MAxHI,kBA+CO;INqlIX;IM5gIA;MAxHI,aA+CO;INwlIX;IM/gIA;MAxHI,cA0CG;INgmIP;IMlhIA;MAxHI,mBA+CO;IN8lIX;IMrhIA;MAxHI,sBA+CO;INimIX;IMxhIA;MAxHI,2BA+CO;INomIX;IM3hIA;MAxHI,8BA+CO;INumIX;IM9hIA;MAxHI,YA0CG;IN+mIP;IMjiIA;MAxHI,YA0CG;INknIP;IMpiIA;MAxHI,cA0CG;INqnIP;IMviIA;MAxHI,cA0CG;INwnIP;IM1iIA;MAxHI,eA+CO;INsnIX;IM7iIA;MAxHI,iBA+CO;INynIX;IMhjIA;MAxHI,uBA+CO;IN4nIX;IMnjIA;MAxHI,2BA0CG;INooIP;IMtjIA;MAxHI,yBA0CG;INuoIP;IMzjIA;MAxHI,uBA0CG;IN0oIP;IM5jIA;MAxHI,8BA0CG;IN6oIP;IM/jIA;MAxHI,6BA0CG;INgpIP;IMlkIA;MAxHI,6BA0CG;INmpIP;IMrkIA;MAxHI,oBA0CG;INspIP;IMxkIA;MAxHI,kBA0CG;INypIP;IM3kIA;MAxHI,qBA0CG;IN4pIP;IM9kIA;MAxHI,sBA0CG;IN+pIP;IMjlIA;MAxHI,uBA0CG;INkqIP;IMplIA;MAxHI,qBA0CG;INqqIP;IMvlIA;MAxHI,mBA0CG;INwqIP;IM1lIA;MAxHI,qBA0CG;IN2qIP;IM7lIA;MAxHI,oBA0CG;IN8qIP;IMhmIA;MAxHI,yBA0CG;INirIP;IMnmIA;MAxHI,uBA0CG;INorIP;IMtmIA;MAxHI,qBA0CG;INurIP;IMzmIA;MAxHI,4BA0CG;IN0rIP;IM5mIA;MAxHI,2BA0CG;IN6rIP;IM/mIA;MAxHI,sBA0CG;INgsIP;IMlnIA;MAxHI,gBA0CG;INmsIP;IMrnIA;MAxHI,sBA0CG;INssIP;IMxnIA;MAxHI,oBA0CG;INysIP;IM3nIA;MAxHI,kBA0CG;IN4sIP;IM9nIA;MAxHI,oBA0CG;IN+sIP;IMjoIA;MAxHI,mBA0CG;INktIP;IMpoIA;MAxHI,kBA0CG;INqtIP;IMvoIA;MAxHI,gBA0CG;INwtIP;IM1oIA;MAxHI,mBA0CG;IN2tIP;IM7oIA;MAxHI,oBA0CG;IN8tIP;IMhpIA;MAxHI,qCA0CG;INiuIP;IMnpIA;MAxHI,qCA0CG;INouIP;IMtpIA;MAxHI,qCA0CG;INuuIP;IMzpIA;MAxHI,qCA0CG;IN0uIP;IM5pIA;MAxHI,mBA0CG;IN6uIP;IM/pIA;MAxHI,mBA+CO;IN2uIX;IMlqIA;MAxHI,sBA+CO;IN8uIX;IMrqIA;MAxHI,qBA+CO;INivIX;IMxqIA;MAxHI,SA0CG;INyvIP;IM3qIA;MAxHI,QA0CG;IN4vIP;IM9qIA;MAxHI,QA0CG;IN+vIP;IMjrIA;MAxHI,QA0CG;INkwIP;IMprIA;MAxHI,QA0CG;INqwIP;IMvrIA;MAxHI,QA0CG;INwwIP;IM1rIA;MAxHI,QA0CG;IN2wIP;IM7rIA;MAxHI,QA0CG;IN8wIP;IMhsIA;MAxHI,SA0CG;INixIP;IMnsIA;MAxHI,eA0CG;INoxIP;IMtsIA;MAxHI,cA0CG;INuxIP;IMzsIA;MAxHI,YA0CG;IN0xIP;IM5sIA;MAxHI,cA0CG;IN6xIP;IM/sIA;MAxHI,YA0CG;INgyIP;IMltIA;MAxHI,YA0CG;INmyIP;IMrtIA;MAxHI,gBA0CG;INsyIP;IMxtIA;MAxHI,sBA0CG;INyyIP;IM3tIA;MAxHI,qBA0CG;IN4yIP;IM9tIA;MAxHI,mBA0CG;IN+yIP;IMjuIA;MAxHI,qBA0CG;INkzIP;IMpuIA;MAxHI,mBA0CG;INqzIP;IMvuIA;MAxHI,mBA0CG;INwzIP;IM1uIA;MAxHI,eA0CG;IN2zIP;IM7uIA;MAxHI,qBA0CG;IN8zIP;IMhvIA;MAxHI,oBA0CG;INi0IP;IMnvIA;MAxHI,kBA0CG;INo0IP;IMtvIA;MAxHI,oBA0CG;INu0IP;IMzvIA;MAxHI,kBA0CG;IN00IP;IM5vIA;MAxHI,kBA0CG;IN60IP;IM/vIA;MAxHI,qBA0CG;INg1IP;IMlwIA;MAxHI,2BA0CG;INm1IP;IMrwIA;MAxHI,0BA0CG;INs1IP;IMxwIA;MAxHI,wBA0CG;INy1IP;IM3wIA;MAxHI,0BA0CG;IN41IP;IM9wIA;MAxHI,wBA0CG;IN+1IP;IMjxIA;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","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 1rem;\n    }\n    .sm\\:m-4 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-5 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 1rem;\n    }\n    .sm\\:p-4 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-5 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 1rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-5 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 1rem;\n    }\n    .md\\:m-4 {\n      margin: 1.5rem;\n    }\n    .md\\:m-5 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 1rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-5 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 1rem;\n    }\n    .md\\:p-4 {\n      padding: 1.5rem;\n    }\n    .md\\:p-5 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 1rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-5 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 1rem;\n    }\n    .md\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-5 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 1rem;\n    }\n    .lg\\:m-4 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-5 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 1rem;\n    }\n    .lg\\:p-4 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-5 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 1rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-5 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 1rem;\n    }\n    .xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-5 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 1rem;\n    }\n    .xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-5 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n","@use \"banner\" with (\n  $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n  $utilities,\n  (\n    \"display\",\n    \"order\",\n    \"grid-column-counts\",\n    \"grid-columns\",\n    \"grid-auto-flow\",\n    \"gap\",\n    \"row-gap\",\n    \"column-gap\",\n    \"flex\",\n    \"flex-direction\",\n    \"flex-grow\",\n    \"flex-shrink\",\n    \"flex-wrap\",\n    \"justify-content\",\n    \"justify-items\",\n    \"align-items\",\n    \"align-content\",\n    \"align-self\",\n    \"place-items\",\n    \"margin\",\n    \"margin-x\",\n    \"margin-y\",\n    \"margin-top\",\n    \"margin-end\",\n    \"margin-bottom\",\n    \"margin-start\",\n    \"negative-margin\",\n    \"negative-margin-x\",\n    \"negative-margin-y\",\n    \"negative-margin-top\",\n    \"negative-margin-end\",\n    \"negative-margin-bottom\",\n    \"negative-margin-start\",\n    \"padding\",\n    \"padding-x\",\n    \"padding-y\",\n    \"padding-top\",\n    \"padding-end\",\n    \"padding-bottom\",\n    \"padding-start\",\n  )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n  @each $name, $value in $breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/layout/_containers.scss","bootstrap-grid.css","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"names":[],"mappings":"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AA;EJ4mCV;EI7mCQ;IACE,wBAAA;EJ+mCV;EIhnCQ;IACE,wBAAA;EJknCV;EInnCQ;IACE,wBAAA;EJqnCV;EItnCQ;IACE,wBAAA;EJwnCV;EIznCQ;IACE,wBAAA;EJ2nCV;EI5nCQ;IACE,wBAAA;EJ8nCV;EI/nCQ;IACE,wBAAA;EJioCV;EIloCQ;IACE,wBAAA;EJooCV;EIroCQ;IACE,yBAAA;EJuoCV;EIxoCQ;IACE,yBAAA;EJ0oCV;EI3oCQ;IACE,yBAAA;EJ6oCV;EItoCQ;IACE,oBAFS;EJ0oCnB;EIzoCQ;IACE,oBAFS;EJ6oCnB;EI5oCQ;IACE,oBAFS;EJgpCnB;EI/oCQ;IACE,oBAFS;EJmpCnB;EIlpCQ;IACE,oBAFS;EJspCnB;EIrpCQ;IACE,oBAFS;EJypCnB;EIxpCQ;IACE,oBAFS;EJ4pCnB;EI3pCQ;IACE,oBAFS;EJ+pCnB;EI9pCQ;IACE,oBAFS;EJkqCnB;EIjqCQ;IACE,qBAFS;EJqqCnB;EIpqCQ;IACE,qBAFS;EJwqCnB;EC5rCE;IGaM;MACE,wBAAA;IJkrCR;IInrCM;MACE,wBAAA;IJqrCR;IItrCM;MACE,wBAAA;IJwrCR;IIzrCM;MACE,wBAAA;IJ2rCR;II5rCM;MACE,wBAAA;IJ8rCR;II/rCM;MACE,wBAAA;IJisCR;IIlsCM;MACE,wBAAA;IJosCR;IIrsCM;MACE,wBAAA;IJusCR;IIxsCM;MACE,wBAAA;IJ0sCR;II3sCM;MACE,yBAAA;IJ6sCR;II9sCM;MACE,yBAAA;IJgtCR;IIjtCM;MACE,yBAAA;IJmtCR;II5sCM;MACE,oBAFS;IJgtCjB;II/sCM;MACE,oBAFS;IJmtCjB;IIltCM;MACE,oBAFS;IJstCjB;IIrtCM;MACE,oBAFS;IJytCjB;IIxtCM;MACE,oBAFS;IJ4tCjB;II3tCM;MACE,oBAFS;IJ+tCjB;II9tCM;MACE,oBAFS;IJkuCjB;IIjuCM;MACE,oBAFS;IJquCjB;IIpuCM;MACE,oBAFS;IJwuCjB;IIvuCM;MACE,qBAFS;IJ2uCjB;II1uCM;MACE,qBAFS;IJ8uCjB;EACF;ECnwCE;IGaM;MACE,wBAAA;IJyvCR;II1vCM;MACE,wBAAA;IJ4vCR;II7vCM;MACE,wBAAA;IJ+vCR;IIhwCM;MACE,wBAAA;IJkwCR;IInwCM;MACE,wBAAA;IJqwCR;IItwCM;MACE,wBAAA;IJwwCR;IIzwCM;MACE,wBAAA;IJ2wCR;II5wCM;MACE,wBAAA;IJ8wCR;II/wCM;MACE,wBAAA;IJixCR;IIlxCM;MACE,yBAAA;IJoxCR;IIrxCM;MACE,yBAAA;IJuxCR;IIxxCM;MACE,yBAAA;IJ0xCR;IInxCM;MACE,oBAFS;IJuxCjB;IItxCM;MACE,oBAFS;IJ0xCjB;IIzxCM;MACE,oBAFS;IJ6xCjB;II5xCM;MACE,oBAFS;IJgyCjB;II/xCM;MACE,oBAFS;IJmyCjB;IIlyCM;MACE,oBAFS;IJsyCjB;IIryCM;MACE,oBAFS;IJyyCjB;IIxyCM;MACE,oBAFS;IJ4yCjB;II3yCM;MACE,oBAFS;IJ+yCjB;II9yCM;MACE,qBAFS;IJkzCjB;IIjzCM;MACE,qBAFS;IJqzCjB;EACF;EC10CE;IGaM;MACE,wBAAA;IJg0CR;IIj0CM;MACE,wBAAA;IJm0CR;IIp0CM;MACE,wBAAA;IJs0CR;IIv0CM;MACE,wBAAA;IJy0CR;II10CM;MACE,wBAAA;IJ40CR;II70CM;MACE,wBAAA;IJ+0CR;IIh1CM;MACE,wBAAA;IJk1CR;IIn1CM;MACE,wBAAA;IJq1CR;IIt1CM;MACE,wBAAA;IJw1CR;IIz1CM;MACE,yBAAA;IJ21CR;II51CM;MACE,yBAAA;IJ81CR;II/1CM;MACE,yBAAA;IJi2CR;II11CM;MACE,oBAFS;IJ81CjB;II71CM;MACE,oBAFS;IJi2CjB;IIh2CM;MACE,oBAFS;IJo2CjB;IIn2CM;MACE,oBAFS;IJu2CjB;IIt2CM;MACE,oBAFS;IJ02CjB;IIz2CM;MACE,oBAFS;IJ62CjB;II52CM;MACE,oBAFS;IJg3CjB;II/2CM;MACE,oBAFS;IJm3CjB;IIl3CM;MACE,oBAFS;IJs3CjB;IIr3CM;MACE,qBAFS;IJy3CjB;IIx3CM;MACE,qBAFS;IJ43CjB;EACF;ECj5CE;IGaM;MACE,wBAAA;IJu4CR;IIx4CM;MACE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rDT;EMvmDE;IAxHI,4BA0CG;ENwrDT;EM1mDE;IAxHI,2BA0CG;EN2rDT;EM7mDE;IAxHI,sBA0CG;EN8rDT;EMhnDE;IAxHI,gBA0CG;ENisDT;EMnnDE;IAxHI,sBA0CG;ENosDT;EMtnDE;IAxHI,oBA0CG;ENusDT;EMznDE;IAxHI,kBA0CG;EN0sDT;EM5nDE;IAxHI,oBA0CG;EN6sDT;EM/nDE;IAxHI,mBA0CG;ENgtDT;EMloDE;IAxHI,kBA0CG;ENmtDT;EMroDE;IAxHI,gBA0CG;ENstDT;EMxoDE;IAxHI,mBA0CG;ENytDT;EM3oDE;IAxHI,oBA0CG;EN4tDT;EM9oDE;IAxHI,0BA0CG;EN+tDT;EMjpDE;IAxHI,qCA0CG;ENkuDT;EMppDE;IAxHI,qCA0CG;ENquDT;EMvpDE;IAxHI,qCA0CG;ENwuDT;EM1pDE;IAxHI,qCA0CG;EN2uDT;EM7pDE;IAxHI,mBA0CG;EN8uDT;EMhqDE;IAxHI,mBA+CO;EN4uDb;EMnqDE;IAxHI,sBA+CO;EN+uDb;EMtqDE;IAxHI,qBA+CO;ENkvDb;EMzqDE;IAxHI,SA0CG;EN0vDT;EM5qDE;IAxHI,QA0CG;EN6vDT;EM/qDE;IAxHI,QA0CG;ENgwDT;EMlrDE;IAxHI,QA0CG;ENmwDT;EMrrDE;IAxHI,QA0CG;ENswDT;EMxrDE;IAxHI,QA0CG;ENywDT;EM3rDE;IAxHI,QA0CG;EN4wDT;EM9rDE;IAxHI,QA0CG;EN+wDT;EMjsDE;IAxHI,SA0CG;ENkxDT;EMpsDE;IAxHI,eA0CG;ENqxDT;EMvsDE;IAxHI,cA0CG;ENwxDT;EM1sDE;IAxHI,eA0CG;EN2xDT;EM7sDE;IAxHI,YA0CG;EN8xDT;EMhtDE;IAxHI,eA0CG;ENiyDT;EMntDE;IAxHI,cA0CG;ENoyDT;EMttDE;IAxHI,YA0CG;ENuyDT;EMztDE;IAxHI,cA0CG;EN0yDT;EM5tDE;IAxHI,YA0CG;EN6yDT;EM/tDE;IAxHI,YA0CG;ENgzDT;EMluDE;IAxHI,gBA0CG;ENmzDT;EMruDE;IAxHI,sBA0CG;ENszDT;EMxuDE;IAxHI,qBA0CG;ENyzDT;EM3uDE;IAxHI,sBA0CG;EN4zDT;EM9uDE;IAxHI,mBA0CG;EN+zDT;EMjvDE;IAxHI,sBA0CG;ENk0DT;EMpvDE;IAxHI,qBA0CG;ENq0DT;EMvvDE;IAxHI,mBA0CG;ENw0DT;EM1vDE;IAxHI,qBA0CG;EN20DT;EM7vDE;IAxHI,mBA0CG;EN80DT;EMhwDE;IAxHI,mBA0CG;ENi1DT;EMnwDE;IAxHI,eA0CG;ENo1DT;EMtwDE;IAxHI,qBA0CG;ENu1DT;EMzwDE;IAxHI,oBA0CG;EN01DT;EM5wDE;IAxHI,qBA0CG;EN61DT;EM/wDE;IAxHI,kBA0CG;ENg2DT;EMlxDE;IAxHI,qBA0CG;ENm2DT;EMrxDE;IAxHI,oBA0CG;ENs2DT;EMxxDE;IAxHI,kBA0CG;ENy2DT;EM3xDE;IAxHI,oBA0CG;EN42DT;EM9xDE;IAxHI,kBA0CG;EN+2DT;EMjyDE;IAxHI,kBA0CG;ENk3DT;EMpyDE;IAxHI,qBA0CG;ENq3DT;EMvyDE;IAxHI,2BA0CG;ENw3DT;EM1yDE;IAxHI,0BA0CG;EN23DT;EM7yDE;IAxHI,2BA0CG;EN83DT;EMhzDE;IAxHI,wBA0CG;ENi4DT;EMnzDE;IAxHI,2BA0CG;ENo4DT;EMtzDE;IAxHI,0BA0CG;ENu4DT;EMzzDE;IAxHI,wBA0CG;EN04DT;EM5zDE;IAxHI,0BA0CG;EN64DT;EM/zDE;IAxHI,wBA0CG;ENg5DT;EMl0DE;IAxHI,wBA0CG;ENm5DT;EMr0DE;IAxHI,oBA0CG;ENs5DT;EMx0DE;IAxHI,0BA0CG;ENy5DT;EM30DE;IAxHI,yBA0CG;EN45DT;EM90DE;IAxHI,0BA0CG;EN+5DT;EMj1DE;IAxHI,uBA0CG;ENk6DT;EMp1DE;IAxHI,0BA0CG;ENq6DT;EMv1DE;IAxHI,yBA0CG;ENw6DT;EM11DE;IAxHI,uBA0CG;EN26DT;EM71DE;IAxHI,yBA0CG;EN86DT;EMh2DE;IAxHI,uBA0CG;ENi7DT;EMn2DE;IAxHI,uBA0CG;ENo7DT;EMt2DE;IAxHI,mBA0CG;ENu7DT;EMz2DE;IAxHI,yBA0CG;EN07DT;EM52DE;IAxHI,wBA0CG;EN67DT;EM/2DE;IAxHI,yBA0CG;ENg8DT;EMl3DE;IAxHI,sBA0CG;ENm8DT;EMr3DE;IAxHI,yBA0CG;ENs8DT;EMx3DE;IAxHI,wBA0CG;ENy8DT;EM33DE;IAxHI,sBA0CG;EN48DT;EM93DE;IAxHI,wBA0CG;EN+8DT;EMj4DE;IAxHI,sBA0CG;ENk9DT;EMp4DE;IAxHI,sBA0CG;ENq9DT;EMv4DE;IAxHI,sBA0CG;ENw9DT;EM14DE;IAxHI,4BA0CG;EN29DT;EM74DE;IAxHI,2BA0CG;EN89DT;EMh5DE;IAxHI,4BA0CG;ENi+DT;EMn5DE;IAxHI,yBA0CG;ENo+DT;EMt5DE;IAxHI,4BA0CG;ENu+DT;EMz5DE;IAxHI,2BA0CG;EN0+DT;EM55DE;IAxHI,yBA0CG;EN6+DT;EM/5DE;IAxHI,2BA0CG;ENg/DT;EMl6DE;IAxHI,yBA0CG;ENm/DT;EMr6DE;IAxHI,6BA0CG;ENs/DT;EMx6DE;IAxHI,4BA0CG;ENy/DT;EM36DE;IAxHI,yBA0CG;EN4/DT;EM96DE;IAxHI,UA0CG;EN+/DT;EMj7DE;IAxHI,gBA0CG;ENkgET;EMp7DE;IAxHI,eA0CG;ENqgET;EMv7DE;IAxHI,gBA0CG;ENwgET;EM17DE;IAxHI,aA0CG;EN2gET;EM77DE;IAxHI,gBA0CG;EN8gET;EMh8DE;IAxHI,eA0CG;ENihET;EMn8DE;IAxHI,aA0CG;ENohET;EMt8DE;IAxHI,eA0CG;ENuhET;EMz8DE;IAxHI,aA0CG;EN0hET;EM58DE;IAxHI,iBA0CG;EN6hET;EM/8DE;IAxHI,uBA0CG;ENgiET;EMl9DE;IAxHI,sBA0CG;ENmiET;EMr9DE;IAxHI,uBA0CG;ENsiET;EMx9DE;IAxHI,oBA0CG;ENyiET;EM39DE;IAxHI,uBA0CG;EN4iET;EM99DE;IAxHI,sBA0CG;EN+iET;EMj+DE;IAxHI,oBA0CG;ENkjET;EMp+DE;IAxHI,sBA0CG;ENqjET;EMv+DE;IAxHI,oBA0CG;ENwjET;EM1+DE;IAxHI,gBA0CG;EN2jET;EM7+DE;IAxHI,sBA0CG;EN8jET;EMh/DE;IAxHI,qBA0CG;ENikET;EMn/DE;IAxHI,sBA0CG;ENokET;EMt/DE;IAxHI,mBA0CG;ENukET;EMz/DE;IAxHI,sBA0CG;EN0kET;EM5/DE;IAxHI,qBA0CG;EN6kET;EM//DE;IAxHI,mBA0CG;ENglET;EMlgEE;IAxHI,qBA0CG;ENmlET;EMrgEE;IAxHI,mBA0CG;ENslET;EMxgEE;IAxHI,sBA0CG;ENylET;EM3gEE;IAxHI,4BA0CG;EN4lET;EM9gEE;IAxHI,2BA0CG;EN+lET;EMjhEE;IAxHI,4BA0CG;ENkmET;EMphEE;IAxHI,yBA0CG;ENqmET;EMvhEE;IAxHI,4BA0CG;ENwmET;EM1hEE;IAxHI,2BA0CG;EN2mET;EM7hEE;IAxHI,yBA0CG;EN8mET;EMhiEE;IAxHI,2BA0CG;ENinET;EMniEE;IAxHI,yBA0CG;ENonET;EMtiEE;IAxHI,qBA0CG;ENunET;EMziEE;IAxHI,2BA0CG;EN0nET;EM5iEE;IAxHI,0BA0CG;EN6nET;EM/iEE;IAxHI,2BA0CG;ENgoET;EMljEE;IAxHI,wBA0CG;ENmoET;EMrjEE;IAxHI,2BA0CG;ENsoET;EMxjEE;IAxHI,0BA0CG;ENyoET;EM3jEE;IAxHI,wBA0CG;EN4oET;EM9jEE;IAxHI,0BA0CG;EN+oET;EMjkEE;IAxHI,wBA0CG;ENkpET;EMpkEE;IAxHI,oBA0CG;ENqpET;EMvkEE;IAxHI,0BA0CG;ENwpET;EM1kEE;IAxHI,yBA0CG;EN2pET;EM7kEE;IAxHI,0BA0CG;EN8pET;EMhlEE;IAxHI,uBA0CG;ENiqET;EMnlEE;IAxHI,0BA0CG;ENoqET;EMtlEE;IAxHI,yBA0CG;ENuqET;EMzlEE;IAxHI,uBA0CG;EN0qET;EM5lEE;IAxHI,yBA0CG;EN6qET;EM/lEE;IAxHI,uBA0CG;ENgrET;EMlmEE;IAxHI,uBA0CG;ENmrET;EMrmEE;IAxHI,6BA0CG;ENsrET;EMxmEE;IAxHI,4BA0CG;ENyrET;EM3mEE;IAxHI,6BA0CG;EN4rET;EM9mEE;IAxHI,0BA0CG;EN+rET;EMjnEE;IAxHI,6BA0CG;ENksET;EMpnEE;IAxHI,4BA0CG;ENqsET;EMvnEE;IAxHI,0BA0CG;ENwsET;EM1nEE;IAxHI,4BA0CG;EN2sET;EM7nEE;IAxHI,0BA0CG;EN8sET;EMhoEE;IAxHI,MA0CG;ENitET;EMnoEE;IAxHI,YA0CG;ENotET;EMtoEE;IAxHI,WA0CG;ENutET;EMzoEE;IAxHI,YA0CG;EN0tET;EM5oEE;IAxHI,SA0CG;EN6tET;EM/oEE;IAxHI,YA0CG;ENguET;EMlpEE;IAxHI,WA0CG;ENmuET;EMrpEE;IAxHI,SA0CG;ENsuET;EMxpEE;IAxHI,WA0CG;ENyuET;EM3pEE;IAxHI,SA0CG;EN4uET;EM9pEE;IAxHI,UA0CG;EN+uET;EMjqEE;IAxHI,gBA0CG;ENkvET;EMpqEE;IAxHI,eA0CG;ENqvET;EMvqEE;IAxHI,gBA0CG;ENwvET;EM1qEE;IAxHI,aA0CG;EN2vET;EM7qEE;IAxHI,gBA0CG;EN8vET;EMhrEE;IAxHI,eA0CG;ENiwET;EMnrEE;IAxHI,aA0CG;ENowET;EMtrEE;IAxHI,eA0CG;ENuwET;EMzrEE;IAxHI,aA0CG;EN0wET;EM5rEE;IAxHI,kBA0CG;IA1CH,aA0CG;EN6wET;EM/rEE;IAxHI,wBA0CG;IA1CH,mBA0CG;ENgxET;EMlsEE;IAxHI,uBA0CG;IA1CH,kBA0CG;ENmxET;EMrsEE;IAxHI,wBA0CG;IA1CH,mBA0CG;ENsxET;EMxsEE;IAxHI,qBA0CG;IA1CH,gBA0CG;ENyxET;EM3sEE;IAxHI,wBA0CG;IA1CH,mBA0CG;EN4xET;EM9sEE;IAxHI,uBA0CG;IA1CH,kBA0CG;EN+xET;EMjtEE;IAxHI,qBA0CG;IA1CH,gBA0CG;ENkyET;EMptEE;IAxHI,uBA0CG;IA1CH,kBA0CG;ENqyET;EMvtEE;IAxHI,qBA0CG;IA1CH,gBA0CG;ENwyET;EC/xEE;IKqEA;MAxHI,eA+CO;INuyEX;IM9tEA;MAxHI,qBA+CO;IN0yEX;IMjuEA;MAxHI,cA+CO;IN6yEX;IMpuEA;MAxHI,aA+CO;INgzEX;IMvuEA;MAxHI,oBA+CO;INmzEX;IM1uEA;MAxHI,cA+CO;INszEX;IM7uEA;MAxHI,kBA+CO;INyzEX;IMhvEA;MAxHI,mBA+CO;IN4zEX;IMnvEA;MAxHI,aA+CO;IN+zEX;IMtvEA;MAxHI,oBA+CO;INk0EX;IMzvEA;MAxHI,iBA+CO;INq0EX;IM5vEA;MAxHI,kBA+CO;INw0EX;IM/vEA;MAxHI,aA+CO;IN20EX;IMlwEA;MAxHI,cA0CG;INm1EP;IMrwEA;MAxHI,mBA+CO;INi1EX;IMxwEA;MAxHI,sBA+CO;INo1EX;IM3wEA;MAxHI,2BA+CO;INu1EX;IM9wEA;MAxHI,8BA+CO;IN01EX;IMjxEA;MAxHI,YA0CG;INk2EP;IMpxEA;MAxHI,YA0CG;INq2EP;IMvxEA;MAxHI,cA0CG;INw2EP;IM1xEA;MAxHI,cA0CG;IN22EP;IM7xEA;MAxHI,eA+CO;INy2EX;IMhyEA;MAxHI,iBA+CO;IN42EX;IMnyEA;MAxHI,uBA+CO;IN+2EX;IMtyEA;MAxHI,2BA0CG;INu3EP;IMzyEA;MAxHI,yBA0CG;IN03EP;IM5yEA;MAxHI,uBA0CG;IN63EP;IM/yEA;MAxHI,8BA0CG;INg4EP;IMlzEA;MAxHI,6BA0CG;INm4EP;IMrzEA;MAxHI,6BA0CG;INs4EP;IMxzEA;MAxHI,oBA0CG;INy4EP;IM3zEA;MAxHI,kBA0CG;IN44EP;IM9zEA;MAxHI,qBA0CG;IN+4EP;IMj0EA;MAxHI,sBA0CG;INk5EP;IMp0EA;MAxHI,uBA0CG;INq5EP;IMv0EA;MAxHI,qBA0CG;INw5EP;IM10EA;MAxHI,mBA0CG;IN25EP;IM70EA;MAxHI,qBA0CG;IN85EP;IMh1EA;MAxHI,oBA0CG;INi6EP;IMn1EA;MAxHI,yBA0CG;INo6EP;IMt1EA;MAxHI,uBA0CG;INu6EP;IMz1EA;MAxHI,qBA0CG;IN06EP;IM51EA;MAxHI,4BA0CG;IN66EP;IM/1EA;MAxHI,2BA0CG;INg7EP;IMl2EA;MAxHI,sBA0CG;INm7EP;IMr2EA;MAxHI,gBA0CG;INs7EP;IMx2EA;MAxHI,sBA0CG;INy7EP;IM32EA;MAxHI,oBA0CG;IN47EP;IM92EA;MAxHI,kBA0CG;IN+7EP;IMj3EA;MAxHI,oBA0CG;INk8EP;IMp3EA;MAxHI,mBA0CG;INq8EP;IMv3EA;MAxHI,kBA0CG;INw8EP;IM13EA;MAxHI,gBA0CG;IN28EP;IM73EA;MAxHI,mBA0CG;IN88EP;IMh4EA;MAxHI,oBA0CG;INi9EP;IMn4EA;MAxHI,0BA0CG;INo9EP;IMt4EA;MAxHI,qCA0CG;INu9EP;IMz4EA;MAxHI,qCA0CG;IN09EP;IM54EA;MAxHI,qCA0CG;IN69EP;IM/4EA;MAxHI,qCA0CG;INg+EP;IMl5EA;MAxHI,mBA0CG;INm+EP;IMr5EA;MAxHI,mBA+CO;INi+EX;IMx5EA;MAxHI,sBA+CO;INo+EX;IM35EA;MAxHI,qBA+CO;INu+EX;IM95EA;MAxHI,SA0CG;IN++EP;IMj6EA;MAxHI,QA0CG;INk/EP;IMp6EA;MAxHI,QA0CG;INq/EP;IMv6EA;MAxHI,QA0CG;INw/EP;IM16EA;MAxHI,QA0CG;IN2/EP;IM76EA;MAxHI,QA0CG;IN8/EP;IMh7EA;MAxHI,QA0CG;INigFP;IMn7EA;MAxHI,QA0CG;INogFP;IMt7EA;MAxHI,SA0CG;INugFP;IMz7EA;MAxHI,eA0CG;IN0gFP;IM57EA;MAxHI,cA0CG;IN6gFP;IM/7EA;MAxHI,eA0CG;INghFP;IMl8EA;MAxHI,YA0CG;INmhFP;IMr8EA;MAxHI,eA0CG;INshFP;IMx8EA;MAxHI,cA0CG;INyhFP;IM38EA;MAxHI,YA0CG;IN4hFP;IM98EA;MAxHI,cA0CG;IN+hFP;IMj9EA;MAxHI,YA0CG;INkiFP;IMp9EA;MAxHI,YA0CG;INqiFP;IMv9EA;MAxHI,gBA0CG;INwiFP;IM19EA;MAxHI,sBA0CG;IN2iFP;IM79EA;MAxHI,qBA0CG;IN8iFP;IMh+EA;MAxHI,sBA0CG;INijFP;IMn+EA;MAxHI,mBA0CG;INojFP;IMt+EA;MAxHI,sBA0CG;INujFP;IMz+EA;MAxHI,qBA0CG;IN0jFP;IM5+EA;MAxHI,mBA0CG;IN6jFP;IM/+EA;MAxHI,qBA0CG;INgkFP;IMl/EA;MAxHI,mBA0CG;INmkFP;IMr/EA;MAxHI,mBA0CG;INskFP;IMx/EA;MAxHI,eA0CG;INykFP;IM3/EA;MAxHI,qBA0CG;IN4kFP;IM9/EA;MAxHI,oBA0CG;IN+kFP;IMjgFA;MAxHI,qBA0CG;INklFP;IMpgFA;MAxHI,kBA0CG;INqlFP;IMvgFA;MAxHI,qBA0CG;INwlFP;IM1gFA;MAxHI,oBA0CG;IN2lFP;IM7gFA;MAxHI,kBA0CG;IN8lFP;IMhhFA;MAxHI,oBA0CG;INimFP;IMnhFA;MAxHI,kBA0CG;INomFP;IMthFA;MAxHI,kBA0CG;INumFP;IMzhFA;MAxHI,qBA0CG;IN0mFP;IM5hFA;MAxHI,2BA0CG;IN6mFP;IM/hFA;MAxHI,0BA0CG;INgnFP;IMliFA;MAxHI,2BA0CG;INmnFP;IMriFA;MAxHI,wBA0CG;INsnFP;IMxiFA;MAxHI,2BA0CG;INynFP;IM3iFA;MAxHI,0BA0CG;IN4nFP;IM9iFA;MAxHI,wBA0CG;IN+nFP;IMjjFA;MAxHI,0BA0CG;INkoFP;IMpjFA;MAxHI,wBA0CG;INqoFP;IMvjFA;MAxHI,wBA0CG;INwoFP;IM1jFA;MAxHI,oBA0CG;IN2oFP;IM7jFA;MAxHI,0BA0CG;IN8oFP;IMhkFA;MAxHI,yBA0CG;INipFP;IMnkFA;MAxHI,0BA0CG;INopFP;IMtkFA;MAxHI,uBA0CG;INupFP;IMzkFA;MAxHI,0BA0CG;IN0pFP;IM5kFA;MAxHI,yBA0CG;IN6pFP;IM/kFA;MAxHI,uBA0CG;INgqFP;IMllFA;MAxHI,yBA0CG;INmqFP;IMrlFA;MAxHI,uBA0CG;INsqFP;IMxlFA;MAxHI,uBA0CG;INyqFP;IM3lFA;MAxHI,mBA0CG;IN4qFP;IM9lFA;MAxHI,yBA0CG;IN+qFP;IMjmFA;MAxHI,wBA0CG;INkrFP;IMpmFA;MAxHI,yBA0CG;INqrFP;IMvmFA;MAxHI,sBA0CG;INwrFP;IM1mFA;MAxHI,yBA0CG;IN2rFP;IM7mFA;MAxHI,wBA0CG;IN8rFP;IMhnFA;MAxHI,sBA0CG;INisFP;IMnnFA;MAxHI,wBA0CG;INosFP;IMtnFA;MAxHI,sBA0CG;INusFP;IMznFA;MAxHI,sBA0CG;IN0sFP;IM5nFA;MAxHI,sBA0CG;IN6sFP;IM/nFA;MAxHI,4BA0CG;INgtFP;IMloFA;MAxHI,2BA0CG;INmtFP;IMroFA;MAxHI,4BA0CG;INstFP;IMxoFA;MAxHI,yBA0CG;INytFP;IM3oFA;MAxHI,4BA0CG;IN4tFP;IM9oFA;MAxHI,2BA0CG;IN+tFP;IMjpFA;MAxHI,yBA0CG;INkuFP;IMppFA;MAxHI,2BA0CG;INquFP;IMvpFA;MAxHI,yBA0CG;INwuFP;IM1pFA;MAxHI,6BA0CG;IN2uFP;IM7pFA;MAxHI,4BA0CG;IN8uFP;IMhqFA;MAxHI,yBA0CG;INivFP;IMnqFA;MAxHI,UA0CG;INovFP;IMtqFA;MAxHI,gBA0CG;INuvFP;IMzqFA;MAxHI,eA0CG;IN0vFP;IM5qFA;MAxHI,gBA0CG;IN6vFP;IM/qFA;MAxHI,aA0CG;INgwFP;IMlrFA;MAxHI,gBA0CG;INmwFP;IMrrFA;MAxHI,eA0CG;INswFP;IMxrFA;MAxHI,aA0CG;INywFP;IM3rFA;MAxHI,eA0CG;IN4wFP;IM9rFA;MAxHI,aA0CG;IN+wFP;IMjsFA;MAxHI,iBA0CG;INkxFP;IMpsFA;MAxHI,uBA0CG;INqxFP;IMvsFA;MAxHI,sBA0CG;INwxFP;IM1sFA;MAxHI,uBA0CG;IN2xFP;IM7sFA;MAxHI,oBA0CG;IN8xFP;IMhtFA;MAxHI,uBA0CG;INiyFP;IMntFA;MAxHI,sBA0CG;INoyFP;IMttFA;MAxHI,oBA0CG;INuyFP;IMztFA;MAxHI,sBA0CG;IN0yFP;IM5tFA;MAxHI,oBA0CG;IN6yFP;IM/tFA;MAxHI,gBA0CG;INgzFP;IMluFA;MAxHI,sBA0CG;INmzFP;IMruFA;MAxHI,qBA0CG;INszFP;IMxuFA;MAxHI,sBA0CG;INyzFP;IM3uFA;MAxHI,mBA0CG;IN4zFP;IM9uFA;MAxHI,sBA0CG;IN+zFP;IMjvFA;MAxHI,qBA0CG;INk0FP;IMpvFA;MAxHI,mBA0CG;INq0FP;IMvvFA;MAxHI,qBA0CG;INw0FP;IM1vFA;MAxHI,mBA0CG;IN20FP;IM7vFA;MAxHI,sBA0CG;IN80FP;IMhwFA;MAxHI,4BA0CG;INi1FP;IMnwFA;MAxHI,2BA0CG;INo1FP;IMtwFA;MAxHI,4BA0CG;INu1FP;IMzwFA;MAxHI,yBA0CG;IN01FP;IM5wFA;MAxHI,4BA0CG;IN61FP;IM/wFA;MAxHI,2BA0CG;INg2FP;IMlxFA;MAxHI,yBA0CG;INm2FP;IMrxFA;MAxHI,2BA0CG;INs2FP;IMxxFA;MAxHI,yBA0CG;INy2FP;IM3xFA;MAxHI,qBA0CG;IN42FP;IM9xFA;MAxHI,2BA0CG;IN+2FP;IMjyFA;MAxHI,0BA0CG;INk3FP;IMpyFA;MAxHI,2BA0CG;INq3FP;IMvyFA;MAxHI,wBA0CG;INw3FP;IM1yFA;MAxHI,2BA0CG;IN23FP;IM7yFA;MAxHI,0BA0CG;IN83FP;IMhzFA;MAxHI,wBA0CG;INi4FP;IMnzFA;MAxHI,0BA0CG;INo4FP;IMtzFA;MAxHI,wBA0CG;INu4FP;IMzzFA;MAxHI,oBA0CG;IN04FP;IM5zFA;MAxHI,0BA0CG;IN64FP;IM/zFA;MAxHI,yBA0CG;INg5FP;IMl0FA;MAxHI,0BA0CG;INm5FP;IMr0FA;MAxHI,uBA0CG;INs5FP;IMx0FA;MAxHI,0BA0CG;INy5FP;IM30FA;MAxHI,yBA0CG;IN45FP;IM90FA;MAxHI,uBA0CG;IN+5FP;IMj1FA;MAxHI,yBA0CG;INk6FP;IMp1FA;MAxHI,uBA0CG;INq6FP;IMv1FA;MAxHI,uBA0CG;INw6FP;IM11FA;MAxHI,6BA0CG;IN26FP;IM71FA;MAxHI,4BA0CG;IN86FP;IMh2FA;MAxHI,6BA0CG;INi7FP;IMn2FA;MAxHI,0BA0CG;INo7FP;IMt2FA;MAxHI,6BA0CG;INu7FP;IMz2FA;MAxHI,4BA0CG;IN07FP;IM52FA;MAxHI,0BA0CG;IN67FP;IM/2FA;MAxHI,4BA0CG;INg8FP;IMl3FA;MAxHI,0BA0CG;INm8FP;IMr3FA;MAxHI,MA0CG;INs8FP;IMx3FA;MAxHI,YA0CG;INy8FP;IM33FA;MAxHI,WA0CG;IN48FP;IM93FA;MAxHI,YA0CG;IN+8FP;IMj4FA;MAxHI,SA0CG;INk9FP;IMp4FA;MAxHI,YA0CG;INq9FP;IMv4FA;MAxHI,WA0CG;INw9FP;IM14FA;MAxHI,SA0CG;IN29FP;IM74FA;MAxHI,WA0CG;IN89FP;IMh5FA;MAxHI,SA0CG;INi+FP;IMn5FA;MAxHI,UA0CG;INo+FP;IMt5FA;MAxHI,gBA0CG;INu+FP;IMz5FA;MAxHI,eA0CG;IN0+FP;IM55FA;MAxHI,gBA0CG;IN6+FP;IM/5FA;MAxHI,aA0CG;INg/FP;IMl6FA;MAxHI,gBA0CG;INm/FP;IMr6FA;MAxHI,eA0CG;INs/FP;IMx6FA;MAxHI,aA0CG;INy/FP;IM36FA;MAxHI,eA0CG;IN4/FP;IM96FA;MAxHI,aA0CG;IN+/FP;IMj7FA;MAxHI,kBA0CG;MA1CH,aA0CG;INkgGP;IMp7FA;MAxHI,wBA0CG;MA1CH,mBA0CG;INqgGP;IMv7FA;MAxHI,uBA0CG;MA1CH,kBA0CG;INwgGP;IM17FA;MAxHI,wBA0CG;MA1CH,mBA0CG;IN2gGP;IM77FA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN8gGP;IMh8FA;MAxHI,wBA0CG;MA1CH,mBA0CG;INihGP;IMn8FA;MAxHI,uBA0CG;MA1CH,kBA0CG;INohGP;IMt8FA;MAxHI,qBA0CG;MA1CH,gBA0CG;INuhGP;IMz8FA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN0hGP;IM58FA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN6hGP;EACF;ECrhGE;IKqEA;MAxHI,eA+CO;IN6hGX;IMp9FA;MAxHI,qBA+CO;INgiGX;IMv9FA;MAxHI,cA+CO;INmiGX;IM19FA;MAxHI,aA+CO;INsiGX;IM79FA;MAxHI,oBA+CO;INyiGX;IMh+FA;MAxHI,cA+CO;IN4iGX;IMn+FA;MAxHI,kBA+CO;IN+iGX;IMt+FA;MAxHI,mBA+CO;INkjGX;IMz+FA;MAxHI,aA+CO;INqjGX;IM5+FA;MAxHI,oBA+CO;INwjGX;IM/+FA;MAxHI,iBA+CO;IN2jGX;IMl/FA;MAxHI,kBA+CO;IN8jGX;IMr/FA;MAxHI,aA+CO;INikGX;IMx/FA;MAxHI,cA0CG;INykGP;IM3/FA;MAxHI,mBA+CO;INukGX;IM9/FA;MAxHI,sBA+CO;IN0kGX;IMjgGA;MAxHI,2BA+CO;IN6kGX;IMpgGA;MAxHI,8BA+CO;INglGX;IMvgGA;MAxHI,YA0CG;INwlGP;IM1gGA;MAxHI,YA0CG;IN2lGP;IM7gGA;MAxHI,cA0CG;IN8lGP;IMhhGA;MAxHI,cA0CG;INimGP;IMnhGA;MAxHI,eA+CO;IN+lGX;IMthGA;MAxHI,iBA+CO;INkmGX;IMzhGA;MAxHI,uBA+CO;INqmGX;IM5hGA;MAxHI,2BA0CG;IN6mGP;IM/hGA;MAxHI,yBA0CG;INgnGP;IMliGA;MAxHI,uBA0CG;INmnGP;IMriGA;MAxHI,8BA0CG;INsnGP;IMxiGA;MAxHI,6BA0CG;INynGP;IM3iGA;MAxHI,6BA0CG;IN4nGP;IM9iGA;MAxHI,oBA0CG;IN+nGP;IMjjGA;MAxHI,kBA0CG;INkoGP;IMpjGA;MAxHI,qBA0CG;INqoGP;IMvjGA;MAxHI,sBA0CG;INwoGP;IM1jGA;MAxHI,uBA0CG;IN2oGP;IM7jGA;MAxHI,qBA0CG;IN8oGP;IMhkGA;MAxHI,mBA0CG;INipGP;IMnkGA;MAxHI,qBA0CG;INopGP;IMtkGA;MAxHI,oBA0CG;INupGP;IMzkGA;MAxHI,yBA0CG;IN0pGP;IM5kGA;MAxHI,uBA0CG;IN6pGP;IM/kGA;MAxHI,qBA0CG;INgqGP;IMllGA;MAxHI,4BA0CG;INmqGP;IMrlGA;MAxHI,2BA0CG;INsqGP;IMxlGA;MAxHI,sBA0CG;INyqGP;IM3lGA;MAxHI,gBA0CG;IN4qGP;IM9lGA;MAxHI,sBA0CG;IN+qGP;IMjmGA;MAxHI,oBA0CG;INkrGP;IMpmGA;MAxHI,kBA0CG;INqrGP;IMvmGA;MAxHI,oBA0CG;INwrGP;IM1mGA;MAxHI,mBA0CG;IN2rGP;IM7mGA;MAxHI,kBA0CG;IN8rGP;IMhnGA;MAxHI,gBA0CG;INisGP;IMnnGA;MAxHI,mBA0CG;INosGP;IMtnGA;MAxHI,oBA0CG;INusGP;IMznGA;MAxHI,0BA0CG;IN0sGP;IM5nGA;MAxHI,qCA0CG;IN6sGP;IM/nGA;MAxHI,qCA0CG;INgtGP;IMloGA;MAxHI,qCA0CG;INmtGP;IMroGA;MAxHI,qCA0CG;INstGP;IMxoGA;MAxHI,mBA0CG;INytGP;IM3oGA;MAxHI,mBA+CO;INutGX;IM9oGA;MAxHI,sBA+CO;IN0tGX;IMjpGA;MAxHI,qBA+CO;IN6tGX;IMppGA;MAxHI,SA0CG;INquGP;IMvpGA;MAxHI,QA0CG;INwuGP;IM1pGA;MAxHI,QA0CG;IN2uGP;IM7pGA;MAxHI,QA0CG;IN8uGP;IMhqGA;MAxHI,QA0CG;INivGP;IMnqGA;MAxHI,QA0CG;INovGP;IMtqGA;MAxHI,QA0CG;INuvGP;IMzqGA;MAxHI,QA0CG;IN0vGP;IM5qGA;MAxHI,SA0CG;IN6vGP;IM/qGA;MAxHI,eA0CG;INgwGP;IMlrGA;MAxHI,cA0CG;INmwGP;IMrrGA;MAxHI,eA0CG;INswGP;IMxrGA;MAxHI,YA0CG;INywGP;IM3rGA;MAxHI,eA0CG;IN4wGP;IM9rGA;MAxHI,cA0CG;IN+wGP;IMjsGA;MAxHI,YA0CG;INkxGP;IMpsGA;MAxHI,cA0CG;INqxGP;IMvsGA;MAxHI,YA0CG;INwxGP;IM1sGA;MAxHI,YA0CG;IN2xGP;IM7sGA;MAxHI,gBA0CG;IN8xGP;IMhtGA;MAxHI,sBA0CG;INiyGP;IMntGA;MAxHI,qBA0CG;INoyGP;IMttGA;MAxHI,sBA0CG;INuyGP;IMztGA;MAxHI,mBA0CG;IN0yGP;IM5tGA;MAxHI,sBA0CG;IN6yGP;IM/tGA;MAxHI,qBA0CG;INgzGP;IMluGA;MAxHI,mBA0CG;INmzGP;IMruGA;MAxHI,qBA0CG;INszGP;IMxuGA;MAxHI,mBA0CG;INyzGP;IM3uGA;MAxHI,mBA0CG;IN4zGP;IM9uGA;MAxHI,eA0CG;IN+zGP;IMjvGA;MAxHI,qBA0CG;INk0GP;IMpvGA;MAxHI,oBA0CG;INq0GP;IMvvGA;MAxHI,qBA0CG;INw0GP;IM1vGA;MAxHI,kBA0CG;IN20GP;IM7vGA;MAxHI,qBA0CG;IN80GP;IMhwGA;MAxHI,oBA0CG;INi1GP;IMnwGA;MAxHI,kBA0CG;INo1GP;IMtwGA;MAxHI,oBA0CG;INu1GP;IMzwGA;MAxHI,kBA0CG;IN01GP;IM5wGA;MAxHI,kBA0CG;IN61GP;IM/wGA;MAxHI,qBA0CG;INg2GP;IMlxGA;MAxHI,2BA0CG;INm2GP;IMrxGA;MAxHI,0BA0CG;INs2GP;IMxxGA;MAxHI,2BA0CG;INy2GP;IM3xGA;MAxHI,wBA0CG;IN42GP;IM9xGA;MAxHI,2BA0CG;IN+2GP;IMjyGA;MAxHI,0BA0CG;INk3GP;IMpyGA;MAxHI,wBA0CG;INq3GP;IMvyGA;MAxHI,0BA0CG;INw3GP;IM1yGA;MAxHI,wBA0CG;IN23GP;IM7yGA;MAxHI,wBA0CG;IN83GP;IMhzGA;MAxHI,oBA0CG;INi4GP;IMnzGA;MAxHI,0BA0CG;INo4GP;IMtzGA;MAxHI,yBA0CG;INu4GP;IMzzGA;MAxHI,0BA0CG;IN04GP;IM5zGA;MAxHI,uBA0CG;IN64GP;IM/zGA;MAxHI,0BA0CG;INg5GP;IMl0GA;MAxHI,yBA0CG;INm5GP;IMr0GA;MAxHI,uBA0CG;INs5GP;IMx0GA;MAxHI,yBA0CG;INy5GP;IM30GA;MAxHI,uBA0CG;IN45GP;IM90GA;MAxHI,uBA0CG;IN+5GP;IMj1GA;MAxHI,mBA0CG;INk6GP;IMp1GA;MAxHI,yBA0CG;INq6GP;IMv1GA;MAxHI,wBA0CG;INw6GP;IM11GA;MAxHI,yBA0CG;IN26GP;IM71GA;MAxHI,sBA0CG;IN86GP;IMh2GA;MAxHI,yBA0CG;INi7GP;IMn2GA;MAxHI,wBA0CG;INo7GP;IMt2GA;MAxHI,sBA0CG;INu7GP;IMz2GA;MAxHI,wBA0CG;IN07GP;IM52GA;MAxHI,sBA0CG;IN67GP;IM/2GA;MAxHI,sBA0CG;INg8GP;IMl3GA;MAxHI,sBA0CG;INm8GP;IMr3GA;MAxHI,4BA0CG;INs8GP;IMx3GA;MAxHI,2BA0CG;INy8GP;IM33GA;MAxHI,4BA0CG;IN48GP;IM93GA;MAxHI,yBA0CG;IN+8GP;IMj4GA;MAxHI,4BA0CG;INk9GP;IMp4GA;MAxHI,2BA0CG;INq9GP;IMv4GA;MAxHI,yBA0CG;INw9GP;IM14GA;MAxHI,2BA0CG;IN29GP;IM74GA;MAxHI,yBA0CG;IN89GP;IMh5GA;MAxHI,6BA0CG;INi+GP;IMn5GA;MAxHI,4BA0CG;INo+GP;IMt5GA;MAxHI,yBA0CG;INu+GP;IMz5GA;MAxHI,UA0CG;IN0+GP;IM55GA;MAxHI,gBA0CG;IN6+GP;IM/5GA;MAxHI,eA0CG;INg/GP;IMl6GA;MAxHI,gBA0CG;INm/GP;IMr6GA;MAxHI,aA0CG;INs/GP;IMx6GA;MAxHI,gBA0CG;INy/GP;IM36GA;MAxHI,eA0CG;IN4/GP;IM96GA;MAxHI,aA0CG;IN+/GP;IMj7GA;MAxHI,eA0CG;INkgHP;IMp7GA;MAxHI,aA0CG;INqgHP;IMv7GA;MAxHI,iBA0CG;INwgHP;IM17GA;MAxHI,uBA0CG;IN2gHP;IM77GA;MAxHI,sBA0CG;IN8gHP;IMh8GA;MAxHI,uBA0CG;INihHP;IMn8GA;MAxHI,oBA0CG;INohHP;IMt8GA;MAxHI,uBA0CG;INuhHP;IMz8GA;MAxHI,sBA0CG;IN0hHP;IM58GA;MAxHI,oBA0CG;IN6hHP;IM/8GA;MAxHI,sBA0CG;INgiHP;IMl9GA;MAxHI,oBA0CG;INmiHP;IMr9GA;MAxHI,gBA0CG;INsiHP;IMx9GA;MAxHI,sBA0CG;INyiHP;IM39GA;MAxHI,qBA0CG;IN4iHP;IM99GA;MAxHI,sBA0CG;IN+iHP;IMj+GA;MAxHI,mBA0CG;INkjHP;IMp+GA;MAxHI,sBA0CG;INqjHP;IMv+GA;MAxHI,qBA0CG;INwjHP;IM1+GA;MAxHI,mBA0CG;IN2jHP;IM7+GA;MAxHI,qBA0CG;IN8jHP;IMh/GA;MAxHI,mBA0CG;INikHP;IMn/GA;MAxHI,sBA0CG;INokHP;IMt/GA;MAxHI,4BA0CG;INukHP;IMz/GA;MAxHI,2BA0CG;IN0kHP;IM5/GA;MAxHI,4BA0CG;IN6kHP;IM//GA;MAxHI,yBA0CG;INglHP;IMlgHA;MAxHI,4BA0CG;INmlHP;IMrgHA;MAxHI,2BA0CG;INslHP;IMxgHA;MAxHI,yBA0CG;INylHP;IM3gHA;MAxHI,2BA0CG;IN4lHP;IM9gHA;MAxHI,yBA0CG;IN+lHP;IMjhHA;MAxHI,qBA0CG;INkmHP;IMphHA;MAxHI,2BA0CG;INqmHP;IMvhHA;MAxHI,0BA0CG;INwmHP;IM1hHA;MAxHI,2BA0CG;IN2mHP;IM7hHA;MAxHI,wBA0CG;IN8mHP;IMhiHA;MAxHI,2BA0CG;INinHP;IMniHA;MAxHI,0BA0CG;INonHP;IMtiHA;MAxHI,wBA0CG;INunHP;IMziHA;MAxHI,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MAxHI,qBA0CG;IN23HP;IM7yHA;MAxHI,sBA0CG;IN83HP;IMhzHA;MAxHI,uBA0CG;INi4HP;IMnzHA;MAxHI,qBA0CG;INo4HP;IMtzHA;MAxHI,mBA0CG;INu4HP;IMzzHA;MAxHI,qBA0CG;IN04HP;IM5zHA;MAxHI,oBA0CG;IN64HP;IM/zHA;MAxHI,yBA0CG;INg5HP;IMl0HA;MAxHI,uBA0CG;INm5HP;IMr0HA;MAxHI,qBA0CG;INs5HP;IMx0HA;MAxHI,4BA0CG;INy5HP;IM30HA;MAxHI,2BA0CG;IN45HP;IM90HA;MAxHI,sBA0CG;IN+5HP;IMj1HA;MAxHI,gBA0CG;INk6HP;IMp1HA;MAxHI,sBA0CG;INq6HP;IMv1HA;MAxHI,oBA0CG;INw6HP;IM11HA;MAxHI,kBA0CG;IN26HP;IM71HA;MAxHI,oBA0CG;IN86HP;IMh2HA;MAxHI,mBA0CG;INi7HP;IMn2HA;MAxHI,kBA0CG;INo7HP;IMt2HA;MAxHI,gBA0CG;INu7HP;IMz2HA;MAxHI,mBA0CG;IN07HP;IM52HA;MAxHI,oBA0CG;IN67HP;IM/2HA;MAxHI,0BA0CG;INg8HP;IMl3HA;MAxHI,qCA0CG;INm8HP;IMr3HA;MAxHI,qCA0CG;INs8HP;IMx3HA;MAxHI,qCA0CG;INy8HP;IM33HA;MAxHI,qCA0CG;IN48HP;IM93HA;MAxHI,mBA0CG;IN+8HP;IMj4HA;MAxHI,mBA+CO;IN68HX;IMp4HA;MAxHI,sBA+CO;INg9HX;IMv4HA;MAxHI,qBA+CO;INm9HX;IM14HA;MAxHI,SA0CG;IN29HP;IM74HA;MAxHI,QA0CG;IN89HP;IMh5HA;MAxHI,QA0CG;INi+HP;IMn5HA;MAxHI,QA0CG;INo+HP;IMt5HA;MAxHI,QA0CG;INu+HP;IMz5HA;MAxHI,QA0CG;IN0+HP;IM55HA;MAxHI,QA0CG;IN6+HP;IM/5HA;MAxHI,QA0CG;INg/HP;IMl6HA;MAxHI,SA0CG;INm/HP;IMr6HA;MAxHI,eA0CG;INs/HP;IMx6HA;MAxHI,cA0CG;INy/HP;IM36HA;MAxHI,eA0CG;IN4/HP;IM96HA;MAxHI,YA0CG;IN+/HP;IMj7HA;MAxHI,eA0CG;INkgIP;IMp7HA;MAxHI,cA0CG;INqgIP;IMv7HA;MAxHI,YA0CG;INwgIP;IM17HA;MAxHI,cA0CG;IN2gIP;IM77HA;MAxHI,YA0CG;IN8gIP;IMh8HA;MAxHI,YA0CG;INihIP;IMn8HA;MAxHI,gBA0CG;INohIP;IMt8HA;MAxHI,sBA0CG;INuhIP;IMz8HA;MAxHI,qBA0CG;IN0hIP;IM58HA;MAxHI,sBA0CG;IN6hIP;IM/8HA;MAxHI,mBA0CG;INgiIP;IMl9HA;MAxHI,sBA0CG;INmiIP;IMr9HA;MAxHI,qBA0CG;INsiIP;IMx9HA;MAxHI,mBA0CG;INyiIP;IM39HA;MAxHI,qBA0CG;IN4iIP;IM99HA;MAxHI,mBA0CG;IN+iIP;IMj+HA;MAxHI,mBA0CG;INkjIP;IMp+HA;MAxHI,eA0CG;INqjIP;IMv+HA;MAxHI,qBA0CG;INwjIP;IM1+HA;MAxHI,oBA0CG;IN2jIP;IM7+HA;MAxHI,qBA0CG;IN8jIP;IMh/HA;MAxHI,kBA0CG;INikIP;IMn/HA;MAxHI,qBA0CG;INokIP;IMt/HA;MAxHI,oBA0CG;INukIP;IMz/HA;MAxHI,kBA0CG;IN0kIP;IM5/HA;MAxHI,oBA0CG;IN6kIP;IM//HA;MAxHI,kBA0CG;INglIP;IMlgIA;MAxHI,kBA0CG;INmlIP;IMrgIA;MAxHI,qBA0CG;INslIP;IMxgIA;MAxHI,2BA0CG;INylIP;IM3gIA;MAxHI,0BA0CG;IN4lIP;IM9gIA;MAxHI,2BA0CG;IN+lIP;IMjhIA;MAxHI,wBA0CG;INkmIP;IMphIA;MAxHI,2BA0CG;INqmIP;IMvhIA;MAxHI,0BA0CG;INwmIP;IM1hIA;MAxHI,wBA0CG;IN2mIP;IM7hIA;MAxHI,0BA0CG;IN8mIP;IMhiIA;MAxHI,wBA0CG;INinIP;IMniIA;MAxHI,wBA0CG;INonIP;IMtiIA;MAxHI,oBA0CG;INunIP;IMziIA;MAxHI,0BA0CG;IN0nIP;IM5iIA;MAxHI,yBA0CG;IN6nIP;IM/iIA;MAxHI,0BA0CG;INgoIP;IMljIA;MAxHI,uBA0CG;INmoIP;IMrjIA;MAxHI,0BA0CG;INsoIP;IMxjIA;MAxHI,yBA0CG;INyoIP;IM3jIA;MAxHI,uBA0CG;IN4oIP;IM9jIA;MAxHI,yBA0CG;IN+oIP;IMjkIA;MAxHI,uBA0CG;INkpIP;IMpkIA;MAxHI,uBA0CG;INqpIP;IMvkIA;MAxHI,mBA0CG;INwpIP;IM1kIA;MAxHI,yBA0CG;IN2pIP;IM7kIA;MAxHI,wBA0CG;IN8pIP;IMhlIA;MAxHI,yBA0CG;INiqIP;IMnlIA;MAxHI,sBA0CG;INoqIP;IMtlIA;MAxHI,yBA0CG;INuqIP;IMzlIA;MAxHI,wBA0CG;IN0qIP;IM5lIA;MAxHI,sBA0CG;IN6qIP;IM/lIA;MAxHI,wBA0CG;INgrIP;IMlmIA;MAxHI,sBA0CG;INmrIP;IMrmIA;MAxHI,sBA0CG;INsrIP;IMxmIA;MAxHI,sBA0CG;INyrIP;IM3mIA;MAxHI,4BA0CG;IN4rIP;IM9mIA;MAxHI,2BA0CG;IN+rIP;IMjnIA;MAxHI,4BA0CG;INksIP;IMpnIA;MAxHI,yBA0CG;INqsIP;IMvnIA;MAxHI,4BA0CG;INwsIP;IM1nIA;MAxHI,2BA0CG;IN2sIP;IM7nIA;MAxHI,yBA0CG;IN8sIP;IMhoIA;MAxHI,2BA0CG;INitIP;IMnoIA;MAxHI,yBA0CG;INotIP;IMtoIA;MAxHI,6BA0CG;INutIP;IMzoIA;MAxHI,4BA0CG;IN0tIP;IM5oIA;MAxHI,yBA0CG;IN6tIP;IM/oIA;MAxHI,UA0CG;INguIP;IMlpIA;MAxHI,gBA0CG;INmuIP;IMrpIA;MAxHI,eA0CG;INsuIP;IMxpIA;MAxHI,gBA0CG;INyuIP;IM3pIA;MAxHI,aA0CG;IN4uIP;IM9pIA;MAxHI,gBA0CG;IN+uIP;IMjqIA;MAxHI,eA0CG;INkvIP;IMpqIA;MAxHI,aA0CG;INqvIP;IMvqIA;MAxHI,eA0CG;INwvIP;IM1qIA;MAxHI,aA0CG;IN2vIP;IM7qIA;MAxHI,iBA0CG;IN8vIP;IMhrIA;MAxHI,uBA0CG;INiwIP;IMnrIA;MAxHI,sBA0CG;INowIP;IMtrIA;MAxHI,uBA0CG;INuwIP;IMzrIA;MAxHI,oBA0CG;IN0wIP;IM5rIA;MAxHI,uBA0CG;IN6wIP;IM/rIA;MAxHI,sBA0CG;INgxIP;IMlsIA;MAxHI,oBA0CG;INmxIP;IMrsIA;MAxHI,sBA0CG;INsxIP;IMxsIA;MAxHI,oBA0CG;INyxIP;IM3sIA;MAxHI,gBA0CG;IN4xIP;IM9sIA;MAxHI,sBA0CG;IN+xIP;IMjtIA;MAxHI,qBA0CG;INkyIP;IMptIA;MAxHI,sBA0CG;INqyIP;IMvtIA;MAxHI,mBA0CG;INwyIP;IM1tIA;MAxHI,sBA0CG;IN2yIP;IM7tIA;MAxHI,qBA0CG;IN8yIP;IMhuIA;MAxHI,mBA0CG;INizIP;IMnuIA;MAxHI,qBA0CG;INozIP;IMtuIA;MAxHI,mBA0CG;INuzIP;IMzuIA;MAxHI,sBA0CG;IN0zIP;IM5uIA;MAxHI,4BA0CG;IN6zIP;IM/uIA;MAxHI,2BA0CG;INg0IP;IMlvIA;MAxHI,4BA0CG;INm0IP;IMrvIA;MAxHI,yBA0CG;INs0IP;IMxvIA;MAxHI,4BA0CG;INy0IP;IM3vIA;MAxHI,2BA0CG;IN40IP;IM9vIA;MAxHI,yBA0CG;IN+0IP;IMjwIA;MAxHI,2BA0CG;INk1IP;IMpwIA;MAxHI,yBA0CG;INq1IP;IMvwIA;MAxHI,qBA0CG;INw1IP;IM1wIA;MAxHI,2BA0CG;IN21IP;IM7wIA;MAxHI,0BA0CG;IN81IP;IMhxIA;MAxHI,2BA0CG;INi2IP;IMnxIA;MAxHI,wBA0CG;INo2IP;IMtxIA;MAxHI,2BA0CG;INu2IP;IMzxIA;MAxHI,0BA0CG;IN02IP;IM5xIA;MAxHI,wBA0CG;IN62IP;IM/xIA;MAxHI,0BA0CG;INg3IP;IMlyIA;MAxHI,wBA0CG;INm3IP;IMryIA;MAxHI,oBA0CG;INs3IP;IMxyIA;MAxHI,0BA0CG;INy3IP;IM3yIA;MAxHI,yBA0CG;IN43IP;IM9yIA;MAxHI,0BA0CG;IN+3IP;IMjzIA;MAxHI,uBA0CG;INk4IP;IMpzIA;MAxHI,0BA0CG;INq4IP;IMvzIA;MAxHI,yBA0CG;INw4IP;IM1zIA;MAxHI,uBA0CG;IN24IP;IM7zIA;MAxHI,yBA0CG;IN84IP;IMh0IA;MAxHI,uBA0CG;INi5IP;IMn0IA;MAxHI,uBA0CG;INo5IP;IMt0IA;MAxHI,6BA0CG;INu5IP;IMz0IA;MAxHI,4BA0CG;IN05IP;IM50IA;MAxHI,6BA0CG;IN65IP;IM/0IA;MAxHI,0BA0CG;INg6IP;IMl1IA;MAxHI,6BA0CG;INm6IP;IMr1IA;MAxHI,4BA0CG;INs6IP;IMx1IA;MAxHI,0BA0CG;INy6IP;IM31IA;MAxHI,4BA0CG;IN46IP;IM91IA;MAxHI,0BA0CG;IN+6IP;IMj2IA;MAxHI,MA0CG;INk7IP;IMp2IA;MAxHI,YA0CG;INq7IP;IMv2IA;MAxHI,WA0CG;INw7IP;IM12IA;MAxHI,YA0CG;IN27IP;IM72IA;MAxHI,SA0CG;IN87IP;IMh3IA;MAxHI,YA0CG;INi8IP;IMn3IA;MAxHI,WA0CG;INo8IP;IMt3IA;MAxHI,SA0CG;INu8IP;IMz3IA;MAxHI,WA0CG;IN08IP;IM53IA;MAxHI,SA0CG;IN68IP;IM/3IA;MAxHI,UA0CG;INg9IP;IMl4IA;MAxHI,gBA0CG;INm9IP;IMr4IA;MAxHI,eA0CG;INs9IP;IMx4IA;MAxHI,gBA0CG;INy9IP;IM34IA;MAxHI,aA0CG;IN49IP;IM94IA;MAxHI,gBA0CG;IN+9IP;IMj5IA;MAxHI,eA0CG;INk+IP;IMp5IA;MAxHI,aA0CG;INq+IP;IMv5IA;MAxHI,eA0CG;INw+IP;IM15IA;MAxHI,aA0CG;IN2+IP;IM75IA;MAxHI,kBA0CG;MA1CH,aA0CG;IN8+IP;IMh6IA;MAxHI,wBA0CG;MA1CH,mBA0CG;INi/IP;IMn6IA;MAxHI,uBA0CG;MA1CH,kBA0CG;INo/IP;IMt6IA;MAxHI,wBA0CG;MA1CH,mBA0CG;INu/IP;IMz6IA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN0/IP;IM56IA;MAxHI,wBA0CG;MA1CH,mBA0CG;IN6/IP;IM/6IA;MAxHI,uBA0CG;MA1CH,kBA0CG;INggJP;IMl7IA;MAxHI,qBA0CG;MA1CH,gBA0CG;INmgJP;IMr7IA;MAxHI,uBA0CG;MA1CH,kBA0CG;INsgJP;IMx7IA;MAxHI,qBA0CG;MA1CH,gBA0CG;INygJP;EACF;ECjgJE;IKqEA;MAxHI,eA+CO;INygJX;IMh8IA;MAxHI,qBA+CO;IN4gJX;IMn8IA;MAxHI,cA+CO;IN+gJX;IMt8IA;MAxHI,aA+CO;INkhJX;IMz8IA;MAxHI,oBA+CO;INqhJX;IM58IA;MAxHI,cA+CO;INwhJX;IM/8IA;MAxHI,kBA+CO;IN2hJX;IMl9IA;MAxHI,mBA+CO;IN8hJX;IMr9IA;MAxHI,aA+CO;INiiJX;IMx9IA;MAxHI,oBA+CO;INoiJX;IM39IA;MAxHI,iBA+CO;INuiJX;IM99IA;MAxHI,kBA+CO;IN0iJX;IMj+IA;MAxHI,aA+CO;IN6iJX;IMp+IA;MAxHI,cA0CG;INqjJP;IMv+IA;MAxHI,mBA+CO;INmjJX;IM1+IA;MAxHI,sBA+CO;INsjJX;IM7+IA;MAxHI,2BA+CO;INyjJX;IMh/IA;MAxHI,8BA+CO;IN4jJX;IMn/IA;MAxHI,YA0CG;INokJP;IMt/IA;MAxHI,YA0CG;INukJP;IMz/IA;MAxHI,cA0CG;IN0kJP;IM5/IA;MAxHI,cA0CG;IN6kJP;IM//IA;MAxHI,eA+CO;IN2kJX;IMlgJA;MAxHI,iBA+CO;IN8kJX;IMrgJA;MAxHI,uBA+CO;INilJX;IMxgJA;MAxHI,2BA0CG;INylJP;IM3gJA;MAxHI,yBA0CG;IN4lJP;IM9gJA;MAxHI,uBA0CG;IN+lJP;IMjhJA;MAxHI,8BA0CG;INkmJP;IMphJA;MAxHI,6BA0CG;INqmJP;IMvhJA;MAxHI,6BA0CG;INwmJP;IM1hJA;MAxHI,oBA0CG;IN2mJP;IM7hJA;MAxHI,kBA0CG;IN8mJP;IMhiJA;MAxHI,qBA0CG;INinJP;IMniJA;MAxHI,sBA0CG;INonJP;IMtiJA;MAxHI,uBA0CG;INunJP;IMziJA;MAxHI,qBA0CG;IN0nJP;IM5iJA;MAxHI,mBA0CG;IN6nJP;IM/iJA;MAxHI,qBA0CG;INgoJP;IMljJA;MAxHI,oBA0CG;INmoJP;IMrjJA;MAxHI,yBA0CG;INsoJP;IMxjJA;MAxHI,uBA0CG;INyoJP;IM3jJA;MAxHI,qBA0CG;IN4oJP;IM9jJA;MAxHI,4BA0CG;IN+oJP;IMjkJA;MAxHI,2BA0CG;INkpJP;IMpkJA;MAxHI,sBA0CG;INqpJP;IMvkJA;MAxHI,gBA0CG;INwpJP;IM1kJA;MAxHI,sBA0CG;IN2pJP;IM7kJA;MAxHI,oBA0CG;IN8pJP;IMhlJA;MAxHI,kBA0CG;INiqJP;IMnlJA;MAxHI,oBA0CG;INoqJP;IMtlJA;MAxHI,mBA0CG;INuqJP;IMzlJA;MAxHI,kBA0CG;IN0qJP;IM5lJA;MAxHI,gBA0CG;IN6qJP;IM/lJA;MAxHI,mBA0CG;INgrJP;IMlmJA;MAxHI,oBA0CG;INmrJP;IMrmJA;MAxHI,0BA0CG;INsrJP;IMxmJA;MAxHI,qCA0CG;INyrJP;IM3mJA;MAxHI,qCA0CG;IN4rJP;IM9mJA;MAxHI,qCA0CG;IN+rJP;IMjnJA;MAxHI,qCA0CG;INksJP;IMpnJA;MAxHI,mBA0CG;INqsJP;IMvnJA;MAxHI,mBA+CO;INmsJX;IM1nJA;MAxHI,sBA+CO;INssJX;IM7nJA;MAxHI,qBA+CO;INysJX;IMhoJA;MAxHI,SA0CG;INitJP;IMnoJA;MAxHI,QA0CG;INotJP;IMtoJA;MAxHI,QA0CG;INutJP;IMzoJA;MAxHI,QA0CG;IN0tJP;IM5oJA;MAxHI,QA0CG;IN6tJP;IM/oJA;MAxHI,QA0CG;INguJP;IMlpJA;MAxHI,QA0CG;INmuJP;IMrpJA;MAxHI,QA0CG;INsuJP;IMxpJA;MAxHI,SA0CG;INyuJP;IM3pJA;MAxHI,eA0CG;IN4uJP;IM9pJA;MAxHI,cA0CG;IN+uJP;IMjqJA;MAxHI,eA0CG;INkvJP;IMpqJA;MAxHI,YA0CG;INqvJP;IMvqJA;MAxHI,eA0CG;INwvJP;IM1qJA;MAxHI,cA0CG;IN2vJP;IM7qJA;MAxHI,YA0CG;IN8vJP;IMhrJA;MAxHI,cA0CG;INiwJP;IMnrJA;MAxHI,YA0CG;INowJP;IMtrJA;MAxHI,YA0CG;INuwJP;IMzrJA;MAxHI,gBA0CG;IN0wJP;IM5rJA;MAxHI,sBA0CG;IN6wJP;IM/rJA;MAxHI,qBA0CG;INgxJP;IMlsJA;MAxHI,sBA0CG;INmxJP;IMrsJA;MAxHI,mBA0CG;INsxJP;IMxsJA;MAxHI,sBA0CG;INyxJP;IM3sJA;MAxHI,qBA0CG;IN4xJP;IM9sJA;MAxHI,mBA0CG;IN+xJP;IMjtJA;MAxHI,qBA0CG;INkyJP;IMptJA;MAxHI,mBA0CG;INqyJP;IMvtJA;MAxHI,mBA0CG;INwyJP;IM1tJA;MAxHI,eA0CG;IN2yJP;IM7tJA;MAxHI,qBA0CG;IN8yJP;IMhuJA;MAxHI,oBA0CG;INizJP;IMnuJA;MAxHI,qBA0CG;INozJP;IMtuJA;MAxHI,kBA0CG;INuzJP;IMzuJA;MAxHI,qBA0CG;IN0zJP;IM5uJA;MAxHI,oBA0CG;IN6zJP;IM/uJA;MAxHI,kBA0CG;INg0JP;IMlvJA;MAxHI,oBA0CG;INm0JP;IMrvJA;MAxHI,kBA0CG;INs0JP;IMxvJA;MAxHI,kBA0CG;INy0JP;IM3vJA;MAxHI,qBA0CG;IN40JP;IM9vJA;MAxHI,2BA0CG;IN+0JP;IMjwJA;MAxHI,0BA0CG;INk1JP;IMpwJA;MAxHI,2BA0CG;INq1JP;IMvwJA;MAxHI,wBA0CG;INw1JP;IM1wJA;MAxHI,2BA0CG;IN21JP;IM7wJA;MAxHI,0BA0CG;IN81JP;IMhxJA;MAxHI,wBA0CG;INi2JP;IMnxJA;MAxHI,0BA0CG;INo2JP;IMtxJA;MAxHI,wBA0CG;INu2JP;IMzxJA;MAxHI,wBA0CG;IN02JP;IM5xJA;MAxHI,oBA0CG;IN62JP;IM/xJA;MAxHI,0BA0CG;INg3JP;IMlyJA;MAxHI,yBA0CG;INm3JP;IMryJA;MAxHI,0BA0CG;INs3JP;IMxyJA;MAxHI,uBA0CG;INy3JP;IM3yJA;MAxHI,0BA0CG;IN43JP;IM9yJA;MAxHI,yBA0CG;IN+3JP;IMjzJA;MAxHI,uBA0CG;INk4JP;IMpzJA;MAxHI,yBA0CG;INq4JP;IMvzJA;MAxHI,uBA0CG;INw4JP;IM1zJA;MAxHI,uBA0CG;IN24JP;IM7zJA;MAxHI,mBA0CG;IN84JP;IMh0JA;MAxHI,yBA0CG;INi5JP;IMn0JA;MAxHI,wBA0CG;INo5JP;IMt0JA;MAxHI,yBA0CG;INu5JP;IMz0JA;MAxHI,sBA0CG;IN05JP;IM50JA;MAxHI,yBA0CG;IN65JP;IM/0JA;MAxHI,wBA0CG;INg6JP;IMl1JA;MAxHI,sBA0CG;INm6JP;IMr1JA;MAxHI,wBA0CG;INs6JP;IMx1JA;MAxHI,sBA0CG;INy6JP;IM31JA;MAxHI,sBA0CG;IN46JP;IM91JA;MAxHI,sBA0CG;IN+6JP;IMj2JA;MAxHI,4BA0CG;INk7JP;IMp2JA;MAxHI,2BA0CG;INq7JP;IMv2JA;MAxHI,4BA0CG;INw7JP;IM12JA;MAxHI,yBA0CG;IN27JP;IM72JA;MAxHI,4BA0CG;IN87JP;IMh3JA;MAxHI,2BA0CG;INi8JP;IMn3JA;MAxHI,yBA0CG;INo8JP;IMt3JA;MAxHI,2BA0CG;INu8JP;IMz3JA;MAxHI,yBA0CG;IN08JP;IM53JA;MAxHI,6BA0CG;IN68JP;IM/3JA;MAxHI,4BA0CG;INg9JP;IMl4JA;MAxHI,yBA0CG;INm9JP;IMr4JA;MAxHI,UA0CG;INs9JP;IMx4JA;MAxHI,gBA0CG;INy9JP;IM34JA;MAxHI,eA0CG;IN49JP;IM94JA;MAxHI,gBA0CG;IN+9JP;IMj5JA;MAxHI,aA0CG;INk+JP;IMp5JA;MAxHI,gBA0CG;INq+JP;IMv5JA;MAxHI,eA0CG;INw+JP;IM15JA;MAxHI,aA0CG;IN2+JP;IM75JA;MAxHI,eA0CG;IN8+JP;IMh6JA;MAxHI,aA0CG;INi/JP;IMn6JA;MAxHI,iBA0CG;INo/JP;IMt6JA;MAxHI,uBA0CG;INu/JP;IMz6JA;MAxHI,sBA0CG;IN0/JP;IM56JA;MAxHI,uBA0CG;IN6/JP;IM/6JA;MAxHI,oBA0CG;INggKP;IMl7JA;MAxHI,uBA0CG;INmgKP;IMr7JA;MAxHI,sBA0CG;INsgKP;IMx7JA;MAxHI,oBA0CG;INygKP;IM37JA;MAxHI,sBA0CG;IN4gKP;IM97JA;MAxHI,oBA0CG;IN+gKP;IMj8JA;MAxHI,gBA0CG;INkhKP;IMp8JA;MAxHI,sBA0CG;INqhKP;IMv8JA;MAxHI,qBA0CG;INwhKP;IM18JA;MAxHI,sBA0CG;IN2hKP;IM78JA;MAxHI,mBA0CG;IN8hKP;IMh9JA;MAxHI,sBA0CG;INiiKP;IMn9JA;MAxHI,qBA0CG;INoiKP;IMt9JA;MAxHI,mBA0CG;INuiKP;IMz9JA;MAxHI,qBA0CG;IN0iKP;IM59JA;MAxHI,mBA0CG;IN6iKP;IM/9JA;MAxHI,sBA0CG;INgjKP;IMl+JA;MAxHI,4BA0CG;INmjKP;IMr+JA;MAxHI,2BA0CG;INsjKP;IMx+JA;MAxHI,4BA0CG;INyjKP;IM3+JA;MAxHI,yBA0CG;IN4jKP;IM9+JA;MAxHI,4BA0CG;IN+jKP;IMj/JA;MAxHI,2BA0CG;INkkKP;IMp/JA;MAxHI,yBA0CG;INqkKP;IMv/JA;MAxHI,2BA0CG;INwkKP;IM1/JA;MAxHI,yBA0CG;IN2kKP;IM7/JA;MAxHI,qBA0CG;IN8kKP;IMhgKA;MAxHI,2BA0CG;INilKP;IMngKA;MAxHI,0BA0CG;INolKP;IMtgKA;MAxHI,2BA0CG;INulKP;IMzgKA;MAxHI,wBA0CG;IN0lKP;IM5gKA;MAxHI,2BA0CG;IN6lKP;IM/gKA;MAxHI,0BA0CG;INgmKP;IMlhKA;MAxHI,wBA0CG;INmmKP;IMrhKA;MAxHI,0BA0CG;INsmKP;IMxhKA;MAxHI,wBA0CG;INymKP;IM3hKA;MAxHI,oBA0CG;IN4mKP;IM9hKA;MAxHI,0BA0CG;IN+mKP;IMjiKA;MAxHI,yBA0CG;INknKP;IMpiKA;MAxHI,0BA0CG;INqnKP;IMviKA;MAxHI,uBA0CG;INwnKP;IM1iKA;MAxHI,0BA0CG;IN2nKP;IM7iKA;MAxHI,yBA0CG;IN8nKP;IMhjKA;MAxHI,uBA0CG;INioKP;IMnjKA;MAxHI,yBA0CG;INooKP;IMtjKA;MAxHI,uBA0CG;INuoKP;IMzjKA;MAxHI,uBA0CG;IN0oKP;IM5jKA;MAxHI,6BA0CG;IN6oKP;IM/jKA;MAxHI,4BA0CG;INgpKP;IMlkKA;MAxHI,6BA0CG;INmpKP;IMrkKA;MAxHI,0BA0CG;INspKP;IMxkKA;MAxHI,6BA0CG;INypKP;IM3kKA;MAxHI,4BA0CG;IN4pKP;IM9kKA;MAxHI,0BA0CG;IN+pKP;IMjlKA;MAxHI,4BA0CG;INkqKP;IMplKA;MAxHI,0BA0CG;INqqKP;IMvlKA;MAxHI,MA0CG;INwqKP;IM1lKA;MAxHI,YA0CG;IN2qKP;IM7lKA;MAxHI,WA0CG;IN8qKP;IMhmKA;MAxHI,YA0CG;INirKP;IMnmKA;MAxHI,SA0CG;INorKP;IMtmKA;MAxHI,YA0CG;INurKP;IMzmKA;MAxHI,WA0CG;IN0rKP;IM5mKA;MAxHI,SA0CG;IN6rKP;IM/mKA;MAxHI,WA0CG;INgsKP;IMlnKA;MAxHI,SA0CG;INmsKP;IMrnKA;MAxHI,UA0CG;INssKP;IMxnKA;MAxHI,gBA0CG;INysKP;IM3nKA;MAxHI,eA0CG;IN4sKP;IM9nKA;MAxHI,gBA0CG;IN+sKP;IMjoKA;MAxHI,aA0CG;INktKP;IMpoKA;MAxHI,gBA0CG;INqtKP;IMvoKA;MAxHI,eA0CG;INwtKP;IM1oKA;MAxHI,aA0CG;IN2tKP;IM7oKA;MAxHI,eA0CG;IN8tKP;IMhpKA;MAxHI,aA0CG;INiuKP;IMnpKA;MAxHI,kBA0CG;MA1CH,aA0CG;INouKP;IMtpKA;MAxHI,wBA0CG;MA1CH,mBA0CG;INuuKP;IMzpKA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN0uKP;IM5pKA;MAxHI,wBA0CG;MA1CH,mBA0CG;IN6uKP;IM/pKA;MAxHI,qBA0CG;MA1CH,gBA0CG;INgvKP;IMlqKA;MAxHI,wBA0CG;MA1CH,mBA0CG;INmvKP;IMrqKA;MAxHI,uBA0CG;MA1CH,kBA0CG;INsvKP;IMxqKA;MAxHI,qBA0CG;MA1CH,gBA0CG;INyvKP;IM3qKA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN4vKP;IM9qKA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN+vKP;EACF;ECvvKE;IKqEA;MAxHI,eA+CO;IN+vKX;IMtrKA;MAxHI,qBA+CO;INkwKX;IMzrKA;MAxHI,cA+CO;INqwKX;IM5rKA;MAxHI,aA+CO;INwwKX;IM/rKA;MAxHI,oBA+CO;IN2wKX;IMlsKA;MAxHI,cA+CO;IN8wKX;IMrsKA;MAxHI,kBA+CO;INixKX;IMxsKA;MAxHI,mBA+CO;INoxKX;IM3sKA;MAxHI,aA+CO;INuxKX;IM9sKA;MAxHI,oBA+CO;IN0xKX;IMjtKA;MAxHI,iBA+CO;IN6xKX;IMptKA;MAxHI,kBA+CO;INgyKX;IMvtKA;MAxHI,aA+CO;INmyKX;IM1tKA;MAxHI,cA0CG;IN2yKP;IM7tKA;MAxHI,mBA+CO;INyyKX;IMhuKA;MAxHI,sBA+CO;IN4yKX;IMnuKA;MAxHI,2BA+CO;IN+yKX;IMtuKA;MAxHI,8BA+CO;INkzKX;IMzuKA;MAxHI,YA0CG;IN0zKP;IM5uKA;MAxHI,YA0CG;IN6zKP;IM/uKA;MAxHI,cA0CG;INg0KP;IMlvKA;MAxHI,cA0CG;INm0KP;IMrvKA;MAxHI,eA+CO;INi0KX;IMxvKA;MAxHI,iBA+CO;INo0KX;IM3vKA;MAxHI,uBA+CO;INu0KX;IM9vKA;MAxHI,2BA0CG;IN+0KP;IMjwKA;MAxHI,yBA0CG;INk1KP;IMpwKA;MAxHI,uBA0CG;INq1KP;IMvwKA;MAxHI,8BA0CG;INw1KP;IM1wKA;MAxHI,6BA0CG;IN21KP;IM7wKA;MAxHI,6BA0CG;IN81KP;IMhxKA;MAxHI,oBA0CG;INi2KP;IMnxKA;MAxHI,kBA0CG;INo2KP;IMtxKA;MAxHI,qBA0CG;INu2KP;IMzxKA;MAxHI,sBA0CG;IN02KP;IM5xKA;MAxHI,uBA0CG;IN62KP;IM/xKA;MAxHI,qBA0CG;INg3KP;IMlyKA;MAxHI,mBA0CG;INm3KP;IMryKA;MAxHI,qBA0CG;INs3KP;IMxyKA;MAxHI,oBA0CG;INy3KP;IM3yKA;MAxHI,yBA0CG;IN43KP;IM9yKA;MAxHI,uBA0CG;IN+3KP;IMjzKA;MAxHI,qBA0CG;INk4KP;IMpzKA;MAxHI,4BA0CG;INq4KP;IMvzKA;MAxHI,2BA0CG;INw4KP;IM1zKA;MAxHI,sBA0CG;IN24KP;IM7zKA;MAxHI,gBA0CG;IN84KP;IMh0KA;MAxHI,sBA0CG;INi5KP;IMn0KA;MAxHI,oBA0CG;INo5KP;IMt0KA;MAxHI,kBA0CG;INu5KP;IMz0KA;MAxHI,oBA0CG;IN05KP;IM50KA;MAxHI,mBA0CG;IN65KP;IM/0KA;MAxHI,kBA0CG;INg6KP;IMl1KA;MAxHI,gBA0CG;INm6KP;IMr1KA;MAxHI,mBA0CG;INs6KP;IMx1KA;MAxHI,oBA0CG;INy6KP;IM31KA;MAxHI,0BA0CG;IN46KP;IM91KA;MAxHI,qCA0CG;IN+6KP;IMj2KA;MAxHI,qCA0CG;INk7KP;IMp2KA;MAxHI,qCA0CG;INq7KP;IMv2KA;MAxHI,qCA0CG;INw7KP;IM12KA;MAxHI,mBA0CG;IN27KP;IM72KA;MAxHI,mBA+CO;INy7KX;IMh3KA;MAxHI,sBA+CO;IN47KX;IMn3KA;MAxHI,qBA+CO;IN+7KX;IMt3KA;MAxHI,SA0CG;INu8KP;IMz3KA;MAxHI,QA0CG;IN08KP;IM53KA;MAxHI,QA0CG;IN68KP;IM/3KA;MAxHI,QA0CG;INg9KP;IMl4KA;MAxHI,QA0CG;INm9KP;IMr4KA;MAxHI,QA0CG;INs9KP;IMx4KA;MAxHI,QA0CG;INy9KP;IM34KA;MAxHI,QA0CG;IN49KP;IM94KA;MAxHI,SA0CG;IN+9KP;IMj5KA;MAxHI,eA0CG;INk+KP;IMp5KA;MAxHI,cA0CG;INq+KP;IMv5KA;MAxHI,eA0CG;INw+KP;IM15KA;MAxHI,YA0CG;IN2+KP;IM75KA;MAxHI,eA0CG;IN8+KP;IMh6KA;MAxHI,cA0CG;INi/KP;IMn6KA;MAxHI,YA0CG;INo/KP;IMt6KA;MAxHI,cA0CG;INu/KP;IMz6KA;MAxHI,YA0CG;IN0/KP;IM56KA;MAxHI,YA0CG;IN6/KP;IM/6KA;MAxHI,gBA0CG;INggLP;IMl7KA;MAxHI,sBA0CG;INmgLP;IMr7KA;MAxHI,qBA0CG;INsgLP;IMx7KA;MAxHI,sBA0CG;INygLP;IM37KA;MAxHI,mBA0CG;IN4gLP;IM97KA;MAxHI,sBA0CG;IN+gLP;IMj8KA;MAxHI,qBA0CG;INkhLP;IMp8KA;MAxHI,mBA0CG;INqhLP;IMv8KA;MAxHI,qBA0CG;INwhLP;IM18KA;MAxHI,mBA0CG;IN2hLP;IM78KA;MAxHI,mBA0CG;IN8hLP;IMh9KA;MAxHI,eA0CG;INiiLP;IMn9KA;MAxHI,qBA0CG;INoiLP;IMt9KA;MAxHI,oBA0CG;INuiLP;IMz9KA;MAxHI,qBA0CG;IN0iLP;IM59KA;MAxHI,kBA0CG;IN6iLP;IM/9KA;MAxHI,qBA0CG;INgjLP;IMl+KA;MAxHI,oBA0CG;INmjLP;IMr+KA;MAxHI,kBA0CG;INsjLP;IMx+KA;MAxHI,oBA0CG;INyjLP;IM3+KA;MAxHI,kBA0CG;IN4jLP;IM9+KA;MAxHI,kBA0CG;IN+jLP;IMj/KA;MAxHI,qBA0CG;INkkLP;IMp/KA;MAxHI,2BA0CG;INqkLP;IMv/KA;MAxHI,0BA0CG;INwkLP;IM1/KA;MAxHI,2BA0CG;IN2kLP;IM7/KA;MAxHI,wBA0CG;IN8kLP;IMhgLA;MAxHI,2BA0CG;INilLP;IMngLA;MAxHI,0BA0CG;INolLP;IMtgLA;MAxHI,wBA0CG;INulLP;IMzgLA;MAxHI,0BA0CG;IN0lLP;IM5gLA;MAxHI,wBA0CG;IN6lLP;IM/gLA;MAxHI,wBA0CG;INgmLP;IMlhLA;MAxHI,oBA0CG;INmmLP;IMrhLA;MAxHI,0BA0CG;INsmLP;IMxhLA;MAxHI,yBA0CG;INymLP;IM3hLA;MAxHI,0BA0CG;IN4mLP;IM9hLA;MAxHI,uBA0CG;IN+mLP;IMjiLA;MAxHI,0BA0CG;INknLP;IMpiLA;MAxHI,yBA0CG;INqnLP;IMviLA;MAxHI,uBA0CG;INwnLP;IM1iLA;MAxHI,yBA0CG;IN2nLP;IM7iLA;MAxHI,uBA0CG;IN8nLP;IMhjLA;MAxHI,uBA0CG;INioLP;IMnjLA;MAxHI,mBA0CG;INooLP;IMtjLA;MAxHI,yBA0CG;INuoLP;IMzjLA;MAxHI,wBA0CG;IN0oLP;IM5jLA;MAxHI,yBA0CG;IN6oLP;IM/jLA;MAxHI,sBA0CG;INgpLP;IMlkLA;MAxHI,yBA0CG;INmpLP;IMrkLA;MAxHI,wBA0CG;INspLP;IMxkLA;MAxHI,sBA0CG;INypLP;IM3kLA;MAxHI,wBA0CG;IN4pLP;IM9kLA;MAxHI,sBA0CG;IN+pLP;IMjlLA;MAxHI,sBA0CG;INkqLP;IMplLA;MAxHI,sBA0CG;INqqLP;IMvlLA;MAxHI,4BA0CG;INwqLP;IM1lLA;MAxHI,2BA0CG;IN2qLP;IM7lLA;MAxHI,4BA0CG;IN8qLP;IMhmLA;MAxHI,yBA0CG;INirLP;IMnmLA;MAxHI,4BA0CG;INorLP;IMtmLA;MAxHI,2BA0CG;INurLP;IMzmLA;MAxHI,yBA0CG;IN0rLP;IM5mLA;MAxHI,2BA0CG;IN6rLP;IM/mLA;MAxHI,yBA0CG;INgsLP;IMlnLA;MAxHI,6BA0CG;INmsLP;IMrnLA;MAxHI,4BA0CG;INssLP;IMxnLA;MAxHI,yBA0CG;INysLP;IM3nLA;MAxHI,UA0CG;IN4sLP;IM9nLA;MAxHI,gBA0CG;IN+sLP;IMjoLA;MAxHI,eA0CG;INktLP;IMpoLA;MAxHI,gBA0CG;INqtLP;IMvoLA;MAxHI,aA0CG;INwtLP;IM1oLA;MAxHI,gBA0CG;IN2tLP;IM7oLA;MAxHI,eA0CG;IN8tLP;IMhpLA;MAxHI,aA0CG;INiuLP;IMnpLA;MAxHI,eA0CG;INouLP;IMtpLA;MAxHI,aA0CG;INuuLP;IMzpLA;MAxHI,iBA0CG;IN0uLP;IM5pLA;MAxHI,uBA0CG;IN6uLP;IM/pLA;MAxHI,sBA0CG;INgvLP;IMlqLA;MAxHI,uBA0CG;INmvLP;IMrqLA;MAxHI,oBA0CG;INsvLP;IMxqLA;MAxHI,uBA0CG;INyvLP;IM3qLA;MAxHI,sBA0CG;IN4vLP;IM9qLA;MAxHI,oBA0CG;IN+vLP;IMjrLA;MAxHI,sBA0CG;INkwLP;IMprLA;MAxHI,oBA0CG;INqwLP;IMvrLA;MAxHI,gBA0CG;INwwLP;IM1rLA;MAxHI,sBA0CG;IN2wLP;IM7rLA;MAxHI,qBA0CG;IN8wLP;IMhsLA;MAxHI,sBA0CG;INixLP;IMnsLA;MAxHI,mBA0CG;INoxLP;IMtsLA;MAxHI,sBA0CG;INuxLP;IMzsLA;MAxHI,qBA0CG;IN0xLP;IM5sLA;MAxHI,mBA0CG;IN6xLP;IM/sLA;MAxHI,qBA0CG;INgyLP;IMltLA;MAxHI,mBA0CG;INmyLP;IMrtLA;MAxHI,sBA0CG;INsyLP;IMxtLA;MAxHI,4BA0CG;INyyLP;IM3tLA;MAxHI,2BA0CG;IN4yLP;IM9tLA;MAxHI,4BA0CG;IN+yLP;IMjuLA;MAxHI,yBA0CG;INkzLP;IMpuLA;MAxHI,4BA0CG;INqzLP;IMvuLA;MAxHI,2BA0CG;INwzLP;IM1uLA;MAxHI,yBA0CG;IN2zLP;IM7uLA;MAxHI,2BA0CG;IN8zLP;IMhvLA;MAxHI,yBA0CG;INi0LP;IMnvLA;MAxHI,qBA0CG;INo0LP;IMtvLA;MAxHI,2BA0CG;INu0LP;IMzvLA;MAxHI,0BA0CG;IN00LP;IM5vLA;MAxHI,2BA0CG;IN60LP;IM/vLA;MAxHI,wBA0CG;INg1LP;IMlwLA;MAxHI,2BA0CG;INm1LP;IMrwLA;MAxHI,0BA0CG;INs1LP;IMxwLA;MAxHI,wBA0CG;INy1LP;IM3wLA;MAxHI,0BA0CG;IN41LP;IM9wLA;MAxHI,wBA0CG;IN+1LP;IMjxLA;MAxHI,oBA0CG;INk2LP;IMpxLA;MAxHI,0BA0CG;INq2LP;IMvxLA;MAxHI,yBA0CG;INw2LP;IM1xLA;MAxHI,0BA0CG;IN22LP;IM7xLA;MAxHI,uBA0CG;IN82LP;IMhyLA;MAxHI,0BA0CG;INi3LP;IMnyLA;MAxHI,yBA0CG;INo3LP;IMtyLA;MAxHI,uBA0CG;INu3LP;IMzyLA;MAxHI,yBA0CG;IN03LP;IM5yLA;MAxHI,uBA0CG;IN63LP;IM/yLA;MAxHI,uBA0CG;INg4LP;IMlzLA;MAxHI,6BA0CG;INm4LP;IMrzLA;MAxHI,4BA0CG;INs4LP;IMxzLA;MAxHI,6BA0CG;INy4LP;IM3zLA;MAxHI,0BA0CG;IN44LP;IM9zLA;MAxHI,6BA0CG;IN+4LP;IMj0LA;MAxHI,4BA0CG;INk5LP;IMp0LA;MAxHI,0BA0CG;INq5LP;IMv0LA;MAxHI,4BA0CG;INw5LP;IM10LA;MAxHI,0BA0CG;IN25LP;IM70LA;MAxHI,MA0CG;IN85LP;IMh1LA;MAxHI,YA0CG;INi6LP;IMn1LA;MAxHI,WA0CG;INo6LP;IMt1LA;MAxHI,YA0CG;INu6LP;IMz1LA;MAxHI,SA0CG;IN06LP;IM51LA;MAxHI,YA0CG;IN66LP;IM/1LA;MAxHI,WA0CG;INg7LP;IMl2LA;MAxHI,SA0CG;INm7LP;IMr2LA;MAxHI,WA0CG;INs7LP;IMx2LA;MAxHI,SA0CG;INy7LP;IM32LA;MAxHI,UA0CG;IN47LP;IM92LA;MAxHI,gBA0CG;IN+7LP;IMj3LA;MAxHI,eA0CG;INk8LP;IMp3LA;MAxHI,gBA0CG;INq8LP;IMv3LA;MAxHI,aA0CG;INw8LP;IM13LA;MAxHI,gBA0CG;IN28LP;IM73LA;MAxHI,eA0CG;IN88LP;IMh4LA;MAxHI,aA0CG;INi9LP;IMn4LA;MAxHI,eA0CG;INo9LP;IMt4LA;MAxHI,aA0CG;INu9LP;IMz4LA;MAxHI,kBA0CG;MA1CH,aA0CG;IN09LP;IM54LA;MAxHI,wBA0CG;MA1CH,mBA0CG;IN69LP;IM/4LA;MAxHI,uBA0CG;MA1CH,kBA0CG;INg+LP;IMl5LA;MAxHI,wBA0CG;MA1CH,mBA0CG;INm+LP;IMr5LA;MAxHI,qBA0CG;MA1CH,gBA0CG;INs+LP;IMx5LA;MAxHI,wBA0CG;MA1CH,mBA0CG;INy+LP;IM35LA;MAxHI,uBA0CG;MA1CH,kBA0CG;IN4+LP;IM95LA;MAxHI,qBA0CG;MA1CH,gBA0CG;IN++LP;IMj6LA;MAxHI,uBA0CG;MA1CH,kBA0CG;INk/LP;IMp6LA;MAxHI,qBA0CG;MA1CH,gBA0CG;INq/LP;EACF;AACF;AO9iMA;EAEI,qBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,0BAAA;EAAA,2BAAA;APojMJ","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 0.75rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 0.75rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 1.25rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 1.25rem;\n  }\n  .g-6,\n  .gx-6 {\n    --gutter-x: 1.5rem;\n  }\n  .g-6,\n  .gy-6 {\n    --gutter-y: 1.5rem;\n  }\n  .g-7,\n  .gx-7 {\n    --gutter-x: 2rem;\n  }\n  .g-7,\n  .gy-7 {\n    --gutter-y: 2rem;\n  }\n  .g-8,\n  .gx-8 {\n    --gutter-x: 2.5rem;\n  }\n  .g-8,\n  .gy-8 {\n    --gutter-y: 2.5rem;\n  }\n  .g-9,\n  .gx-9 {\n    --gutter-x: 3rem;\n  }\n  .g-9,\n  .gy-9 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .md\\:g-6,\n    .md\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-6,\n    .md\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-7,\n    .md\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .md\\:g-7,\n    .md\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .md\\:g-8,\n    .md\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .md\\:g-8,\n    .md\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .md\\:g-9,\n    .md\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-9,\n    .md\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-1 {\n    grid-template-columns: 1fr;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 0.75rem;\n  }\n  .m-4 {\n    margin: 1rem;\n  }\n  .m-5 {\n    margin: 1.25rem;\n  }\n  .m-6 {\n    margin: 1.5rem;\n  }\n  .m-7 {\n    margin: 2rem;\n  }\n  .m-8 {\n    margin: 2.5rem;\n  }\n  .m-9 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 0.75rem;\n  }\n  .mx-4 {\n    margin-inline: 1rem;\n  }\n  .mx-5 {\n    margin-inline: 1.25rem;\n  }\n  .mx-6 {\n    margin-inline: 1.5rem;\n  }\n  .mx-7 {\n    margin-inline: 2rem;\n  }\n  .mx-8 {\n    margin-inline: 2.5rem;\n  }\n  .mx-9 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 0.75rem;\n  }\n  .my-4 {\n    margin-block: 1rem;\n  }\n  .my-5 {\n    margin-block: 1.25rem;\n  }\n  .my-6 {\n    margin-block: 1.5rem;\n  }\n  .my-7 {\n    margin-block: 2rem;\n  }\n  .my-8 {\n    margin-block: 2.5rem;\n  }\n  .my-9 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 0.75rem;\n  }\n  .mt-4 {\n    margin-block-start: 1rem;\n  }\n  .mt-5 {\n    margin-block-start: 1.25rem;\n  }\n  .mt-6 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-7 {\n    margin-block-start: 2rem;\n  }\n  .mt-8 {\n    margin-block-start: 2.5rem;\n  }\n  .mt-9 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 0.75rem;\n  }\n  .me-4 {\n    margin-inline-end: 1rem;\n  }\n  .me-5 {\n    margin-inline-end: 1.25rem;\n  }\n  .me-6 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-7 {\n    margin-inline-end: 2rem;\n  }\n  .me-8 {\n    margin-inline-end: 2.5rem;\n  }\n  .me-9 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 0.75rem;\n  }\n  .mb-4 {\n    margin-block-end: 1rem;\n  }\n  .mb-5 {\n    margin-block-end: 1.25rem;\n  }\n  .mb-6 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-7 {\n    margin-block-end: 2rem;\n  }\n  .mb-8 {\n    margin-block-end: 2.5rem;\n  }\n  .mb-9 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 0.75rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1rem;\n  }\n  .ms-5 {\n    margin-inline-start: 1.25rem;\n  }\n  .ms-6 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-7 {\n    margin-inline-start: 2rem;\n  }\n  .ms-8 {\n    margin-inline-start: 2.5rem;\n  }\n  .ms-9 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 0.75rem;\n  }\n  .p-4 {\n    padding: 1rem;\n  }\n  .p-5 {\n    padding: 1.25rem;\n  }\n  .p-6 {\n    padding: 1.5rem;\n  }\n  .p-7 {\n    padding: 2rem;\n  }\n  .p-8 {\n    padding: 2.5rem;\n  }\n  .p-9 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 0.75rem;\n  }\n  .px-4 {\n    padding-inline: 1rem;\n  }\n  .px-5 {\n    padding-inline: 1.25rem;\n  }\n  .px-6 {\n    padding-inline: 1.5rem;\n  }\n  .px-7 {\n    padding-inline: 2rem;\n  }\n  .px-8 {\n    padding-inline: 2.5rem;\n  }\n  .px-9 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 0.75rem;\n  }\n  .py-4 {\n    padding-block: 1rem;\n  }\n  .py-5 {\n    padding-block: 1.25rem;\n  }\n  .py-6 {\n    padding-block: 1.5rem;\n  }\n  .py-7 {\n    padding-block: 2rem;\n  }\n  .py-8 {\n    padding-block: 2.5rem;\n  }\n  .py-9 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 0.75rem;\n  }\n  .pt-4 {\n    padding-block-start: 1rem;\n  }\n  .pt-5 {\n    padding-block-start: 1.25rem;\n  }\n  .pt-6 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-7 {\n    padding-block-start: 2rem;\n  }\n  .pt-8 {\n    padding-block-start: 2.5rem;\n  }\n  .pt-9 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1rem;\n  }\n  .pe-5 {\n    padding-inline-end: 1.25rem;\n  }\n  .pe-6 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-7 {\n    padding-inline-end: 2rem;\n  }\n  .pe-8 {\n    padding-inline-end: 2.5rem;\n  }\n  .pe-9 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 0.75rem;\n  }\n  .pb-4 {\n    padding-block-end: 1rem;\n  }\n  .pb-5 {\n    padding-block-end: 1.25rem;\n  }\n  .pb-6 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-7 {\n    padding-block-end: 2rem;\n  }\n  .pb-8 {\n    padding-block-end: 2.5rem;\n  }\n  .pb-9 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 0.75rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1rem;\n  }\n  .ps-5 {\n    padding-inline-start: 1.25rem;\n  }\n  .ps-6 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-7 {\n    padding-inline-start: 2rem;\n  }\n  .ps-8 {\n    padding-inline-start: 2.5rem;\n  }\n  .ps-9 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 0.75rem;\n  }\n  .gap-4 {\n    gap: 1rem;\n  }\n  .gap-5 {\n    gap: 1.25rem;\n  }\n  .gap-6 {\n    gap: 1.5rem;\n  }\n  .gap-7 {\n    gap: 2rem;\n  }\n  .gap-8 {\n    gap: 2.5rem;\n  }\n  .gap-9 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 0.75rem;\n  }\n  .row-gap-4 {\n    row-gap: 1rem;\n  }\n  .row-gap-5 {\n    row-gap: 1.25rem;\n  }\n  .row-gap-6 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-7 {\n    row-gap: 2rem;\n  }\n  .row-gap-8 {\n    row-gap: 2.5rem;\n  }\n  .row-gap-9 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 0.75rem;\n  }\n  .column-gap-4 {\n    column-gap: 1rem;\n  }\n  .column-gap-5 {\n    column-gap: 1.25rem;\n  }\n  .column-gap-6 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-7 {\n    column-gap: 2rem;\n  }\n  .column-gap-8 {\n    column-gap: 2.5rem;\n  }\n  .column-gap-9 {\n    column-gap: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 0.75rem;\n    }\n    .sm\\:m-4 {\n      margin: 1rem;\n    }\n    .sm\\:m-5 {\n      margin: 1.25rem;\n    }\n    .sm\\:m-6 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-7 {\n      margin: 2rem;\n    }\n    .sm\\:m-8 {\n      margin: 2.5rem;\n    }\n    .sm\\:m-9 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .sm\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .sm\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .sm\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .sm\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-7 {\n      margin-block: 2rem;\n    }\n    .sm\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .sm\\:my-9 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .sm\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .sm\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .sm\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .sm\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .sm\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .sm\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .sm\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .sm\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .sm\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .sm\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .sm\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .sm\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 0.75rem;\n    }\n    .sm\\:p-4 {\n      padding: 1rem;\n    }\n    .sm\\:p-5 {\n      padding: 1.25rem;\n    }\n    .sm\\:p-6 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-7 {\n      padding: 2rem;\n    }\n    .sm\\:p-8 {\n      padding: 2.5rem;\n    }\n    .sm\\:p-9 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .sm\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .sm\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .sm\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .sm\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-7 {\n      padding-block: 2rem;\n    }\n    .sm\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .sm\\:py-9 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .sm\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .sm\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .sm\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .sm\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .sm\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .sm\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .sm\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .sm\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .sm\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .sm\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .sm\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .sm\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1rem;\n    }\n    .sm\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .sm\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-7 {\n      gap: 2rem;\n    }\n    .sm\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .sm\\:gap-9 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .sm\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .sm\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .sm\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .sm\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .sm\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .sm\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 0.75rem;\n    }\n    .md\\:m-4 {\n      margin: 1rem;\n    }\n    .md\\:m-5 {\n      margin: 1.25rem;\n    }\n    .md\\:m-6 {\n      margin: 1.5rem;\n    }\n    .md\\:m-7 {\n      margin: 2rem;\n    }\n    .md\\:m-8 {\n      margin: 2.5rem;\n    }\n    .md\\:m-9 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .md\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .md\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .md\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1rem;\n    }\n    .md\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .md\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-7 {\n      margin-block: 2rem;\n    }\n    .md\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .md\\:my-9 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .md\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .md\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .md\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .md\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .md\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .md\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .md\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .md\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .md\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .md\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .md\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .md\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 0.75rem;\n    }\n    .md\\:p-4 {\n      padding: 1rem;\n    }\n    .md\\:p-5 {\n      padding: 1.25rem;\n    }\n    .md\\:p-6 {\n      padding: 1.5rem;\n    }\n    .md\\:p-7 {\n      padding: 2rem;\n    }\n    .md\\:p-8 {\n      padding: 2.5rem;\n    }\n    .md\\:p-9 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .md\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .md\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .md\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1rem;\n    }\n    .md\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .md\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-7 {\n      padding-block: 2rem;\n    }\n    .md\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .md\\:py-9 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .md\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .md\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .md\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .md\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .md\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .md\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .md\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .md\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .md\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .md\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .md\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .md\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .md\\:gap-4 {\n      gap: 1rem;\n    }\n    .md\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .md\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-7 {\n      gap: 2rem;\n    }\n    .md\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .md\\:gap-9 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .md\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .md\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .md\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .md\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .md\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .md\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 0.75rem;\n    }\n    .lg\\:m-4 {\n      margin: 1rem;\n    }\n    .lg\\:m-5 {\n      margin: 1.25rem;\n    }\n    .lg\\:m-6 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-7 {\n      margin: 2rem;\n    }\n    .lg\\:m-8 {\n      margin: 2.5rem;\n    }\n    .lg\\:m-9 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .lg\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .lg\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .lg\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .lg\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-7 {\n      margin-block: 2rem;\n    }\n    .lg\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .lg\\:my-9 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .lg\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .lg\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .lg\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .lg\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .lg\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .lg\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .lg\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .lg\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .lg\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .lg\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .lg\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .lg\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 0.75rem;\n    }\n    .lg\\:p-4 {\n      padding: 1rem;\n    }\n    .lg\\:p-5 {\n      padding: 1.25rem;\n    }\n    .lg\\:p-6 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-7 {\n      padding: 2rem;\n    }\n    .lg\\:p-8 {\n      padding: 2.5rem;\n    }\n    .lg\\:p-9 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .lg\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .lg\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .lg\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .lg\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-7 {\n      padding-block: 2rem;\n    }\n    .lg\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .lg\\:py-9 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .lg\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .lg\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .lg\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .lg\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .lg\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .lg\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .lg\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .lg\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .lg\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .lg\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .lg\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .lg\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1rem;\n    }\n    .lg\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .lg\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-7 {\n      gap: 2rem;\n    }\n    .lg\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .lg\\:gap-9 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .lg\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .lg\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .lg\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .lg\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .lg\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .lg\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .xl\\:m-4 {\n      margin: 1rem;\n    }\n    .xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-7 {\n      margin: 2rem;\n    }\n    .xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .xl\\:m-9 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .xl\\:p-4 {\n      padding: 1rem;\n    }\n    .xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-7 {\n      padding: 2rem;\n    }\n    .xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .xl\\:p-9 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .\\32 xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-7 {\n      margin: 2rem;\n    }\n    .\\32 xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .\\32 xl\\:m-9 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .\\32 xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .\\32 xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .\\32 xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .\\32 xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .\\32 xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .\\32 xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .\\32 xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .\\32 xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .\\32 xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .\\32 xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .\\32 xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .\\32 xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .\\32 xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .\\32 xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .\\32 xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-7 {\n      padding: 2rem;\n    }\n    .\\32 xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .\\32 xl\\:p-9 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .\\32 xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .\\32 xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .\\32 xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .\\32 xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .\\32 xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .\\32 xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .\\32 xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .\\32 xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .\\32 xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .\\32 xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .\\32 xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .\\32 xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .\\32 xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .\\32 xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .\\32 xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .\\32 xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .\\32 xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .\\32 xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .\\32 xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .\\32 xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .\\32 xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .\\32 xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .\\32 xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n","@use \"banner\" with (\n  $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n  $utilities,\n  (\n    \"display\",\n    \"order\",\n    \"grid-column-counts\",\n    \"grid-columns\",\n    \"grid-auto-flow\",\n    \"gap\",\n    \"row-gap\",\n    \"column-gap\",\n    \"flex\",\n    \"flex-direction\",\n    \"flex-grow\",\n    \"flex-shrink\",\n    \"flex-wrap\",\n    \"justify-content\",\n    \"justify-items\",\n    \"align-items\",\n    \"align-content\",\n    \"align-self\",\n    \"place-items\",\n    \"margin\",\n    \"margin-x\",\n    \"margin-y\",\n    \"margin-top\",\n    \"margin-end\",\n    \"margin-bottom\",\n    \"margin-start\",\n    \"negative-margin\",\n    \"negative-margin-x\",\n    \"negative-margin-y\",\n    \"negative-margin-top\",\n    \"negative-margin-end\",\n    \"negative-margin-bottom\",\n    \"negative-margin-start\",\n    \"padding\",\n    \"padding-x\",\n    \"padding-y\",\n    \"padding-top\",\n    \"padding-end\",\n    \"padding-bottom\",\n    \"padding-start\",\n  )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n  @each $name, $value in $breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n"]}
\ No newline at end of file
index 7db71596a0f24fbbd1ef25d9195286e194d8aebf..5a3ad5b1b31756fc427704e8769c0b8a73b790b4 100644 (file)
@@ -3,5 +3,5 @@
   * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-@layer layout{.container,.container-fluid,.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline:auto}@media (min-width:576px){.sm\:container,.container{max-width:540px}}@media (min-width:768px){.md\:container,.sm\:container,.container{max-width:720px}}@media (min-width:1024px){.lg\:container,.md\:container,.sm\:container,.container{max-width:960px}}@media (min-width:1280px){.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1200px}}@media (min-width:1536px){.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.sm\:col{flex:1 0 0}.sm\:row-cols-auto>*{flex:none;width:auto}.sm\:row-cols-1>*{flex:none;width:100%}.sm\:row-cols-2>*{flex:none;width:50%}.sm\:row-cols-3>*{flex:none;width:33.3333%}.sm\:row-cols-4>*{flex:none;width:25%}.sm\:row-cols-5>*{flex:none;width:20%}.sm\:row-cols-6>*{flex:none;width:16.6667%}.sm\:col-auto{flex:none;width:auto}.sm\:col-1{flex:none;width:8.33333%}.sm\:col-2{flex:none;width:16.6667%}.sm\:col-3{flex:none;width:25%}.sm\:col-4{flex:none;width:33.3333%}.sm\:col-5{flex:none;width:41.6667%}.sm\:col-6{flex:none;width:50%}.sm\:col-7{flex:none;width:58.3333%}.sm\:col-8{flex:none;width:66.6667%}.sm\:col-9{flex:none;width:75%}.sm\:col-10{flex:none;width:83.3333%}.sm\:col-11{flex:none;width:91.6667%}.sm\:col-12{flex:none;width:100%}.sm\:offset-0{margin-inline-start:0}.sm\:offset-1{margin-inline-start:8.33333%}.sm\:offset-2{margin-inline-start:16.6667%}.sm\:offset-3{margin-inline-start:25%}.sm\:offset-4{margin-inline-start:33.3333%}.sm\:offset-5{margin-inline-start:41.6667%}.sm\:offset-6{margin-inline-start:50%}.sm\:offset-7{margin-inline-start:58.3333%}.sm\:offset-8{margin-inline-start:66.6667%}.sm\:offset-9{margin-inline-start:75%}.sm\:offset-10{margin-inline-start:83.3333%}.sm\:offset-11{margin-inline-start:91.6667%}.sm\:g-0,.sm\:gx-0{--bs-gutter-x:0}.sm\:g-0,.sm\:gy-0{--bs-gutter-y:0}.sm\:g-1,.sm\:gx-1{--bs-gutter-x:.25rem}.sm\:g-1,.sm\:gy-1{--bs-gutter-y:.25rem}.sm\:g-2,.sm\:gx-2{--bs-gutter-x:.5rem}.sm\:g-2,.sm\:gy-2{--bs-gutter-y:.5rem}.sm\:g-3,.sm\:gx-3{--bs-gutter-x:1rem}.sm\:g-3,.sm\:gy-3{--bs-gutter-y:1rem}.sm\:g-4,.sm\:gx-4{--bs-gutter-x:1.5rem}.sm\:g-4,.sm\:gy-4{--bs-gutter-y:1.5rem}.sm\:g-5,.sm\:gx-5{--bs-gutter-x:3rem}.sm\:g-5,.sm\:gy-5{--bs-gutter-y:3rem}}@media (min-width:768px){.md\:col{flex:1 0 0}.md\:row-cols-auto>*{flex:none;width:auto}.md\:row-cols-1>*{flex:none;width:100%}.md\:row-cols-2>*{flex:none;width:50%}.md\:row-cols-3>*{flex:none;width:33.3333%}.md\:row-cols-4>*{flex:none;width:25%}.md\:row-cols-5>*{flex:none;width:20%}.md\:row-cols-6>*{flex:none;width:16.6667%}.md\:col-auto{flex:none;width:auto}.md\:col-1{flex:none;width:8.33333%}.md\:col-2{flex:none;width:16.6667%}.md\:col-3{flex:none;width:25%}.md\:col-4{flex:none;width:33.3333%}.md\:col-5{flex:none;width:41.6667%}.md\:col-6{flex:none;width:50%}.md\:col-7{flex:none;width:58.3333%}.md\:col-8{flex:none;width:66.6667%}.md\:col-9{flex:none;width:75%}.md\:col-10{flex:none;width:83.3333%}.md\:col-11{flex:none;width:91.6667%}.md\:col-12{flex:none;width:100%}.md\:offset-0{margin-inline-start:0}.md\:offset-1{margin-inline-start:8.33333%}.md\:offset-2{margin-inline-start:16.6667%}.md\:offset-3{margin-inline-start:25%}.md\:offset-4{margin-inline-start:33.3333%}.md\:offset-5{margin-inline-start:41.6667%}.md\:offset-6{margin-inline-start:50%}.md\:offset-7{margin-inline-start:58.3333%}.md\:offset-8{margin-inline-start:66.6667%}.md\:offset-9{margin-inline-start:75%}.md\:offset-10{margin-inline-start:83.3333%}.md\:offset-11{margin-inline-start:91.6667%}.md\:g-0,.md\:gx-0{--bs-gutter-x:0}.md\:g-0,.md\:gy-0{--bs-gutter-y:0}.md\:g-1,.md\:gx-1{--bs-gutter-x:.25rem}.md\:g-1,.md\:gy-1{--bs-gutter-y:.25rem}.md\:g-2,.md\:gx-2{--bs-gutter-x:.5rem}.md\:g-2,.md\:gy-2{--bs-gutter-y:.5rem}.md\:g-3,.md\:gx-3{--bs-gutter-x:1rem}.md\:g-3,.md\:gy-3{--bs-gutter-y:1rem}.md\:g-4,.md\:gx-4{--bs-gutter-x:1.5rem}.md\:g-4,.md\:gy-4{--bs-gutter-y:1.5rem}.md\:g-5,.md\:gx-5{--bs-gutter-x:3rem}.md\:g-5,.md\:gy-5{--bs-gutter-y:3rem}}@media (min-width:1024px){.lg\:col{flex:1 0 0}.lg\:row-cols-auto>*{flex:none;width:auto}.lg\:row-cols-1>*{flex:none;width:100%}.lg\:row-cols-2>*{flex:none;width:50%}.lg\:row-cols-3>*{flex:none;width:33.3333%}.lg\:row-cols-4>*{flex:none;width:25%}.lg\:row-cols-5>*{flex:none;width:20%}.lg\:row-cols-6>*{flex:none;width:16.6667%}.lg\:col-auto{flex:none;width:auto}.lg\:col-1{flex:none;width:8.33333%}.lg\:col-2{flex:none;width:16.6667%}.lg\:col-3{flex:none;width:25%}.lg\:col-4{flex:none;width:33.3333%}.lg\:col-5{flex:none;width:41.6667%}.lg\:col-6{flex:none;width:50%}.lg\:col-7{flex:none;width:58.3333%}.lg\:col-8{flex:none;width:66.6667%}.lg\:col-9{flex:none;width:75%}.lg\:col-10{flex:none;width:83.3333%}.lg\:col-11{flex:none;width:91.6667%}.lg\:col-12{flex:none;width:100%}.lg\:offset-0{margin-inline-start:0}.lg\:offset-1{margin-inline-start:8.33333%}.lg\:offset-2{margin-inline-start:16.6667%}.lg\:offset-3{margin-inline-start:25%}.lg\:offset-4{margin-inline-start:33.3333%}.lg\:offset-5{margin-inline-start:41.6667%}.lg\:offset-6{margin-inline-start:50%}.lg\:offset-7{margin-inline-start:58.3333%}.lg\:offset-8{margin-inline-start:66.6667%}.lg\:offset-9{margin-inline-start:75%}.lg\:offset-10{margin-inline-start:83.3333%}.lg\:offset-11{margin-inline-start:91.6667%}.lg\:g-0,.lg\:gx-0{--bs-gutter-x:0}.lg\:g-0,.lg\:gy-0{--bs-gutter-y:0}.lg\:g-1,.lg\:gx-1{--bs-gutter-x:.25rem}.lg\:g-1,.lg\:gy-1{--bs-gutter-y:.25rem}.lg\:g-2,.lg\:gx-2{--bs-gutter-x:.5rem}.lg\:g-2,.lg\:gy-2{--bs-gutter-y:.5rem}.lg\:g-3,.lg\:gx-3{--bs-gutter-x:1rem}.lg\:g-3,.lg\:gy-3{--bs-gutter-y:1rem}.lg\:g-4,.lg\:gx-4{--bs-gutter-x:1.5rem}.lg\:g-4,.lg\:gy-4{--bs-gutter-y:1.5rem}.lg\:g-5,.lg\:gx-5{--bs-gutter-x:3rem}.lg\:g-5,.lg\:gy-5{--bs-gutter-y:3rem}}@media (min-width:1280px){.xl\:col{flex:1 0 0}.xl\:row-cols-auto>*{flex:none;width:auto}.xl\:row-cols-1>*{flex:none;width:100%}.xl\:row-cols-2>*{flex:none;width:50%}.xl\:row-cols-3>*{flex:none;width:33.3333%}.xl\:row-cols-4>*{flex:none;width:25%}.xl\:row-cols-5>*{flex:none;width:20%}.xl\:row-cols-6>*{flex:none;width:16.6667%}.xl\:col-auto{flex:none;width:auto}.xl\:col-1{flex:none;width:8.33333%}.xl\:col-2{flex:none;width:16.6667%}.xl\:col-3{flex:none;width:25%}.xl\:col-4{flex:none;width:33.3333%}.xl\:col-5{flex:none;width:41.6667%}.xl\:col-6{flex:none;width:50%}.xl\:col-7{flex:none;width:58.3333%}.xl\:col-8{flex:none;width:66.6667%}.xl\:col-9{flex:none;width:75%}.xl\:col-10{flex:none;width:83.3333%}.xl\:col-11{flex:none;width:91.6667%}.xl\:col-12{flex:none;width:100%}.xl\:offset-0{margin-inline-start:0}.xl\:offset-1{margin-inline-start:8.33333%}.xl\:offset-2{margin-inline-start:16.6667%}.xl\:offset-3{margin-inline-start:25%}.xl\:offset-4{margin-inline-start:33.3333%}.xl\:offset-5{margin-inline-start:41.6667%}.xl\:offset-6{margin-inline-start:50%}.xl\:offset-7{margin-inline-start:58.3333%}.xl\:offset-8{margin-inline-start:66.6667%}.xl\:offset-9{margin-inline-start:75%}.xl\:offset-10{margin-inline-start:83.3333%}.xl\:offset-11{margin-inline-start:91.6667%}.xl\:g-0,.xl\:gx-0{--bs-gutter-x:0}.xl\:g-0,.xl\:gy-0{--bs-gutter-y:0}.xl\:g-1,.xl\:gx-1{--bs-gutter-x:.25rem}.xl\:g-1,.xl\:gy-1{--bs-gutter-y:.25rem}.xl\:g-2,.xl\:gx-2{--bs-gutter-x:.5rem}.xl\:g-2,.xl\:gy-2{--bs-gutter-y:.5rem}.xl\:g-3,.xl\:gx-3{--bs-gutter-x:1rem}.xl\:g-3,.xl\:gy-3{--bs-gutter-y:1rem}.xl\:g-4,.xl\:gx-4{--bs-gutter-x:1.5rem}.xl\:g-4,.xl\:gy-4{--bs-gutter-y:1.5rem}.xl\:g-5,.xl\:gx-5{--bs-gutter-x:3rem}.xl\:g-5,.xl\:gy-5{--bs-gutter-y:3rem}}@media (min-width:1536px){.\32 xl\:col{flex:1 0 0}.\32 xl\:row-cols-auto>*{flex:none;width:auto}.\32 xl\:row-cols-1>*{flex:none;width:100%}.\32 xl\:row-cols-2>*{flex:none;width:50%}.\32 xl\:row-cols-3>*{flex:none;width:33.3333%}.\32 xl\:row-cols-4>*{flex:none;width:25%}.\32 xl\:row-cols-5>*{flex:none;width:20%}.\32 xl\:row-cols-6>*{flex:none;width:16.6667%}.\32 xl\:col-auto{flex:none;width:auto}.\32 xl\:col-1{flex:none;width:8.33333%}.\32 xl\:col-2{flex:none;width:16.6667%}.\32 xl\:col-3{flex:none;width:25%}.\32 xl\:col-4{flex:none;width:33.3333%}.\32 xl\:col-5{flex:none;width:41.6667%}.\32 xl\:col-6{flex:none;width:50%}.\32 xl\:col-7{flex:none;width:58.3333%}.\32 xl\:col-8{flex:none;width:66.6667%}.\32 xl\:col-9{flex:none;width:75%}.\32 xl\:col-10{flex:none;width:83.3333%}.\32 xl\:col-11{flex:none;width:91.6667%}.\32 xl\:col-12{flex:none;width:100%}.\32 xl\:offset-0{margin-inline-start:0}.\32 xl\:offset-1{margin-inline-start:8.33333%}.\32 xl\:offset-2{margin-inline-start:16.6667%}.\32 xl\:offset-3{margin-inline-start:25%}.\32 xl\:offset-4{margin-inline-start:33.3333%}.\32 xl\:offset-5{margin-inline-start:41.6667%}.\32 xl\:offset-6{margin-inline-start:50%}.\32 xl\:offset-7{margin-inline-start:58.3333%}.\32 xl\:offset-8{margin-inline-start:66.6667%}.\32 xl\:offset-9{margin-inline-start:75%}.\32 xl\:offset-10{margin-inline-start:83.3333%}.\32 xl\:offset-11{margin-inline-start:91.6667%}.\32 xl\:g-0,.\32 xl\:gx-0{--bs-gutter-x:0}.\32 xl\:g-0,.\32 xl\:gy-0{--bs-gutter-y:0}.\32 xl\:g-1,.\32 xl\:gx-1{--bs-gutter-x:.25rem}.\32 xl\:g-1,.\32 xl\:gy-1{--bs-gutter-y:.25rem}.\32 xl\:g-2,.\32 xl\:gx-2{--bs-gutter-x:.5rem}.\32 xl\:g-2,.\32 xl\:gy-2{--bs-gutter-y:.5rem}.\32 xl\:g-3,.\32 xl\:gx-3{--bs-gutter-x:1rem}.\32 xl\:g-3,.\32 xl\:gy-3{--bs-gutter-y:1rem}.\32 xl\:g-4,.\32 xl\:gx-4{--bs-gutter-x:1.5rem}.\32 xl\:g-4,.\32 xl\:gy-4{--bs-gutter-y:1.5rem}.\32 xl\:g-5,.\32 xl\:gx-5{--bs-gutter-x:3rem}.\32 xl\:g-5,.\32 xl\:gy-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (min-width:576px){.sm\:g-col-1{grid-column:auto/span 1}.sm\:g-col-2{grid-column:auto/span 2}.sm\:g-col-3{grid-column:auto/span 3}.sm\:g-col-4{grid-column:auto/span 4}.sm\:g-col-5{grid-column:auto/span 5}.sm\:g-col-6{grid-column:auto/span 6}.sm\:g-col-7{grid-column:auto/span 7}.sm\:g-col-8{grid-column:auto/span 8}.sm\:g-col-9{grid-column:auto/span 9}.sm\:g-col-10{grid-column:auto/span 10}.sm\:g-col-11{grid-column:auto/span 11}.sm\:g-col-12{grid-column:auto/span 12}.sm\:g-start-1{grid-column-start:1}.sm\:g-start-2{grid-column-start:2}.sm\:g-start-3{grid-column-start:3}.sm\:g-start-4{grid-column-start:4}.sm\:g-start-5{grid-column-start:5}.sm\:g-start-6{grid-column-start:6}.sm\:g-start-7{grid-column-start:7}.sm\:g-start-8{grid-column-start:8}.sm\:g-start-9{grid-column-start:9}.sm\:g-start-10{grid-column-start:10}.sm\:g-start-11{grid-column-start:11}}@media (min-width:768px){.md\:g-col-1{grid-column:auto/span 1}.md\:g-col-2{grid-column:auto/span 2}.md\:g-col-3{grid-column:auto/span 3}.md\:g-col-4{grid-column:auto/span 4}.md\:g-col-5{grid-column:auto/span 5}.md\:g-col-6{grid-column:auto/span 6}.md\:g-col-7{grid-column:auto/span 7}.md\:g-col-8{grid-column:auto/span 8}.md\:g-col-9{grid-column:auto/span 9}.md\:g-col-10{grid-column:auto/span 10}.md\:g-col-11{grid-column:auto/span 11}.md\:g-col-12{grid-column:auto/span 12}.md\:g-start-1{grid-column-start:1}.md\:g-start-2{grid-column-start:2}.md\:g-start-3{grid-column-start:3}.md\:g-start-4{grid-column-start:4}.md\:g-start-5{grid-column-start:5}.md\:g-start-6{grid-column-start:6}.md\:g-start-7{grid-column-start:7}.md\:g-start-8{grid-column-start:8}.md\:g-start-9{grid-column-start:9}.md\:g-start-10{grid-column-start:10}.md\:g-start-11{grid-column-start:11}}@media (min-width:1024px){.lg\:g-col-1{grid-column:auto/span 1}.lg\:g-col-2{grid-column:auto/span 2}.lg\:g-col-3{grid-column:auto/span 3}.lg\:g-col-4{grid-column:auto/span 4}.lg\:g-col-5{grid-column:auto/span 5}.lg\:g-col-6{grid-column:auto/span 6}.lg\:g-col-7{grid-column:auto/span 7}.lg\:g-col-8{grid-column:auto/span 8}.lg\:g-col-9{grid-column:auto/span 9}.lg\:g-col-10{grid-column:auto/span 10}.lg\:g-col-11{grid-column:auto/span 11}.lg\:g-col-12{grid-column:auto/span 12}.lg\:g-start-1{grid-column-start:1}.lg\:g-start-2{grid-column-start:2}.lg\:g-start-3{grid-column-start:3}.lg\:g-start-4{grid-column-start:4}.lg\:g-start-5{grid-column-start:5}.lg\:g-start-6{grid-column-start:6}.lg\:g-start-7{grid-column-start:7}.lg\:g-start-8{grid-column-start:8}.lg\:g-start-9{grid-column-start:9}.lg\:g-start-10{grid-column-start:10}.lg\:g-start-11{grid-column-start:11}}@media (min-width:1280px){.xl\:g-col-1{grid-column:auto/span 1}.xl\:g-col-2{grid-column:auto/span 2}.xl\:g-col-3{grid-column:auto/span 3}.xl\:g-col-4{grid-column:auto/span 4}.xl\:g-col-5{grid-column:auto/span 5}.xl\:g-col-6{grid-column:auto/span 6}.xl\:g-col-7{grid-column:auto/span 7}.xl\:g-col-8{grid-column:auto/span 8}.xl\:g-col-9{grid-column:auto/span 9}.xl\:g-col-10{grid-column:auto/span 10}.xl\:g-col-11{grid-column:auto/span 11}.xl\:g-col-12{grid-column:auto/span 12}.xl\:g-start-1{grid-column-start:1}.xl\:g-start-2{grid-column-start:2}.xl\:g-start-3{grid-column-start:3}.xl\:g-start-4{grid-column-start:4}.xl\:g-start-5{grid-column-start:5}.xl\:g-start-6{grid-column-start:6}.xl\:g-start-7{grid-column-start:7}.xl\:g-start-8{grid-column-start:8}.xl\:g-start-9{grid-column-start:9}.xl\:g-start-10{grid-column-start:10}.xl\:g-start-11{grid-column-start:11}}@media (min-width:1536px){.\32 xl\:g-col-1{grid-column:auto/span 1}.\32 xl\:g-col-2{grid-column:auto/span 2}.\32 xl\:g-col-3{grid-column:auto/span 3}.\32 xl\:g-col-4{grid-column:auto/span 4}.\32 xl\:g-col-5{grid-column:auto/span 5}.\32 xl\:g-col-6{grid-column:auto/span 6}.\32 xl\:g-col-7{grid-column:auto/span 7}.\32 xl\:g-col-8{grid-column:auto/span 8}.\32 xl\:g-col-9{grid-column:auto/span 9}.\32 xl\:g-col-10{grid-column:auto/span 10}.\32 xl\:g-col-11{grid-column:auto/span 11}.\32 xl\:g-col-12{grid-column:auto/span 12}.\32 xl\:g-start-1{grid-column-start:1}.\32 xl\:g-start-2{grid-column-start:2}.\32 xl\:g-start-3{grid-column-start:3}.\32 xl\:g-start-4{grid-column-start:4}.\32 xl\:g-start-5{grid-column-start:5}.\32 xl\:g-start-6{grid-column-start:6}.\32 xl\:g-start-7{grid-column-start:7}.\32 xl\:g-start-8{grid-column-start:8}.\32 xl\:g-start-9{grid-column-start:9}.\32 xl\:g-start-10{grid-column-start:10}.\32 xl\:g-start-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-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}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self: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 stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}@media (min-width:576px){.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-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\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self: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 stretch}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.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-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:1rem}.sm\:m-4{margin:1.5rem}.sm\:m-5{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:1rem}.sm\:mx-4{margin-inline:1.5rem}.sm\:mx-5{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:1rem}.sm\:my-4{margin-block:1.5rem}.sm\:my-5{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:1rem}.sm\:mt-4{margin-block-start:1.5rem}.sm\:mt-5{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:1rem}.sm\:me-4{margin-inline-end:1.5rem}.sm\:me-5{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:1rem}.sm\:mb-4{margin-block-end:1.5rem}.sm\:mb-5{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:1rem}.sm\:ms-4{margin-inline-start:1.5rem}.sm\:ms-5{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:1rem}.sm\:p-4{padding:1.5rem}.sm\:p-5{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:1rem}.sm\:px-4{padding-inline:1.5rem}.sm\:px-5{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:1rem}.sm\:py-4{padding-block:1.5rem}.sm\:py-5{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:1rem}.sm\:pt-4{padding-block-start:1.5rem}.sm\:pt-5{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:1rem}.sm\:pe-4{padding-inline-end:1.5rem}.sm\:pe-5{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:1rem}.sm\:pb-4{padding-block-end:1.5rem}.sm\:pb-5{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:1rem}.sm\:ps-4{padding-inline-start:1.5rem}.sm\:ps-5{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:1rem}.sm\:gap-4{gap:1.5rem}.sm\:gap-5{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:1rem}.sm\:row-gap-4{row-gap:1.5rem}.sm\:row-gap-5{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:768px){.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-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\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self: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 stretch}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.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-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:1rem}.md\:m-4{margin:1.5rem}.md\:m-5{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:1rem}.md\:mx-4{margin-inline:1.5rem}.md\:mx-5{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:1rem}.md\:my-4{margin-block:1.5rem}.md\:my-5{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:1rem}.md\:mt-4{margin-block-start:1.5rem}.md\:mt-5{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:1rem}.md\:me-4{margin-inline-end:1.5rem}.md\:me-5{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:1rem}.md\:mb-4{margin-block-end:1.5rem}.md\:mb-5{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:1rem}.md\:ms-4{margin-inline-start:1.5rem}.md\:ms-5{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:1rem}.md\:p-4{padding:1.5rem}.md\:p-5{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:1rem}.md\:px-4{padding-inline:1.5rem}.md\:px-5{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:1rem}.md\:py-4{padding-block:1.5rem}.md\:py-5{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:1rem}.md\:pt-4{padding-block-start:1.5rem}.md\:pt-5{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:1rem}.md\:pe-4{padding-inline-end:1.5rem}.md\:pe-5{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:1rem}.md\:pb-4{padding-block-end:1.5rem}.md\:pb-5{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:1rem}.md\:ps-4{padding-inline-start:1.5rem}.md\:ps-5{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:1rem}.md\:gap-4{gap:1.5rem}.md\:gap-5{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:1rem}.md\:row-gap-4{row-gap:1.5rem}.md\:row-gap-5{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1024px){.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-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\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self: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 stretch}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.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-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:1rem}.lg\:m-4{margin:1.5rem}.lg\:m-5{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:1rem}.lg\:mx-4{margin-inline:1.5rem}.lg\:mx-5{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:1rem}.lg\:my-4{margin-block:1.5rem}.lg\:my-5{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:1rem}.lg\:mt-4{margin-block-start:1.5rem}.lg\:mt-5{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:1rem}.lg\:me-4{margin-inline-end:1.5rem}.lg\:me-5{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:1rem}.lg\:mb-4{margin-block-end:1.5rem}.lg\:mb-5{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:1rem}.lg\:ms-4{margin-inline-start:1.5rem}.lg\:ms-5{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:1rem}.lg\:p-4{padding:1.5rem}.lg\:p-5{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:1rem}.lg\:px-4{padding-inline:1.5rem}.lg\:px-5{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:1rem}.lg\:py-4{padding-block:1.5rem}.lg\:py-5{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:1rem}.lg\:pt-4{padding-block-start:1.5rem}.lg\:pt-5{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:1rem}.lg\:pe-4{padding-inline-end:1.5rem}.lg\:pe-5{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:1rem}.lg\:pb-4{padding-block-end:1.5rem}.lg\:pb-5{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:1rem}.lg\:ps-4{padding-inline-start:1.5rem}.lg\:ps-5{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:1rem}.lg\:gap-4{gap:1.5rem}.lg\:gap-5{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:1rem}.lg\:row-gap-4{row-gap:1.5rem}.lg\:row-gap-5{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1280px){.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-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\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self: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 stretch}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.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-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:1rem}.xl\:m-4{margin:1.5rem}.xl\:m-5{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:1rem}.xl\:mx-4{margin-inline:1.5rem}.xl\:mx-5{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:1rem}.xl\:my-4{margin-block:1.5rem}.xl\:my-5{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:1rem}.xl\:mt-4{margin-block-start:1.5rem}.xl\:mt-5{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:1rem}.xl\:me-4{margin-inline-end:1.5rem}.xl\:me-5{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:1rem}.xl\:mb-4{margin-block-end:1.5rem}.xl\:mb-5{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:1rem}.xl\:ms-4{margin-inline-start:1.5rem}.xl\:ms-5{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:1rem}.xl\:p-4{padding:1.5rem}.xl\:p-5{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:1rem}.xl\:px-4{padding-inline:1.5rem}.xl\:px-5{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:1rem}.xl\:py-4{padding-block:1.5rem}.xl\:py-5{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:1rem}.xl\:pt-4{padding-block-start:1.5rem}.xl\:pt-5{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:1rem}.xl\:pe-4{padding-inline-end:1.5rem}.xl\:pe-5{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:1rem}.xl\:pb-4{padding-block-end:1.5rem}.xl\:pb-5{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:1rem}.xl\:ps-4{padding-inline-start:1.5rem}.xl\:ps-5{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:1rem}.xl\:gap-4{gap:1.5rem}.xl\:gap-5{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:1rem}.xl\:row-gap-4{row-gap:1.5rem}.xl\:row-gap-5{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1536px){.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:1rem}.\32 xl\:m-4{margin:1.5rem}.\32 xl\:m-5{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:1rem}.\32 xl\:mx-4{margin-inline:1.5rem}.\32 xl\:mx-5{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:1rem}.\32 xl\:my-4{margin-block:1.5rem}.\32 xl\:my-5{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:1rem}.\32 xl\:mt-4{margin-block-start:1.5rem}.\32 xl\:mt-5{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:1rem}.\32 xl\:me-4{margin-inline-end:1.5rem}.\32 xl\:me-5{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:1rem}.\32 xl\:mb-4{margin-block-end:1.5rem}.\32 xl\:mb-5{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:1rem}.\32 xl\:ms-4{margin-inline-start:1.5rem}.\32 xl\:ms-5{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:1rem}.\32 xl\:p-4{padding:1.5rem}.\32 xl\:p-5{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:1rem}.\32 xl\:px-4{padding-inline:1.5rem}.\32 xl\:px-5{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:1rem}.\32 xl\:py-4{padding-block:1.5rem}.\32 xl\:py-5{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:1rem}.\32 xl\:pt-4{padding-block-start:1.5rem}.\32 xl\:pt-5{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:1rem}.\32 xl\:pe-4{padding-inline-end:1.5rem}.\32 xl\:pe-5{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:1rem}.\32 xl\:pb-4{padding-block-end:1.5rem}.\32 xl\:pb-5{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:1rem}.\32 xl\:ps-4{padding-inline-start:1.5rem}.\32 xl\:ps-5{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:1rem}.\32 xl\:gap-4{gap:1.5rem}.\32 xl\:gap-5{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:1rem}.\32 xl\:row-gap-4{row-gap:1.5rem}.\32 xl\:row-gap-5{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}
+@layer layout{.container,.container-fluid,.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline:auto}@media (min-width:576px){.sm\:container,.container{max-width:540px}}@media (min-width:768px){.md\:container,.sm\:container,.container{max-width:720px}}@media (min-width:1024px){.lg\:container,.md\:container,.sm\:container,.container{max-width:960px}}@media (min-width:1280px){.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1200px}}@media (min-width:1536px){.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:.75rem}.g-3,.gy-3{--bs-gutter-y:.75rem}.g-4,.gx-4{--bs-gutter-x:1rem}.g-4,.gy-4{--bs-gutter-y:1rem}.g-5,.gx-5{--bs-gutter-x:1.25rem}.g-5,.gy-5{--bs-gutter-y:1.25rem}.g-6,.gx-6{--bs-gutter-x:1.5rem}.g-6,.gy-6{--bs-gutter-y:1.5rem}.g-7,.gx-7{--bs-gutter-x:2rem}.g-7,.gy-7{--bs-gutter-y:2rem}.g-8,.gx-8{--bs-gutter-x:2.5rem}.g-8,.gy-8{--bs-gutter-y:2.5rem}.g-9,.gx-9{--bs-gutter-x:3rem}.g-9,.gy-9{--bs-gutter-y:3rem}@media (min-width:576px){.sm\:col{flex:1 0 0}.sm\:row-cols-auto>*{flex:none;width:auto}.sm\:row-cols-1>*{flex:none;width:100%}.sm\:row-cols-2>*{flex:none;width:50%}.sm\:row-cols-3>*{flex:none;width:33.3333%}.sm\:row-cols-4>*{flex:none;width:25%}.sm\:row-cols-5>*{flex:none;width:20%}.sm\:row-cols-6>*{flex:none;width:16.6667%}.sm\:col-auto{flex:none;width:auto}.sm\:col-1{flex:none;width:8.33333%}.sm\:col-2{flex:none;width:16.6667%}.sm\:col-3{flex:none;width:25%}.sm\:col-4{flex:none;width:33.3333%}.sm\:col-5{flex:none;width:41.6667%}.sm\:col-6{flex:none;width:50%}.sm\:col-7{flex:none;width:58.3333%}.sm\:col-8{flex:none;width:66.6667%}.sm\:col-9{flex:none;width:75%}.sm\:col-10{flex:none;width:83.3333%}.sm\:col-11{flex:none;width:91.6667%}.sm\:col-12{flex:none;width:100%}.sm\:offset-0{margin-inline-start:0}.sm\:offset-1{margin-inline-start:8.33333%}.sm\:offset-2{margin-inline-start:16.6667%}.sm\:offset-3{margin-inline-start:25%}.sm\:offset-4{margin-inline-start:33.3333%}.sm\:offset-5{margin-inline-start:41.6667%}.sm\:offset-6{margin-inline-start:50%}.sm\:offset-7{margin-inline-start:58.3333%}.sm\:offset-8{margin-inline-start:66.6667%}.sm\:offset-9{margin-inline-start:75%}.sm\:offset-10{margin-inline-start:83.3333%}.sm\:offset-11{margin-inline-start:91.6667%}.sm\:g-0,.sm\:gx-0{--bs-gutter-x:0}.sm\:g-0,.sm\:gy-0{--bs-gutter-y:0}.sm\:g-1,.sm\:gx-1{--bs-gutter-x:.25rem}.sm\:g-1,.sm\:gy-1{--bs-gutter-y:.25rem}.sm\:g-2,.sm\:gx-2{--bs-gutter-x:.5rem}.sm\:g-2,.sm\:gy-2{--bs-gutter-y:.5rem}.sm\:g-3,.sm\:gx-3{--bs-gutter-x:.75rem}.sm\:g-3,.sm\:gy-3{--bs-gutter-y:.75rem}.sm\:g-4,.sm\:gx-4{--bs-gutter-x:1rem}.sm\:g-4,.sm\:gy-4{--bs-gutter-y:1rem}.sm\:g-5,.sm\:gx-5{--bs-gutter-x:1.25rem}.sm\:g-5,.sm\:gy-5{--bs-gutter-y:1.25rem}.sm\:g-6,.sm\:gx-6{--bs-gutter-x:1.5rem}.sm\:g-6,.sm\:gy-6{--bs-gutter-y:1.5rem}.sm\:g-7,.sm\:gx-7{--bs-gutter-x:2rem}.sm\:g-7,.sm\:gy-7{--bs-gutter-y:2rem}.sm\:g-8,.sm\:gx-8{--bs-gutter-x:2.5rem}.sm\:g-8,.sm\:gy-8{--bs-gutter-y:2.5rem}.sm\:g-9,.sm\:gx-9{--bs-gutter-x:3rem}.sm\:g-9,.sm\:gy-9{--bs-gutter-y:3rem}}@media (min-width:768px){.md\:col{flex:1 0 0}.md\:row-cols-auto>*{flex:none;width:auto}.md\:row-cols-1>*{flex:none;width:100%}.md\:row-cols-2>*{flex:none;width:50%}.md\:row-cols-3>*{flex:none;width:33.3333%}.md\:row-cols-4>*{flex:none;width:25%}.md\:row-cols-5>*{flex:none;width:20%}.md\:row-cols-6>*{flex:none;width:16.6667%}.md\:col-auto{flex:none;width:auto}.md\:col-1{flex:none;width:8.33333%}.md\:col-2{flex:none;width:16.6667%}.md\:col-3{flex:none;width:25%}.md\:col-4{flex:none;width:33.3333%}.md\:col-5{flex:none;width:41.6667%}.md\:col-6{flex:none;width:50%}.md\:col-7{flex:none;width:58.3333%}.md\:col-8{flex:none;width:66.6667%}.md\:col-9{flex:none;width:75%}.md\:col-10{flex:none;width:83.3333%}.md\:col-11{flex:none;width:91.6667%}.md\:col-12{flex:none;width:100%}.md\:offset-0{margin-inline-start:0}.md\:offset-1{margin-inline-start:8.33333%}.md\:offset-2{margin-inline-start:16.6667%}.md\:offset-3{margin-inline-start:25%}.md\:offset-4{margin-inline-start:33.3333%}.md\:offset-5{margin-inline-start:41.6667%}.md\:offset-6{margin-inline-start:50%}.md\:offset-7{margin-inline-start:58.3333%}.md\:offset-8{margin-inline-start:66.6667%}.md\:offset-9{margin-inline-start:75%}.md\:offset-10{margin-inline-start:83.3333%}.md\:offset-11{margin-inline-start:91.6667%}.md\:g-0,.md\:gx-0{--bs-gutter-x:0}.md\:g-0,.md\:gy-0{--bs-gutter-y:0}.md\:g-1,.md\:gx-1{--bs-gutter-x:.25rem}.md\:g-1,.md\:gy-1{--bs-gutter-y:.25rem}.md\:g-2,.md\:gx-2{--bs-gutter-x:.5rem}.md\:g-2,.md\:gy-2{--bs-gutter-y:.5rem}.md\:g-3,.md\:gx-3{--bs-gutter-x:.75rem}.md\:g-3,.md\:gy-3{--bs-gutter-y:.75rem}.md\:g-4,.md\:gx-4{--bs-gutter-x:1rem}.md\:g-4,.md\:gy-4{--bs-gutter-y:1rem}.md\:g-5,.md\:gx-5{--bs-gutter-x:1.25rem}.md\:g-5,.md\:gy-5{--bs-gutter-y:1.25rem}.md\:g-6,.md\:gx-6{--bs-gutter-x:1.5rem}.md\:g-6,.md\:gy-6{--bs-gutter-y:1.5rem}.md\:g-7,.md\:gx-7{--bs-gutter-x:2rem}.md\:g-7,.md\:gy-7{--bs-gutter-y:2rem}.md\:g-8,.md\:gx-8{--bs-gutter-x:2.5rem}.md\:g-8,.md\:gy-8{--bs-gutter-y:2.5rem}.md\:g-9,.md\:gx-9{--bs-gutter-x:3rem}.md\:g-9,.md\:gy-9{--bs-gutter-y:3rem}}@media (min-width:1024px){.lg\:col{flex:1 0 0}.lg\:row-cols-auto>*{flex:none;width:auto}.lg\:row-cols-1>*{flex:none;width:100%}.lg\:row-cols-2>*{flex:none;width:50%}.lg\:row-cols-3>*{flex:none;width:33.3333%}.lg\:row-cols-4>*{flex:none;width:25%}.lg\:row-cols-5>*{flex:none;width:20%}.lg\:row-cols-6>*{flex:none;width:16.6667%}.lg\:col-auto{flex:none;width:auto}.lg\:col-1{flex:none;width:8.33333%}.lg\:col-2{flex:none;width:16.6667%}.lg\:col-3{flex:none;width:25%}.lg\:col-4{flex:none;width:33.3333%}.lg\:col-5{flex:none;width:41.6667%}.lg\:col-6{flex:none;width:50%}.lg\:col-7{flex:none;width:58.3333%}.lg\:col-8{flex:none;width:66.6667%}.lg\:col-9{flex:none;width:75%}.lg\:col-10{flex:none;width:83.3333%}.lg\:col-11{flex:none;width:91.6667%}.lg\:col-12{flex:none;width:100%}.lg\:offset-0{margin-inline-start:0}.lg\:offset-1{margin-inline-start:8.33333%}.lg\:offset-2{margin-inline-start:16.6667%}.lg\:offset-3{margin-inline-start:25%}.lg\:offset-4{margin-inline-start:33.3333%}.lg\:offset-5{margin-inline-start:41.6667%}.lg\:offset-6{margin-inline-start:50%}.lg\:offset-7{margin-inline-start:58.3333%}.lg\:offset-8{margin-inline-start:66.6667%}.lg\:offset-9{margin-inline-start:75%}.lg\:offset-10{margin-inline-start:83.3333%}.lg\:offset-11{margin-inline-start:91.6667%}.lg\:g-0,.lg\:gx-0{--bs-gutter-x:0}.lg\:g-0,.lg\:gy-0{--bs-gutter-y:0}.lg\:g-1,.lg\:gx-1{--bs-gutter-x:.25rem}.lg\:g-1,.lg\:gy-1{--bs-gutter-y:.25rem}.lg\:g-2,.lg\:gx-2{--bs-gutter-x:.5rem}.lg\:g-2,.lg\:gy-2{--bs-gutter-y:.5rem}.lg\:g-3,.lg\:gx-3{--bs-gutter-x:.75rem}.lg\:g-3,.lg\:gy-3{--bs-gutter-y:.75rem}.lg\:g-4,.lg\:gx-4{--bs-gutter-x:1rem}.lg\:g-4,.lg\:gy-4{--bs-gutter-y:1rem}.lg\:g-5,.lg\:gx-5{--bs-gutter-x:1.25rem}.lg\:g-5,.lg\:gy-5{--bs-gutter-y:1.25rem}.lg\:g-6,.lg\:gx-6{--bs-gutter-x:1.5rem}.lg\:g-6,.lg\:gy-6{--bs-gutter-y:1.5rem}.lg\:g-7,.lg\:gx-7{--bs-gutter-x:2rem}.lg\:g-7,.lg\:gy-7{--bs-gutter-y:2rem}.lg\:g-8,.lg\:gx-8{--bs-gutter-x:2.5rem}.lg\:g-8,.lg\:gy-8{--bs-gutter-y:2.5rem}.lg\:g-9,.lg\:gx-9{--bs-gutter-x:3rem}.lg\:g-9,.lg\:gy-9{--bs-gutter-y:3rem}}@media (min-width:1280px){.xl\:col{flex:1 0 0}.xl\:row-cols-auto>*{flex:none;width:auto}.xl\:row-cols-1>*{flex:none;width:100%}.xl\:row-cols-2>*{flex:none;width:50%}.xl\:row-cols-3>*{flex:none;width:33.3333%}.xl\:row-cols-4>*{flex:none;width:25%}.xl\:row-cols-5>*{flex:none;width:20%}.xl\:row-cols-6>*{flex:none;width:16.6667%}.xl\:col-auto{flex:none;width:auto}.xl\:col-1{flex:none;width:8.33333%}.xl\:col-2{flex:none;width:16.6667%}.xl\:col-3{flex:none;width:25%}.xl\:col-4{flex:none;width:33.3333%}.xl\:col-5{flex:none;width:41.6667%}.xl\:col-6{flex:none;width:50%}.xl\:col-7{flex:none;width:58.3333%}.xl\:col-8{flex:none;width:66.6667%}.xl\:col-9{flex:none;width:75%}.xl\:col-10{flex:none;width:83.3333%}.xl\:col-11{flex:none;width:91.6667%}.xl\:col-12{flex:none;width:100%}.xl\:offset-0{margin-inline-start:0}.xl\:offset-1{margin-inline-start:8.33333%}.xl\:offset-2{margin-inline-start:16.6667%}.xl\:offset-3{margin-inline-start:25%}.xl\:offset-4{margin-inline-start:33.3333%}.xl\:offset-5{margin-inline-start:41.6667%}.xl\:offset-6{margin-inline-start:50%}.xl\:offset-7{margin-inline-start:58.3333%}.xl\:offset-8{margin-inline-start:66.6667%}.xl\:offset-9{margin-inline-start:75%}.xl\:offset-10{margin-inline-start:83.3333%}.xl\:offset-11{margin-inline-start:91.6667%}.xl\:g-0,.xl\:gx-0{--bs-gutter-x:0}.xl\:g-0,.xl\:gy-0{--bs-gutter-y:0}.xl\:g-1,.xl\:gx-1{--bs-gutter-x:.25rem}.xl\:g-1,.xl\:gy-1{--bs-gutter-y:.25rem}.xl\:g-2,.xl\:gx-2{--bs-gutter-x:.5rem}.xl\:g-2,.xl\:gy-2{--bs-gutter-y:.5rem}.xl\:g-3,.xl\:gx-3{--bs-gutter-x:.75rem}.xl\:g-3,.xl\:gy-3{--bs-gutter-y:.75rem}.xl\:g-4,.xl\:gx-4{--bs-gutter-x:1rem}.xl\:g-4,.xl\:gy-4{--bs-gutter-y:1rem}.xl\:g-5,.xl\:gx-5{--bs-gutter-x:1.25rem}.xl\:g-5,.xl\:gy-5{--bs-gutter-y:1.25rem}.xl\:g-6,.xl\:gx-6{--bs-gutter-x:1.5rem}.xl\:g-6,.xl\:gy-6{--bs-gutter-y:1.5rem}.xl\:g-7,.xl\:gx-7{--bs-gutter-x:2rem}.xl\:g-7,.xl\:gy-7{--bs-gutter-y:2rem}.xl\:g-8,.xl\:gx-8{--bs-gutter-x:2.5rem}.xl\:g-8,.xl\:gy-8{--bs-gutter-y:2.5rem}.xl\:g-9,.xl\:gx-9{--bs-gutter-x:3rem}.xl\:g-9,.xl\:gy-9{--bs-gutter-y:3rem}}@media (min-width:1536px){.\32 xl\:col{flex:1 0 0}.\32 xl\:row-cols-auto>*{flex:none;width:auto}.\32 xl\:row-cols-1>*{flex:none;width:100%}.\32 xl\:row-cols-2>*{flex:none;width:50%}.\32 xl\:row-cols-3>*{flex:none;width:33.3333%}.\32 xl\:row-cols-4>*{flex:none;width:25%}.\32 xl\:row-cols-5>*{flex:none;width:20%}.\32 xl\:row-cols-6>*{flex:none;width:16.6667%}.\32 xl\:col-auto{flex:none;width:auto}.\32 xl\:col-1{flex:none;width:8.33333%}.\32 xl\:col-2{flex:none;width:16.6667%}.\32 xl\:col-3{flex:none;width:25%}.\32 xl\:col-4{flex:none;width:33.3333%}.\32 xl\:col-5{flex:none;width:41.6667%}.\32 xl\:col-6{flex:none;width:50%}.\32 xl\:col-7{flex:none;width:58.3333%}.\32 xl\:col-8{flex:none;width:66.6667%}.\32 xl\:col-9{flex:none;width:75%}.\32 xl\:col-10{flex:none;width:83.3333%}.\32 xl\:col-11{flex:none;width:91.6667%}.\32 xl\:col-12{flex:none;width:100%}.\32 xl\:offset-0{margin-inline-start:0}.\32 xl\:offset-1{margin-inline-start:8.33333%}.\32 xl\:offset-2{margin-inline-start:16.6667%}.\32 xl\:offset-3{margin-inline-start:25%}.\32 xl\:offset-4{margin-inline-start:33.3333%}.\32 xl\:offset-5{margin-inline-start:41.6667%}.\32 xl\:offset-6{margin-inline-start:50%}.\32 xl\:offset-7{margin-inline-start:58.3333%}.\32 xl\:offset-8{margin-inline-start:66.6667%}.\32 xl\:offset-9{margin-inline-start:75%}.\32 xl\:offset-10{margin-inline-start:83.3333%}.\32 xl\:offset-11{margin-inline-start:91.6667%}.\32 xl\:g-0,.\32 xl\:gx-0{--bs-gutter-x:0}.\32 xl\:g-0,.\32 xl\:gy-0{--bs-gutter-y:0}.\32 xl\:g-1,.\32 xl\:gx-1{--bs-gutter-x:.25rem}.\32 xl\:g-1,.\32 xl\:gy-1{--bs-gutter-y:.25rem}.\32 xl\:g-2,.\32 xl\:gx-2{--bs-gutter-x:.5rem}.\32 xl\:g-2,.\32 xl\:gy-2{--bs-gutter-y:.5rem}.\32 xl\:g-3,.\32 xl\:gx-3{--bs-gutter-x:.75rem}.\32 xl\:g-3,.\32 xl\:gy-3{--bs-gutter-y:.75rem}.\32 xl\:g-4,.\32 xl\:gx-4{--bs-gutter-x:1rem}.\32 xl\:g-4,.\32 xl\:gy-4{--bs-gutter-y:1rem}.\32 xl\:g-5,.\32 xl\:gx-5{--bs-gutter-x:1.25rem}.\32 xl\:g-5,.\32 xl\:gy-5{--bs-gutter-y:1.25rem}.\32 xl\:g-6,.\32 xl\:gx-6{--bs-gutter-x:1.5rem}.\32 xl\:g-6,.\32 xl\:gy-6{--bs-gutter-y:1.5rem}.\32 xl\:g-7,.\32 xl\:gx-7{--bs-gutter-x:2rem}.\32 xl\:g-7,.\32 xl\:gy-7{--bs-gutter-y:2rem}.\32 xl\:g-8,.\32 xl\:gx-8{--bs-gutter-x:2.5rem}.\32 xl\:g-8,.\32 xl\:gy-8{--bs-gutter-y:2.5rem}.\32 xl\:g-9,.\32 xl\:gx-9{--bs-gutter-x:3rem}.\32 xl\:g-9,.\32 xl\:gy-9{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (min-width:576px){.sm\:g-col-1{grid-column:auto/span 1}.sm\:g-col-2{grid-column:auto/span 2}.sm\:g-col-3{grid-column:auto/span 3}.sm\:g-col-4{grid-column:auto/span 4}.sm\:g-col-5{grid-column:auto/span 5}.sm\:g-col-6{grid-column:auto/span 6}.sm\:g-col-7{grid-column:auto/span 7}.sm\:g-col-8{grid-column:auto/span 8}.sm\:g-col-9{grid-column:auto/span 9}.sm\:g-col-10{grid-column:auto/span 10}.sm\:g-col-11{grid-column:auto/span 11}.sm\:g-col-12{grid-column:auto/span 12}.sm\:g-start-1{grid-column-start:1}.sm\:g-start-2{grid-column-start:2}.sm\:g-start-3{grid-column-start:3}.sm\:g-start-4{grid-column-start:4}.sm\:g-start-5{grid-column-start:5}.sm\:g-start-6{grid-column-start:6}.sm\:g-start-7{grid-column-start:7}.sm\:g-start-8{grid-column-start:8}.sm\:g-start-9{grid-column-start:9}.sm\:g-start-10{grid-column-start:10}.sm\:g-start-11{grid-column-start:11}}@media (min-width:768px){.md\:g-col-1{grid-column:auto/span 1}.md\:g-col-2{grid-column:auto/span 2}.md\:g-col-3{grid-column:auto/span 3}.md\:g-col-4{grid-column:auto/span 4}.md\:g-col-5{grid-column:auto/span 5}.md\:g-col-6{grid-column:auto/span 6}.md\:g-col-7{grid-column:auto/span 7}.md\:g-col-8{grid-column:auto/span 8}.md\:g-col-9{grid-column:auto/span 9}.md\:g-col-10{grid-column:auto/span 10}.md\:g-col-11{grid-column:auto/span 11}.md\:g-col-12{grid-column:auto/span 12}.md\:g-start-1{grid-column-start:1}.md\:g-start-2{grid-column-start:2}.md\:g-start-3{grid-column-start:3}.md\:g-start-4{grid-column-start:4}.md\:g-start-5{grid-column-start:5}.md\:g-start-6{grid-column-start:6}.md\:g-start-7{grid-column-start:7}.md\:g-start-8{grid-column-start:8}.md\:g-start-9{grid-column-start:9}.md\:g-start-10{grid-column-start:10}.md\:g-start-11{grid-column-start:11}}@media (min-width:1024px){.lg\:g-col-1{grid-column:auto/span 1}.lg\:g-col-2{grid-column:auto/span 2}.lg\:g-col-3{grid-column:auto/span 3}.lg\:g-col-4{grid-column:auto/span 4}.lg\:g-col-5{grid-column:auto/span 5}.lg\:g-col-6{grid-column:auto/span 6}.lg\:g-col-7{grid-column:auto/span 7}.lg\:g-col-8{grid-column:auto/span 8}.lg\:g-col-9{grid-column:auto/span 9}.lg\:g-col-10{grid-column:auto/span 10}.lg\:g-col-11{grid-column:auto/span 11}.lg\:g-col-12{grid-column:auto/span 12}.lg\:g-start-1{grid-column-start:1}.lg\:g-start-2{grid-column-start:2}.lg\:g-start-3{grid-column-start:3}.lg\:g-start-4{grid-column-start:4}.lg\:g-start-5{grid-column-start:5}.lg\:g-start-6{grid-column-start:6}.lg\:g-start-7{grid-column-start:7}.lg\:g-start-8{grid-column-start:8}.lg\:g-start-9{grid-column-start:9}.lg\:g-start-10{grid-column-start:10}.lg\:g-start-11{grid-column-start:11}}@media (min-width:1280px){.xl\:g-col-1{grid-column:auto/span 1}.xl\:g-col-2{grid-column:auto/span 2}.xl\:g-col-3{grid-column:auto/span 3}.xl\:g-col-4{grid-column:auto/span 4}.xl\:g-col-5{grid-column:auto/span 5}.xl\:g-col-6{grid-column:auto/span 6}.xl\:g-col-7{grid-column:auto/span 7}.xl\:g-col-8{grid-column:auto/span 8}.xl\:g-col-9{grid-column:auto/span 9}.xl\:g-col-10{grid-column:auto/span 10}.xl\:g-col-11{grid-column:auto/span 11}.xl\:g-col-12{grid-column:auto/span 12}.xl\:g-start-1{grid-column-start:1}.xl\:g-start-2{grid-column-start:2}.xl\:g-start-3{grid-column-start:3}.xl\:g-start-4{grid-column-start:4}.xl\:g-start-5{grid-column-start:5}.xl\:g-start-6{grid-column-start:6}.xl\:g-start-7{grid-column-start:7}.xl\:g-start-8{grid-column-start:8}.xl\:g-start-9{grid-column-start:9}.xl\:g-start-10{grid-column-start:10}.xl\:g-start-11{grid-column-start:11}}@media (min-width:1536px){.\32 xl\:g-col-1{grid-column:auto/span 1}.\32 xl\:g-col-2{grid-column:auto/span 2}.\32 xl\:g-col-3{grid-column:auto/span 3}.\32 xl\:g-col-4{grid-column:auto/span 4}.\32 xl\:g-col-5{grid-column:auto/span 5}.\32 xl\:g-col-6{grid-column:auto/span 6}.\32 xl\:g-col-7{grid-column:auto/span 7}.\32 xl\:g-col-8{grid-column:auto/span 8}.\32 xl\:g-col-9{grid-column:auto/span 9}.\32 xl\:g-col-10{grid-column:auto/span 10}.\32 xl\:g-col-11{grid-column:auto/span 11}.\32 xl\:g-col-12{grid-column:auto/span 12}.\32 xl\:g-start-1{grid-column-start:1}.\32 xl\:g-start-2{grid-column-start:2}.\32 xl\:g-start-3{grid-column-start:3}.\32 xl\:g-start-4{grid-column-start:4}.\32 xl\:g-start-5{grid-column-start:5}.\32 xl\:g-start-6{grid-column-start:6}.\32 xl\:g-start-7{grid-column-start:7}.\32 xl\:g-start-8{grid-column-start:8}.\32 xl\:g-start-9{grid-column-start:9}.\32 xl\:g-start-10{grid-column-start:10}.\32 xl\:g-start-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer utilities{.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-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}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self: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 stretch}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:2rem}.m-8{margin:2.5rem}.m-9{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:.75rem}.mx-4{margin-inline:1rem}.mx-5{margin-inline:1.25rem}.mx-6{margin-inline:1.5rem}.mx-7{margin-inline:2rem}.mx-8{margin-inline:2.5rem}.mx-9{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:.75rem}.my-4{margin-block:1rem}.my-5{margin-block:1.25rem}.my-6{margin-block:1.5rem}.my-7{margin-block:2rem}.my-8{margin-block:2.5rem}.my-9{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:.75rem}.mt-4{margin-block-start:1rem}.mt-5{margin-block-start:1.25rem}.mt-6{margin-block-start:1.5rem}.mt-7{margin-block-start:2rem}.mt-8{margin-block-start:2.5rem}.mt-9{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:.75rem}.me-4{margin-inline-end:1rem}.me-5{margin-inline-end:1.25rem}.me-6{margin-inline-end:1.5rem}.me-7{margin-inline-end:2rem}.me-8{margin-inline-end:2.5rem}.me-9{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:.75rem}.mb-4{margin-block-end:1rem}.mb-5{margin-block-end:1.25rem}.mb-6{margin-block-end:1.5rem}.mb-7{margin-block-end:2rem}.mb-8{margin-block-end:2.5rem}.mb-9{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.ms-5{margin-inline-start:1.25rem}.ms-6{margin-inline-start:1.5rem}.ms-7{margin-inline-start:2rem}.ms-8{margin-inline-start:2.5rem}.ms-9{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:2rem}.p-8{padding:2.5rem}.p-9{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-5{padding-inline:1.25rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:2rem}.px-8{padding-inline:2.5rem}.px-9{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-4{padding-block:1rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-7{padding-block:2rem}.py-8{padding-block:2.5rem}.py-9{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:.75rem}.pt-4{padding-block-start:1rem}.pt-5{padding-block-start:1.25rem}.pt-6{padding-block-start:1.5rem}.pt-7{padding-block-start:2rem}.pt-8{padding-block-start:2.5rem}.pt-9{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-5{padding-inline-end:1.25rem}.pe-6{padding-inline-end:1.5rem}.pe-7{padding-inline-end:2rem}.pe-8{padding-inline-end:2.5rem}.pe-9{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:.75rem}.pb-4{padding-block-end:1rem}.pb-5{padding-block-end:1.25rem}.pb-6{padding-block-end:1.5rem}.pb-7{padding-block-end:2rem}.pb-8{padding-block-end:2.5rem}.pb-9{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-6{padding-inline-start:1.5rem}.ps-7{padding-inline-start:2rem}.ps-8{padding-inline-start:2.5rem}.ps-9{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:2rem}.gap-8{gap:2.5rem}.gap-9{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:.75rem}.row-gap-4{row-gap:1rem}.row-gap-5{row-gap:1.25rem}.row-gap-6{row-gap:1.5rem}.row-gap-7{row-gap:2rem}.row-gap-8{row-gap:2.5rem}.row-gap-9{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.column-gap-9{-moz-column-gap:3rem;column-gap:3rem}@media (min-width:576px){.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-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\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self: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 stretch}.sm\:grid-cols-1{grid-template-columns:1fr}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.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-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-7{margin:2rem}.sm\:m-8{margin:2.5rem}.sm\:m-9{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:.75rem}.sm\:mx-4{margin-inline:1rem}.sm\:mx-5{margin-inline:1.25rem}.sm\:mx-6{margin-inline:1.5rem}.sm\:mx-7{margin-inline:2rem}.sm\:mx-8{margin-inline:2.5rem}.sm\:mx-9{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:.75rem}.sm\:my-4{margin-block:1rem}.sm\:my-5{margin-block:1.25rem}.sm\:my-6{margin-block:1.5rem}.sm\:my-7{margin-block:2rem}.sm\:my-8{margin-block:2.5rem}.sm\:my-9{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:.75rem}.sm\:mt-4{margin-block-start:1rem}.sm\:mt-5{margin-block-start:1.25rem}.sm\:mt-6{margin-block-start:1.5rem}.sm\:mt-7{margin-block-start:2rem}.sm\:mt-8{margin-block-start:2.5rem}.sm\:mt-9{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:.75rem}.sm\:me-4{margin-inline-end:1rem}.sm\:me-5{margin-inline-end:1.25rem}.sm\:me-6{margin-inline-end:1.5rem}.sm\:me-7{margin-inline-end:2rem}.sm\:me-8{margin-inline-end:2.5rem}.sm\:me-9{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:.75rem}.sm\:mb-4{margin-block-end:1rem}.sm\:mb-5{margin-block-end:1.25rem}.sm\:mb-6{margin-block-end:1.5rem}.sm\:mb-7{margin-block-end:2rem}.sm\:mb-8{margin-block-end:2.5rem}.sm\:mb-9{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:.75rem}.sm\:ms-4{margin-inline-start:1rem}.sm\:ms-5{margin-inline-start:1.25rem}.sm\:ms-6{margin-inline-start:1.5rem}.sm\:ms-7{margin-inline-start:2rem}.sm\:ms-8{margin-inline-start:2.5rem}.sm\:ms-9{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:2rem}.sm\:p-8{padding:2.5rem}.sm\:p-9{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:.75rem}.sm\:px-4{padding-inline:1rem}.sm\:px-5{padding-inline:1.25rem}.sm\:px-6{padding-inline:1.5rem}.sm\:px-7{padding-inline:2rem}.sm\:px-8{padding-inline:2.5rem}.sm\:px-9{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:.75rem}.sm\:py-4{padding-block:1rem}.sm\:py-5{padding-block:1.25rem}.sm\:py-6{padding-block:1.5rem}.sm\:py-7{padding-block:2rem}.sm\:py-8{padding-block:2.5rem}.sm\:py-9{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:.75rem}.sm\:pt-4{padding-block-start:1rem}.sm\:pt-5{padding-block-start:1.25rem}.sm\:pt-6{padding-block-start:1.5rem}.sm\:pt-7{padding-block-start:2rem}.sm\:pt-8{padding-block-start:2.5rem}.sm\:pt-9{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-4{padding-inline-end:1rem}.sm\:pe-5{padding-inline-end:1.25rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:pe-7{padding-inline-end:2rem}.sm\:pe-8{padding-inline-end:2.5rem}.sm\:pe-9{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:.75rem}.sm\:pb-4{padding-block-end:1rem}.sm\:pb-5{padding-block-end:1.25rem}.sm\:pb-6{padding-block-end:1.5rem}.sm\:pb-7{padding-block-end:2rem}.sm\:pb-8{padding-block-end:2.5rem}.sm\:pb-9{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-4{padding-inline-start:1rem}.sm\:ps-5{padding-inline-start:1.25rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:ps-7{padding-inline-start:2rem}.sm\:ps-8{padding-inline-start:2.5rem}.sm\:ps-9{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-7{gap:2rem}.sm\:gap-8{gap:2.5rem}.sm\:gap-9{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:.75rem}.sm\:row-gap-4{row-gap:1rem}.sm\:row-gap-5{row-gap:1.25rem}.sm\:row-gap-6{row-gap:1.5rem}.sm\:row-gap-7{row-gap:2rem}.sm\:row-gap-8{row-gap:2.5rem}.sm\:row-gap-9{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.sm\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.sm\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.sm\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.sm\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:768px){.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-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\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self: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 stretch}.md\:grid-cols-1{grid-template-columns:1fr}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.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-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-7{margin:2rem}.md\:m-8{margin:2.5rem}.md\:m-9{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:.75rem}.md\:mx-4{margin-inline:1rem}.md\:mx-5{margin-inline:1.25rem}.md\:mx-6{margin-inline:1.5rem}.md\:mx-7{margin-inline:2rem}.md\:mx-8{margin-inline:2.5rem}.md\:mx-9{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:.75rem}.md\:my-4{margin-block:1rem}.md\:my-5{margin-block:1.25rem}.md\:my-6{margin-block:1.5rem}.md\:my-7{margin-block:2rem}.md\:my-8{margin-block:2.5rem}.md\:my-9{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:.75rem}.md\:mt-4{margin-block-start:1rem}.md\:mt-5{margin-block-start:1.25rem}.md\:mt-6{margin-block-start:1.5rem}.md\:mt-7{margin-block-start:2rem}.md\:mt-8{margin-block-start:2.5rem}.md\:mt-9{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:.75rem}.md\:me-4{margin-inline-end:1rem}.md\:me-5{margin-inline-end:1.25rem}.md\:me-6{margin-inline-end:1.5rem}.md\:me-7{margin-inline-end:2rem}.md\:me-8{margin-inline-end:2.5rem}.md\:me-9{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:.75rem}.md\:mb-4{margin-block-end:1rem}.md\:mb-5{margin-block-end:1.25rem}.md\:mb-6{margin-block-end:1.5rem}.md\:mb-7{margin-block-end:2rem}.md\:mb-8{margin-block-end:2.5rem}.md\:mb-9{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:.75rem}.md\:ms-4{margin-inline-start:1rem}.md\:ms-5{margin-inline-start:1.25rem}.md\:ms-6{margin-inline-start:1.5rem}.md\:ms-7{margin-inline-start:2rem}.md\:ms-8{margin-inline-start:2.5rem}.md\:ms-9{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:2rem}.md\:p-8{padding:2.5rem}.md\:p-9{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:.75rem}.md\:px-4{padding-inline:1rem}.md\:px-5{padding-inline:1.25rem}.md\:px-6{padding-inline:1.5rem}.md\:px-7{padding-inline:2rem}.md\:px-8{padding-inline:2.5rem}.md\:px-9{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:.75rem}.md\:py-4{padding-block:1rem}.md\:py-5{padding-block:1.25rem}.md\:py-6{padding-block:1.5rem}.md\:py-7{padding-block:2rem}.md\:py-8{padding-block:2.5rem}.md\:py-9{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:.75rem}.md\:pt-4{padding-block-start:1rem}.md\:pt-5{padding-block-start:1.25rem}.md\:pt-6{padding-block-start:1.5rem}.md\:pt-7{padding-block-start:2rem}.md\:pt-8{padding-block-start:2.5rem}.md\:pt-9{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:.75rem}.md\:pe-4{padding-inline-end:1rem}.md\:pe-5{padding-inline-end:1.25rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:pe-7{padding-inline-end:2rem}.md\:pe-8{padding-inline-end:2.5rem}.md\:pe-9{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:.75rem}.md\:pb-4{padding-block-end:1rem}.md\:pb-5{padding-block-end:1.25rem}.md\:pb-6{padding-block-end:1.5rem}.md\:pb-7{padding-block-end:2rem}.md\:pb-8{padding-block-end:2.5rem}.md\:pb-9{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:.75rem}.md\:ps-4{padding-inline-start:1rem}.md\:ps-5{padding-inline-start:1.25rem}.md\:ps-6{padding-inline-start:1.5rem}.md\:ps-7{padding-inline-start:2rem}.md\:ps-8{padding-inline-start:2.5rem}.md\:ps-9{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-7{gap:2rem}.md\:gap-8{gap:2.5rem}.md\:gap-9{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:.75rem}.md\:row-gap-4{row-gap:1rem}.md\:row-gap-5{row-gap:1.25rem}.md\:row-gap-6{row-gap:1.5rem}.md\:row-gap-7{row-gap:2rem}.md\:row-gap-8{row-gap:2.5rem}.md\:row-gap-9{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.md\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.md\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.md\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.md\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1024px){.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-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\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self: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 stretch}.lg\:grid-cols-1{grid-template-columns:1fr}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.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-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-7{margin:2rem}.lg\:m-8{margin:2.5rem}.lg\:m-9{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:.75rem}.lg\:mx-4{margin-inline:1rem}.lg\:mx-5{margin-inline:1.25rem}.lg\:mx-6{margin-inline:1.5rem}.lg\:mx-7{margin-inline:2rem}.lg\:mx-8{margin-inline:2.5rem}.lg\:mx-9{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:.75rem}.lg\:my-4{margin-block:1rem}.lg\:my-5{margin-block:1.25rem}.lg\:my-6{margin-block:1.5rem}.lg\:my-7{margin-block:2rem}.lg\:my-8{margin-block:2.5rem}.lg\:my-9{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:.75rem}.lg\:mt-4{margin-block-start:1rem}.lg\:mt-5{margin-block-start:1.25rem}.lg\:mt-6{margin-block-start:1.5rem}.lg\:mt-7{margin-block-start:2rem}.lg\:mt-8{margin-block-start:2.5rem}.lg\:mt-9{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:.75rem}.lg\:me-4{margin-inline-end:1rem}.lg\:me-5{margin-inline-end:1.25rem}.lg\:me-6{margin-inline-end:1.5rem}.lg\:me-7{margin-inline-end:2rem}.lg\:me-8{margin-inline-end:2.5rem}.lg\:me-9{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:.75rem}.lg\:mb-4{margin-block-end:1rem}.lg\:mb-5{margin-block-end:1.25rem}.lg\:mb-6{margin-block-end:1.5rem}.lg\:mb-7{margin-block-end:2rem}.lg\:mb-8{margin-block-end:2.5rem}.lg\:mb-9{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:.75rem}.lg\:ms-4{margin-inline-start:1rem}.lg\:ms-5{margin-inline-start:1.25rem}.lg\:ms-6{margin-inline-start:1.5rem}.lg\:ms-7{margin-inline-start:2rem}.lg\:ms-8{margin-inline-start:2.5rem}.lg\:ms-9{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:2rem}.lg\:p-8{padding:2.5rem}.lg\:p-9{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:.75rem}.lg\:px-4{padding-inline:1rem}.lg\:px-5{padding-inline:1.25rem}.lg\:px-6{padding-inline:1.5rem}.lg\:px-7{padding-inline:2rem}.lg\:px-8{padding-inline:2.5rem}.lg\:px-9{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:.75rem}.lg\:py-4{padding-block:1rem}.lg\:py-5{padding-block:1.25rem}.lg\:py-6{padding-block:1.5rem}.lg\:py-7{padding-block:2rem}.lg\:py-8{padding-block:2.5rem}.lg\:py-9{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:.75rem}.lg\:pt-4{padding-block-start:1rem}.lg\:pt-5{padding-block-start:1.25rem}.lg\:pt-6{padding-block-start:1.5rem}.lg\:pt-7{padding-block-start:2rem}.lg\:pt-8{padding-block-start:2.5rem}.lg\:pt-9{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:.75rem}.lg\:pe-4{padding-inline-end:1rem}.lg\:pe-5{padding-inline-end:1.25rem}.lg\:pe-6{padding-inline-end:1.5rem}.lg\:pe-7{padding-inline-end:2rem}.lg\:pe-8{padding-inline-end:2.5rem}.lg\:pe-9{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:.75rem}.lg\:pb-4{padding-block-end:1rem}.lg\:pb-5{padding-block-end:1.25rem}.lg\:pb-6{padding-block-end:1.5rem}.lg\:pb-7{padding-block-end:2rem}.lg\:pb-8{padding-block-end:2.5rem}.lg\:pb-9{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:.75rem}.lg\:ps-4{padding-inline-start:1rem}.lg\:ps-5{padding-inline-start:1.25rem}.lg\:ps-6{padding-inline-start:1.5rem}.lg\:ps-7{padding-inline-start:2rem}.lg\:ps-8{padding-inline-start:2.5rem}.lg\:ps-9{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:.75rem}.lg\:gap-4{gap:1rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-7{gap:2rem}.lg\:gap-8{gap:2.5rem}.lg\:gap-9{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:.75rem}.lg\:row-gap-4{row-gap:1rem}.lg\:row-gap-5{row-gap:1.25rem}.lg\:row-gap-6{row-gap:1.5rem}.lg\:row-gap-7{row-gap:2rem}.lg\:row-gap-8{row-gap:2.5rem}.lg\:row-gap-9{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.lg\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.lg\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.lg\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1280px){.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-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\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self: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 stretch}.xl\:grid-cols-1{grid-template-columns:1fr}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.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-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-7{margin:2rem}.xl\:m-8{margin:2.5rem}.xl\:m-9{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:.75rem}.xl\:mx-4{margin-inline:1rem}.xl\:mx-5{margin-inline:1.25rem}.xl\:mx-6{margin-inline:1.5rem}.xl\:mx-7{margin-inline:2rem}.xl\:mx-8{margin-inline:2.5rem}.xl\:mx-9{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:.75rem}.xl\:my-4{margin-block:1rem}.xl\:my-5{margin-block:1.25rem}.xl\:my-6{margin-block:1.5rem}.xl\:my-7{margin-block:2rem}.xl\:my-8{margin-block:2.5rem}.xl\:my-9{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:.75rem}.xl\:mt-4{margin-block-start:1rem}.xl\:mt-5{margin-block-start:1.25rem}.xl\:mt-6{margin-block-start:1.5rem}.xl\:mt-7{margin-block-start:2rem}.xl\:mt-8{margin-block-start:2.5rem}.xl\:mt-9{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:.75rem}.xl\:me-4{margin-inline-end:1rem}.xl\:me-5{margin-inline-end:1.25rem}.xl\:me-6{margin-inline-end:1.5rem}.xl\:me-7{margin-inline-end:2rem}.xl\:me-8{margin-inline-end:2.5rem}.xl\:me-9{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:.75rem}.xl\:mb-4{margin-block-end:1rem}.xl\:mb-5{margin-block-end:1.25rem}.xl\:mb-6{margin-block-end:1.5rem}.xl\:mb-7{margin-block-end:2rem}.xl\:mb-8{margin-block-end:2.5rem}.xl\:mb-9{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:.75rem}.xl\:ms-4{margin-inline-start:1rem}.xl\:ms-5{margin-inline-start:1.25rem}.xl\:ms-6{margin-inline-start:1.5rem}.xl\:ms-7{margin-inline-start:2rem}.xl\:ms-8{margin-inline-start:2.5rem}.xl\:ms-9{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-7{padding:2rem}.xl\:p-8{padding:2.5rem}.xl\:p-9{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:.75rem}.xl\:px-4{padding-inline:1rem}.xl\:px-5{padding-inline:1.25rem}.xl\:px-6{padding-inline:1.5rem}.xl\:px-7{padding-inline:2rem}.xl\:px-8{padding-inline:2.5rem}.xl\:px-9{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:.75rem}.xl\:py-4{padding-block:1rem}.xl\:py-5{padding-block:1.25rem}.xl\:py-6{padding-block:1.5rem}.xl\:py-7{padding-block:2rem}.xl\:py-8{padding-block:2.5rem}.xl\:py-9{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:.75rem}.xl\:pt-4{padding-block-start:1rem}.xl\:pt-5{padding-block-start:1.25rem}.xl\:pt-6{padding-block-start:1.5rem}.xl\:pt-7{padding-block-start:2rem}.xl\:pt-8{padding-block-start:2.5rem}.xl\:pt-9{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:.75rem}.xl\:pe-4{padding-inline-end:1rem}.xl\:pe-5{padding-inline-end:1.25rem}.xl\:pe-6{padding-inline-end:1.5rem}.xl\:pe-7{padding-inline-end:2rem}.xl\:pe-8{padding-inline-end:2.5rem}.xl\:pe-9{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:.75rem}.xl\:pb-4{padding-block-end:1rem}.xl\:pb-5{padding-block-end:1.25rem}.xl\:pb-6{padding-block-end:1.5rem}.xl\:pb-7{padding-block-end:2rem}.xl\:pb-8{padding-block-end:2.5rem}.xl\:pb-9{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:.75rem}.xl\:ps-4{padding-inline-start:1rem}.xl\:ps-5{padding-inline-start:1.25rem}.xl\:ps-6{padding-inline-start:1.5rem}.xl\:ps-7{padding-inline-start:2rem}.xl\:ps-8{padding-inline-start:2.5rem}.xl\:ps-9{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:.75rem}.xl\:gap-4{gap:1rem}.xl\:gap-5{gap:1.25rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-7{gap:2rem}.xl\:gap-8{gap:2.5rem}.xl\:gap-9{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:.75rem}.xl\:row-gap-4{row-gap:1rem}.xl\:row-gap-5{row-gap:1.25rem}.xl\:row-gap-6{row-gap:1.5rem}.xl\:row-gap-7{row-gap:2rem}.xl\:row-gap-8{row-gap:2.5rem}.xl\:row-gap-9{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.xl\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.xl\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.xl\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.xl\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}}@media (min-width:1536px){.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-1{grid-template-columns:1fr}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:.75rem}.\32 xl\:m-4{margin:1rem}.\32 xl\:m-5{margin:1.25rem}.\32 xl\:m-6{margin:1.5rem}.\32 xl\:m-7{margin:2rem}.\32 xl\:m-8{margin:2.5rem}.\32 xl\:m-9{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:.75rem}.\32 xl\:mx-4{margin-inline:1rem}.\32 xl\:mx-5{margin-inline:1.25rem}.\32 xl\:mx-6{margin-inline:1.5rem}.\32 xl\:mx-7{margin-inline:2rem}.\32 xl\:mx-8{margin-inline:2.5rem}.\32 xl\:mx-9{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:.75rem}.\32 xl\:my-4{margin-block:1rem}.\32 xl\:my-5{margin-block:1.25rem}.\32 xl\:my-6{margin-block:1.5rem}.\32 xl\:my-7{margin-block:2rem}.\32 xl\:my-8{margin-block:2.5rem}.\32 xl\:my-9{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:.75rem}.\32 xl\:mt-4{margin-block-start:1rem}.\32 xl\:mt-5{margin-block-start:1.25rem}.\32 xl\:mt-6{margin-block-start:1.5rem}.\32 xl\:mt-7{margin-block-start:2rem}.\32 xl\:mt-8{margin-block-start:2.5rem}.\32 xl\:mt-9{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:.75rem}.\32 xl\:me-4{margin-inline-end:1rem}.\32 xl\:me-5{margin-inline-end:1.25rem}.\32 xl\:me-6{margin-inline-end:1.5rem}.\32 xl\:me-7{margin-inline-end:2rem}.\32 xl\:me-8{margin-inline-end:2.5rem}.\32 xl\:me-9{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:.75rem}.\32 xl\:mb-4{margin-block-end:1rem}.\32 xl\:mb-5{margin-block-end:1.25rem}.\32 xl\:mb-6{margin-block-end:1.5rem}.\32 xl\:mb-7{margin-block-end:2rem}.\32 xl\:mb-8{margin-block-end:2.5rem}.\32 xl\:mb-9{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:.75rem}.\32 xl\:ms-4{margin-inline-start:1rem}.\32 xl\:ms-5{margin-inline-start:1.25rem}.\32 xl\:ms-6{margin-inline-start:1.5rem}.\32 xl\:ms-7{margin-inline-start:2rem}.\32 xl\:ms-8{margin-inline-start:2.5rem}.\32 xl\:ms-9{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:.75rem}.\32 xl\:p-4{padding:1rem}.\32 xl\:p-5{padding:1.25rem}.\32 xl\:p-6{padding:1.5rem}.\32 xl\:p-7{padding:2rem}.\32 xl\:p-8{padding:2.5rem}.\32 xl\:p-9{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:.75rem}.\32 xl\:px-4{padding-inline:1rem}.\32 xl\:px-5{padding-inline:1.25rem}.\32 xl\:px-6{padding-inline:1.5rem}.\32 xl\:px-7{padding-inline:2rem}.\32 xl\:px-8{padding-inline:2.5rem}.\32 xl\:px-9{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:.75rem}.\32 xl\:py-4{padding-block:1rem}.\32 xl\:py-5{padding-block:1.25rem}.\32 xl\:py-6{padding-block:1.5rem}.\32 xl\:py-7{padding-block:2rem}.\32 xl\:py-8{padding-block:2.5rem}.\32 xl\:py-9{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:.75rem}.\32 xl\:pt-4{padding-block-start:1rem}.\32 xl\:pt-5{padding-block-start:1.25rem}.\32 xl\:pt-6{padding-block-start:1.5rem}.\32 xl\:pt-7{padding-block-start:2rem}.\32 xl\:pt-8{padding-block-start:2.5rem}.\32 xl\:pt-9{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:.75rem}.\32 xl\:pe-4{padding-inline-end:1rem}.\32 xl\:pe-5{padding-inline-end:1.25rem}.\32 xl\:pe-6{padding-inline-end:1.5rem}.\32 xl\:pe-7{padding-inline-end:2rem}.\32 xl\:pe-8{padding-inline-end:2.5rem}.\32 xl\:pe-9{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:.75rem}.\32 xl\:pb-4{padding-block-end:1rem}.\32 xl\:pb-5{padding-block-end:1.25rem}.\32 xl\:pb-6{padding-block-end:1.5rem}.\32 xl\:pb-7{padding-block-end:2rem}.\32 xl\:pb-8{padding-block-end:2.5rem}.\32 xl\:pb-9{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:.75rem}.\32 xl\:ps-4{padding-inline-start:1rem}.\32 xl\:ps-5{padding-inline-start:1.25rem}.\32 xl\:ps-6{padding-inline-start:1.5rem}.\32 xl\:ps-7{padding-inline-start:2rem}.\32 xl\:ps-8{padding-inline-start:2.5rem}.\32 xl\:ps-9{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:.75rem}.\32 xl\:gap-4{gap:1rem}.\32 xl\:gap-5{gap:1.25rem}.\32 xl\:gap-6{gap:1.5rem}.\32 xl\:gap-7{gap:2rem}.\32 xl\:gap-8{gap:2.5rem}.\32 xl\:gap-9{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:.75rem}.\32 xl\:row-gap-4{row-gap:1rem}.\32 xl\:row-gap-5{row-gap:1.25rem}.\32 xl\:row-gap-6{row-gap:1.5rem}.\32 xl\:row-gap-7{row-gap:2rem}.\32 xl\:row-gap-8{row-gap:2.5rem}.\32 xl\:row-gap-9{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.\32 xl\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.\32 xl\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.\32 xl\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.\32 xl\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px}
 /*# sourceMappingURL=bootstrap-grid.min.css.map */
\ No newline at end of file
index 38aa578e1e740c15040f7e53dd77cc3f29f85bbd..0bf556eaa826ed53968167ffeb207dab338697bd 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-grid.css","../../scss/_banner.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"sourcesContent":["/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 1rem;\n    }\n    .sm\\:m-4 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-5 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 1rem;\n    }\n    .sm\\:p-4 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-5 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 1rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-5 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 1rem;\n    }\n    .md\\:m-4 {\n      margin: 1.5rem;\n    }\n    .md\\:m-5 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 1rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-5 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 1rem;\n    }\n    .md\\:p-4 {\n      padding: 1.5rem;\n    }\n    .md\\:p-5 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 1rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-5 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 1rem;\n    }\n    .md\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-5 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 1rem;\n    }\n    .lg\\:m-4 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-5 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 1rem;\n    }\n    .lg\\:p-4 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-5 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 1rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-5 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 1rem;\n    }\n    .xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-5 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 1rem;\n    }\n    .xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-5 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n","@use \"banner\" with (\n  $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n  $utilities,\n  (\n    \"display\",\n    \"order\",\n    \"grid-column-counts\",\n    \"grid-columns\",\n    \"grid-auto-flow\",\n    \"gap\",\n    \"row-gap\",\n    \"column-gap\",\n    \"flex\",\n    \"flex-direction\",\n    \"flex-grow\",\n    \"flex-shrink\",\n    \"flex-wrap\",\n    \"justify-content\",\n    \"justify-items\",\n    \"align-items\",\n    \"align-content\",\n    \"align-self\",\n    \"place-items\",\n    \"margin\",\n    \"margin-x\",\n    \"margin-y\",\n    \"margin-top\",\n    \"margin-end\",\n    \"margin-bottom\",\n    \"margin-start\",\n    \"negative-margin\",\n    \"negative-margin-x\",\n    \"negative-margin-y\",\n    \"negative-margin-top\",\n    \"negative-margin-end\",\n    \"negative-margin-bottom\",\n    \"negative-margin-start\",\n    \"padding\",\n    \"padding-x\",\n    \"padding-y\",\n    \"padding-top\",\n    \"padding-end\",\n    \"padding-bottom\",\n    \"padding-start\",\n  )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n  @each $name, $value in $breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-grid.css","../../scss/_banner.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss","../../scss/bootstrap-grid.scss"],"sourcesContent":["/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 0.75rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 0.75rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 1.25rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 1.25rem;\n  }\n  .g-6,\n  .gx-6 {\n    --gutter-x: 1.5rem;\n  }\n  .g-6,\n  .gy-6 {\n    --gutter-y: 1.5rem;\n  }\n  .g-7,\n  .gx-7 {\n    --gutter-x: 2rem;\n  }\n  .g-7,\n  .gy-7 {\n    --gutter-y: 2rem;\n  }\n  .g-8,\n  .gx-8 {\n    --gutter-x: 2.5rem;\n  }\n  .g-8,\n  .gy-8 {\n    --gutter-y: 2.5rem;\n  }\n  .g-9,\n  .gx-9 {\n    --gutter-x: 3rem;\n  }\n  .g-9,\n  .gy-9 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .md\\:g-6,\n    .md\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-6,\n    .md\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-7,\n    .md\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .md\\:g-7,\n    .md\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .md\\:g-8,\n    .md\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .md\\:g-8,\n    .md\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .md\\:g-9,\n    .md\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-9,\n    .md\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-1 {\n    grid-template-columns: 1fr;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 0.75rem;\n  }\n  .m-4 {\n    margin: 1rem;\n  }\n  .m-5 {\n    margin: 1.25rem;\n  }\n  .m-6 {\n    margin: 1.5rem;\n  }\n  .m-7 {\n    margin: 2rem;\n  }\n  .m-8 {\n    margin: 2.5rem;\n  }\n  .m-9 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 0.75rem;\n  }\n  .mx-4 {\n    margin-inline: 1rem;\n  }\n  .mx-5 {\n    margin-inline: 1.25rem;\n  }\n  .mx-6 {\n    margin-inline: 1.5rem;\n  }\n  .mx-7 {\n    margin-inline: 2rem;\n  }\n  .mx-8 {\n    margin-inline: 2.5rem;\n  }\n  .mx-9 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 0.75rem;\n  }\n  .my-4 {\n    margin-block: 1rem;\n  }\n  .my-5 {\n    margin-block: 1.25rem;\n  }\n  .my-6 {\n    margin-block: 1.5rem;\n  }\n  .my-7 {\n    margin-block: 2rem;\n  }\n  .my-8 {\n    margin-block: 2.5rem;\n  }\n  .my-9 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 0.75rem;\n  }\n  .mt-4 {\n    margin-block-start: 1rem;\n  }\n  .mt-5 {\n    margin-block-start: 1.25rem;\n  }\n  .mt-6 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-7 {\n    margin-block-start: 2rem;\n  }\n  .mt-8 {\n    margin-block-start: 2.5rem;\n  }\n  .mt-9 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 0.75rem;\n  }\n  .me-4 {\n    margin-inline-end: 1rem;\n  }\n  .me-5 {\n    margin-inline-end: 1.25rem;\n  }\n  .me-6 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-7 {\n    margin-inline-end: 2rem;\n  }\n  .me-8 {\n    margin-inline-end: 2.5rem;\n  }\n  .me-9 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 0.75rem;\n  }\n  .mb-4 {\n    margin-block-end: 1rem;\n  }\n  .mb-5 {\n    margin-block-end: 1.25rem;\n  }\n  .mb-6 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-7 {\n    margin-block-end: 2rem;\n  }\n  .mb-8 {\n    margin-block-end: 2.5rem;\n  }\n  .mb-9 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 0.75rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1rem;\n  }\n  .ms-5 {\n    margin-inline-start: 1.25rem;\n  }\n  .ms-6 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-7 {\n    margin-inline-start: 2rem;\n  }\n  .ms-8 {\n    margin-inline-start: 2.5rem;\n  }\n  .ms-9 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 0.75rem;\n  }\n  .p-4 {\n    padding: 1rem;\n  }\n  .p-5 {\n    padding: 1.25rem;\n  }\n  .p-6 {\n    padding: 1.5rem;\n  }\n  .p-7 {\n    padding: 2rem;\n  }\n  .p-8 {\n    padding: 2.5rem;\n  }\n  .p-9 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 0.75rem;\n  }\n  .px-4 {\n    padding-inline: 1rem;\n  }\n  .px-5 {\n    padding-inline: 1.25rem;\n  }\n  .px-6 {\n    padding-inline: 1.5rem;\n  }\n  .px-7 {\n    padding-inline: 2rem;\n  }\n  .px-8 {\n    padding-inline: 2.5rem;\n  }\n  .px-9 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 0.75rem;\n  }\n  .py-4 {\n    padding-block: 1rem;\n  }\n  .py-5 {\n    padding-block: 1.25rem;\n  }\n  .py-6 {\n    padding-block: 1.5rem;\n  }\n  .py-7 {\n    padding-block: 2rem;\n  }\n  .py-8 {\n    padding-block: 2.5rem;\n  }\n  .py-9 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 0.75rem;\n  }\n  .pt-4 {\n    padding-block-start: 1rem;\n  }\n  .pt-5 {\n    padding-block-start: 1.25rem;\n  }\n  .pt-6 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-7 {\n    padding-block-start: 2rem;\n  }\n  .pt-8 {\n    padding-block-start: 2.5rem;\n  }\n  .pt-9 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1rem;\n  }\n  .pe-5 {\n    padding-inline-end: 1.25rem;\n  }\n  .pe-6 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-7 {\n    padding-inline-end: 2rem;\n  }\n  .pe-8 {\n    padding-inline-end: 2.5rem;\n  }\n  .pe-9 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 0.75rem;\n  }\n  .pb-4 {\n    padding-block-end: 1rem;\n  }\n  .pb-5 {\n    padding-block-end: 1.25rem;\n  }\n  .pb-6 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-7 {\n    padding-block-end: 2rem;\n  }\n  .pb-8 {\n    padding-block-end: 2.5rem;\n  }\n  .pb-9 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 0.75rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1rem;\n  }\n  .ps-5 {\n    padding-inline-start: 1.25rem;\n  }\n  .ps-6 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-7 {\n    padding-inline-start: 2rem;\n  }\n  .ps-8 {\n    padding-inline-start: 2.5rem;\n  }\n  .ps-9 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 0.75rem;\n  }\n  .gap-4 {\n    gap: 1rem;\n  }\n  .gap-5 {\n    gap: 1.25rem;\n  }\n  .gap-6 {\n    gap: 1.5rem;\n  }\n  .gap-7 {\n    gap: 2rem;\n  }\n  .gap-8 {\n    gap: 2.5rem;\n  }\n  .gap-9 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 0.75rem;\n  }\n  .row-gap-4 {\n    row-gap: 1rem;\n  }\n  .row-gap-5 {\n    row-gap: 1.25rem;\n  }\n  .row-gap-6 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-7 {\n    row-gap: 2rem;\n  }\n  .row-gap-8 {\n    row-gap: 2.5rem;\n  }\n  .row-gap-9 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 0.75rem;\n  }\n  .column-gap-4 {\n    column-gap: 1rem;\n  }\n  .column-gap-5 {\n    column-gap: 1.25rem;\n  }\n  .column-gap-6 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-7 {\n    column-gap: 2rem;\n  }\n  .column-gap-8 {\n    column-gap: 2.5rem;\n  }\n  .column-gap-9 {\n    column-gap: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 0.75rem;\n    }\n    .sm\\:m-4 {\n      margin: 1rem;\n    }\n    .sm\\:m-5 {\n      margin: 1.25rem;\n    }\n    .sm\\:m-6 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-7 {\n      margin: 2rem;\n    }\n    .sm\\:m-8 {\n      margin: 2.5rem;\n    }\n    .sm\\:m-9 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .sm\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .sm\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .sm\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .sm\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-7 {\n      margin-block: 2rem;\n    }\n    .sm\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .sm\\:my-9 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .sm\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .sm\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .sm\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .sm\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .sm\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .sm\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .sm\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .sm\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .sm\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .sm\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .sm\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .sm\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 0.75rem;\n    }\n    .sm\\:p-4 {\n      padding: 1rem;\n    }\n    .sm\\:p-5 {\n      padding: 1.25rem;\n    }\n    .sm\\:p-6 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-7 {\n      padding: 2rem;\n    }\n    .sm\\:p-8 {\n      padding: 2.5rem;\n    }\n    .sm\\:p-9 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .sm\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .sm\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .sm\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .sm\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-7 {\n      padding-block: 2rem;\n    }\n    .sm\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .sm\\:py-9 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .sm\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .sm\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .sm\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .sm\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .sm\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .sm\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .sm\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .sm\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .sm\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .sm\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .sm\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .sm\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1rem;\n    }\n    .sm\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .sm\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-7 {\n      gap: 2rem;\n    }\n    .sm\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .sm\\:gap-9 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .sm\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .sm\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .sm\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .sm\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .sm\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .sm\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 0.75rem;\n    }\n    .md\\:m-4 {\n      margin: 1rem;\n    }\n    .md\\:m-5 {\n      margin: 1.25rem;\n    }\n    .md\\:m-6 {\n      margin: 1.5rem;\n    }\n    .md\\:m-7 {\n      margin: 2rem;\n    }\n    .md\\:m-8 {\n      margin: 2.5rem;\n    }\n    .md\\:m-9 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .md\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .md\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .md\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1rem;\n    }\n    .md\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .md\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-7 {\n      margin-block: 2rem;\n    }\n    .md\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .md\\:my-9 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .md\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .md\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .md\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .md\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .md\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .md\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .md\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .md\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .md\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .md\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .md\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .md\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 0.75rem;\n    }\n    .md\\:p-4 {\n      padding: 1rem;\n    }\n    .md\\:p-5 {\n      padding: 1.25rem;\n    }\n    .md\\:p-6 {\n      padding: 1.5rem;\n    }\n    .md\\:p-7 {\n      padding: 2rem;\n    }\n    .md\\:p-8 {\n      padding: 2.5rem;\n    }\n    .md\\:p-9 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .md\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .md\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .md\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1rem;\n    }\n    .md\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .md\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-7 {\n      padding-block: 2rem;\n    }\n    .md\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .md\\:py-9 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .md\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .md\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .md\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .md\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .md\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .md\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .md\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .md\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .md\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .md\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .md\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .md\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .md\\:gap-4 {\n      gap: 1rem;\n    }\n    .md\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .md\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-7 {\n      gap: 2rem;\n    }\n    .md\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .md\\:gap-9 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .md\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .md\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .md\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .md\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .md\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .md\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 0.75rem;\n    }\n    .lg\\:m-4 {\n      margin: 1rem;\n    }\n    .lg\\:m-5 {\n      margin: 1.25rem;\n    }\n    .lg\\:m-6 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-7 {\n      margin: 2rem;\n    }\n    .lg\\:m-8 {\n      margin: 2.5rem;\n    }\n    .lg\\:m-9 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .lg\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .lg\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .lg\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .lg\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-7 {\n      margin-block: 2rem;\n    }\n    .lg\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .lg\\:my-9 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .lg\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .lg\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .lg\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .lg\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .lg\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .lg\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .lg\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .lg\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .lg\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .lg\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .lg\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .lg\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 0.75rem;\n    }\n    .lg\\:p-4 {\n      padding: 1rem;\n    }\n    .lg\\:p-5 {\n      padding: 1.25rem;\n    }\n    .lg\\:p-6 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-7 {\n      padding: 2rem;\n    }\n    .lg\\:p-8 {\n      padding: 2.5rem;\n    }\n    .lg\\:p-9 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .lg\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .lg\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .lg\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .lg\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-7 {\n      padding-block: 2rem;\n    }\n    .lg\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .lg\\:py-9 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .lg\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .lg\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .lg\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .lg\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .lg\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .lg\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .lg\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .lg\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .lg\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .lg\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .lg\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .lg\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1rem;\n    }\n    .lg\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .lg\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-7 {\n      gap: 2rem;\n    }\n    .lg\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .lg\\:gap-9 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .lg\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .lg\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .lg\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .lg\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .lg\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .lg\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .xl\\:m-4 {\n      margin: 1rem;\n    }\n    .xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-7 {\n      margin: 2rem;\n    }\n    .xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .xl\\:m-9 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .xl\\:p-4 {\n      padding: 1rem;\n    }\n    .xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-7 {\n      padding: 2rem;\n    }\n    .xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .xl\\:p-9 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .\\32 xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-7 {\n      margin: 2rem;\n    }\n    .\\32 xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .\\32 xl\\:m-9 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .\\32 xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .\\32 xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .\\32 xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .\\32 xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .\\32 xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .\\32 xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .\\32 xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .\\32 xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .\\32 xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .\\32 xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .\\32 xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .\\32 xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .\\32 xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .\\32 xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .\\32 xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-7 {\n      padding: 2rem;\n    }\n    .\\32 xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .\\32 xl\\:p-9 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .\\32 xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .\\32 xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .\\32 xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .\\32 xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .\\32 xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .\\32 xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .\\32 xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .\\32 xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .\\32 xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .\\32 xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .\\32 xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .\\32 xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .\\32 xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .\\32 xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .\\32 xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .\\32 xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .\\32 xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .\\32 xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .\\32 xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .\\32 xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .\\32 xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .\\32 xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .\\32 xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n","@use \"banner\" with (\n  $file: \"Grid\"\n);\n\n@use \"config\" as *;\n@use \"functions\" as *;\n\n@forward \"utilities\"; // Make utilities available downstream\n@use \"utilities\" as *; // Bring utilities into the current namespace\n\n@forward \"layout/containers\";\n@forward \"layout/grid\";\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n  $utilities,\n  (\n    \"display\",\n    \"order\",\n    \"grid-column-counts\",\n    \"grid-columns\",\n    \"grid-auto-flow\",\n    \"gap\",\n    \"row-gap\",\n    \"column-gap\",\n    \"flex\",\n    \"flex-direction\",\n    \"flex-grow\",\n    \"flex-shrink\",\n    \"flex-wrap\",\n    \"justify-content\",\n    \"justify-items\",\n    \"align-items\",\n    \"align-content\",\n    \"align-self\",\n    \"place-items\",\n    \"margin\",\n    \"margin-x\",\n    \"margin-y\",\n    \"margin-top\",\n    \"margin-end\",\n    \"margin-bottom\",\n    \"margin-start\",\n    \"negative-margin\",\n    \"negative-margin-x\",\n    \"negative-margin-y\",\n    \"negative-margin-top\",\n    \"negative-margin-end\",\n    \"negative-margin-bottom\",\n    \"negative-margin-start\",\n    \"padding\",\n    \"padding-x\",\n    \"padding-y\",\n    \"padding-top\",\n    \"padding-end\",\n    \"padding-bottom\",\n    \"padding-start\",\n  )\n);\n\n// check-unused-imports-disable-next-line — side-effect import: generates utility CSS.\n@use \"utilities/api\";\n\n:root {\n  @each $name, $value in $breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n"],"names":[]}
\ No newline at end of file
index 3bd91c51f9d583f5e81575de1fe4f5fdc4e7642f..f487e6dde0663e7c7bd59519d9cbe634db74df3a 100644 (file)
     font-size: inherit;
     line-height: inherit;
   }
-  button,
-  select {
-    text-transform: none;
-  }
   [role=button] {
     cursor: pointer;
   }
   [type=submit]:not(:disabled) {
     cursor: pointer;
   }
-  ::-moz-focus-inner {
-    padding: 0;
-    border-style: none;
-  }
   textarea {
     resize: vertical;
   }
   ::-webkit-datetime-edit-year-field {
     padding: 0;
   }
-  ::-webkit-inner-spin-button {
+  ::-webkit-inner-spin-button,
+  ::-webkit-outer-spin-button {
     height: auto;
   }
   [type=search] {
index a251344aee4d7a74de2cc6f35d8df76a5fc33144..4e8e79fa33e2c3d240a501f5a8aeda7a64dab117 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-reboot.css","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-reboot.css","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
index 9dcd473001fead66189cdc24c756b61cdfce2864..619ab9a05f691bd0d7f5375a7ce6a8b654161bec 100644 (file)
@@ -3,5 +3,5 @@
   * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button:not(:disabled){cursor:pointer}[type=button]:not(:disabled){cursor:pointer}[type=reset]:not(:disabled){cursor:pointer}[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale()}[type=tel]{direction:ltr}[type=url]{direction:ltr}[type=email]{direction:ltr}[type=number]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout,content,forms,components,custom,helpers,utilities;:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
+:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button:not(:disabled){cursor:pointer}[type=button]:not(:disabled){cursor:pointer}[type=reset]:not(:disabled){cursor:pointer}[type=submit]:not(:disabled){cursor:pointer}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale()}[type=tel]{direction:ltr}[type=url]{direction:ltr}[type=email]{direction:ltr}[type=number]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout,content,forms,components,custom,helpers,utilities;:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
 /*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
index 7e40d6993c316941651bc9b6fec1050092c6e3dc..99dd67625e909e81742cb45cffea2183a173f8ce 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":null,"mappings":";;;;;AEmGA,oycE1FA,gCAAA,cCyCE,uCAWA,0CAKI,8CALJ,8BAmBA,4UAcA,sIAYA,yIAUA,yCAMA,yCAMA,wCAMA,wCAMA,wCAMA,wCAWA,kCAWA,sKAQA,iEAQA,gCAKA,yCAOA,wCAOA,mBAMA,6CAOA,2BAEE,4BASF,4BASA,uDAOA,6QAaA,4GAQA,kBACA,cAIA,2NAKE,qTAcA,+FASF,gEAYA,sIASE,2DAOF,wFAME,qBAKF,iZAQE,oDAWF,uBAMA,8BASA,mDAKA,kEAaA,sDAMA,kFAeA,2BAOA,uBAUA,2CAMA,yGAYA,kCAOA,6BAIA,wBAME,0BAQF,iKASA,iCAAA,wCAAA,uCAAA,wCAOI,qCAAA,4CAAA,2CAAA,4CAQJ,+CAOA,yBAWA,iDAYA,wGASE,4BAQF,iDAAA,uCAAA,oDAAA,+CAAA,+CAAA,6CAAA,6CAAA,4CAAA,6CAAA,8CAAA,6CAcA,wCAUA,+DAKE,8EASF,yBAAA,yBAAA,2BAAA,4BASA,oDAMA,yCAOA,8DAOA,4BAMA,gBAQA,yCASA,iCAQA,iCDrnBF,gEAoKA,+5ZAAA,mCAAA,0DAMA,0FAIA","sources":["bootstrap-reboot.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss"],"sourcesContent":["/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":";;;;;AEmGA,oycE1FA,gCAAA,cCyCE,uCAWA,0CAKI,8CALJ,8BAmBA,4UAcA,sIAYA,yIAUA,yCAMA,yCAMA,wCAMA,wCAMA,wCAMA,wCAWA,kCAWA,sKAQA,iEAQA,gCAKA,yCAOA,wCAOA,mBAMA,6CAOA,2BAEE,4BASF,4BASA,uDAOA,6QAaA,4GAQA,kBACA,cAIA,2NAKE,qTAcA,+FASF,gEAYA,sIASE,2DAOF,wFAME,qBAKF,iZAQE,oDAWF,uBAMA,8BASA,mDAKA,kEAaA,sDAMA,kFAeA,2BAOA,uBAUA,2CAMA,yGAcA,6BAIA,wBAME,0BAQF,iKASA,iCAAA,wCAAA,uCAAA,wCAOI,qCAAA,4CAAA,2CAAA,4CAQJ,yBAWA,iDAYA,wGASE,4BAQF,iDAAA,uCAAA,oDAAA,+CAAA,+CAAA,6CAAA,6CAAA,4CAAA,6CAAA,8CAAA,6CAcA,wCAAA,wCAWA,+DAKE,8EASF,yBAAA,yBAAA,2BAAA,4BASA,oDAMA,yCAOA,8DAOA,4BAMA,gBAQA,yCASA,iCAQA,iCD1mBF,gEAoKA,+5ZAAA,mCAAA,0DAMA,0FAIA","sources":["bootstrap-reboot.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss"],"sourcesContent":["/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"],"names":[]}
\ No newline at end of file
index c5b9b8a86f405c781364ed410c01c7d4dfcf211f..bf0c7bab5e25e7a67712472a81642fae0cc6e7a6 100644 (file)
   .place-items-stretch {
     place-items: stretch;
   }
+  .grid-cols-1 {
+    grid-template-columns: 1fr;
+  }
   .grid-cols-2 {
     grid-template-columns: repeat(2, 1fr);
   }
     margin: 0.5rem;
   }
   .m-3 {
-    margin: 1rem;
+    margin: 0.75rem;
   }
   .m-4 {
-    margin: 1.5rem;
+    margin: 1rem;
   }
   .m-5 {
+    margin: 1.25rem;
+  }
+  .m-6 {
+    margin: 1.5rem;
+  }
+  .m-7 {
+    margin: 2rem;
+  }
+  .m-8 {
+    margin: 2.5rem;
+  }
+  .m-9 {
     margin: 3rem;
   }
   .m-auto {
     margin-inline: 0.5rem;
   }
   .mx-3 {
-    margin-inline: 1rem;
+    margin-inline: 0.75rem;
   }
   .mx-4 {
-    margin-inline: 1.5rem;
+    margin-inline: 1rem;
   }
   .mx-5 {
+    margin-inline: 1.25rem;
+  }
+  .mx-6 {
+    margin-inline: 1.5rem;
+  }
+  .mx-7 {
+    margin-inline: 2rem;
+  }
+  .mx-8 {
+    margin-inline: 2.5rem;
+  }
+  .mx-9 {
     margin-inline: 3rem;
   }
   .mx-auto {
     margin-block: 0.5rem;
   }
   .my-3 {
-    margin-block: 1rem;
+    margin-block: 0.75rem;
   }
   .my-4 {
-    margin-block: 1.5rem;
+    margin-block: 1rem;
   }
   .my-5 {
+    margin-block: 1.25rem;
+  }
+  .my-6 {
+    margin-block: 1.5rem;
+  }
+  .my-7 {
+    margin-block: 2rem;
+  }
+  .my-8 {
+    margin-block: 2.5rem;
+  }
+  .my-9 {
     margin-block: 3rem;
   }
   .my-auto {
     margin-block-start: 0.5rem;
   }
   .mt-3 {
-    margin-block-start: 1rem;
+    margin-block-start: 0.75rem;
   }
   .mt-4 {
-    margin-block-start: 1.5rem;
+    margin-block-start: 1rem;
   }
   .mt-5 {
+    margin-block-start: 1.25rem;
+  }
+  .mt-6 {
+    margin-block-start: 1.5rem;
+  }
+  .mt-7 {
+    margin-block-start: 2rem;
+  }
+  .mt-8 {
+    margin-block-start: 2.5rem;
+  }
+  .mt-9 {
     margin-block-start: 3rem;
   }
   .mt-auto {
     margin-inline-end: 0.5rem;
   }
   .me-3 {
-    margin-inline-end: 1rem;
+    margin-inline-end: 0.75rem;
   }
   .me-4 {
-    margin-inline-end: 1.5rem;
+    margin-inline-end: 1rem;
   }
   .me-5 {
+    margin-inline-end: 1.25rem;
+  }
+  .me-6 {
+    margin-inline-end: 1.5rem;
+  }
+  .me-7 {
+    margin-inline-end: 2rem;
+  }
+  .me-8 {
+    margin-inline-end: 2.5rem;
+  }
+  .me-9 {
     margin-inline-end: 3rem;
   }
   .me-auto {
     margin-block-end: 0.5rem;
   }
   .mb-3 {
-    margin-block-end: 1rem;
+    margin-block-end: 0.75rem;
   }
   .mb-4 {
-    margin-block-end: 1.5rem;
+    margin-block-end: 1rem;
   }
   .mb-5 {
+    margin-block-end: 1.25rem;
+  }
+  .mb-6 {
+    margin-block-end: 1.5rem;
+  }
+  .mb-7 {
+    margin-block-end: 2rem;
+  }
+  .mb-8 {
+    margin-block-end: 2.5rem;
+  }
+  .mb-9 {
     margin-block-end: 3rem;
   }
   .mb-auto {
     margin-inline-start: 0.5rem;
   }
   .ms-3 {
-    margin-inline-start: 1rem;
+    margin-inline-start: 0.75rem;
   }
   .ms-4 {
-    margin-inline-start: 1.5rem;
+    margin-inline-start: 1rem;
   }
   .ms-5 {
+    margin-inline-start: 1.25rem;
+  }
+  .ms-6 {
+    margin-inline-start: 1.5rem;
+  }
+  .ms-7 {
+    margin-inline-start: 2rem;
+  }
+  .ms-8 {
+    margin-inline-start: 2.5rem;
+  }
+  .ms-9 {
     margin-inline-start: 3rem;
   }
   .ms--1 {
     padding: 0.5rem;
   }
   .p-3 {
-    padding: 1rem;
+    padding: 0.75rem;
   }
   .p-4 {
-    padding: 1.5rem;
+    padding: 1rem;
   }
   .p-5 {
+    padding: 1.25rem;
+  }
+  .p-6 {
+    padding: 1.5rem;
+  }
+  .p-7 {
+    padding: 2rem;
+  }
+  .p-8 {
+    padding: 2.5rem;
+  }
+  .p-9 {
     padding: 3rem;
   }
   .px-0 {
     padding-inline: 0.5rem;
   }
   .px-3 {
-    padding-inline: 1rem;
+    padding-inline: 0.75rem;
   }
   .px-4 {
-    padding-inline: 1.5rem;
+    padding-inline: 1rem;
   }
   .px-5 {
+    padding-inline: 1.25rem;
+  }
+  .px-6 {
+    padding-inline: 1.5rem;
+  }
+  .px-7 {
+    padding-inline: 2rem;
+  }
+  .px-8 {
+    padding-inline: 2.5rem;
+  }
+  .px-9 {
     padding-inline: 3rem;
   }
   .py-0 {
     padding-block: 0.5rem;
   }
   .py-3 {
-    padding-block: 1rem;
+    padding-block: 0.75rem;
   }
   .py-4 {
-    padding-block: 1.5rem;
+    padding-block: 1rem;
   }
   .py-5 {
+    padding-block: 1.25rem;
+  }
+  .py-6 {
+    padding-block: 1.5rem;
+  }
+  .py-7 {
+    padding-block: 2rem;
+  }
+  .py-8 {
+    padding-block: 2.5rem;
+  }
+  .py-9 {
     padding-block: 3rem;
   }
   .pt-0 {
     padding-block-start: 0.5rem;
   }
   .pt-3 {
-    padding-block-start: 1rem;
+    padding-block-start: 0.75rem;
   }
   .pt-4 {
-    padding-block-start: 1.5rem;
+    padding-block-start: 1rem;
   }
   .pt-5 {
+    padding-block-start: 1.25rem;
+  }
+  .pt-6 {
+    padding-block-start: 1.5rem;
+  }
+  .pt-7 {
+    padding-block-start: 2rem;
+  }
+  .pt-8 {
+    padding-block-start: 2.5rem;
+  }
+  .pt-9 {
     padding-block-start: 3rem;
   }
   .pe-0 {
     padding-inline-end: 0.5rem;
   }
   .pe-3 {
-    padding-inline-end: 1rem;
+    padding-inline-end: 0.75rem;
   }
   .pe-4 {
-    padding-inline-end: 1.5rem;
+    padding-inline-end: 1rem;
   }
   .pe-5 {
+    padding-inline-end: 1.25rem;
+  }
+  .pe-6 {
+    padding-inline-end: 1.5rem;
+  }
+  .pe-7 {
+    padding-inline-end: 2rem;
+  }
+  .pe-8 {
+    padding-inline-end: 2.5rem;
+  }
+  .pe-9 {
     padding-inline-end: 3rem;
   }
   .pb-0 {
     padding-block-end: 0.5rem;
   }
   .pb-3 {
-    padding-block-end: 1rem;
+    padding-block-end: 0.75rem;
   }
   .pb-4 {
-    padding-block-end: 1.5rem;
+    padding-block-end: 1rem;
   }
   .pb-5 {
+    padding-block-end: 1.25rem;
+  }
+  .pb-6 {
+    padding-block-end: 1.5rem;
+  }
+  .pb-7 {
+    padding-block-end: 2rem;
+  }
+  .pb-8 {
+    padding-block-end: 2.5rem;
+  }
+  .pb-9 {
     padding-block-end: 3rem;
   }
   .ps-0 {
     padding-inline-start: 0.5rem;
   }
   .ps-3 {
-    padding-inline-start: 1rem;
+    padding-inline-start: 0.75rem;
   }
   .ps-4 {
-    padding-inline-start: 1.5rem;
+    padding-inline-start: 1rem;
   }
   .ps-5 {
+    padding-inline-start: 1.25rem;
+  }
+  .ps-6 {
+    padding-inline-start: 1.5rem;
+  }
+  .ps-7 {
+    padding-inline-start: 2rem;
+  }
+  .ps-8 {
+    padding-inline-start: 2.5rem;
+  }
+  .ps-9 {
     padding-inline-start: 3rem;
   }
   .gap-0 {
     gap: 0.5rem;
   }
   .gap-3 {
-    gap: 1rem;
+    gap: 0.75rem;
   }
   .gap-4 {
-    gap: 1.5rem;
+    gap: 1rem;
   }
   .gap-5 {
+    gap: 1.25rem;
+  }
+  .gap-6 {
+    gap: 1.5rem;
+  }
+  .gap-7 {
+    gap: 2rem;
+  }
+  .gap-8 {
+    gap: 2.5rem;
+  }
+  .gap-9 {
     gap: 3rem;
   }
   .row-gap-0 {
     row-gap: 0.5rem;
   }
   .row-gap-3 {
-    row-gap: 1rem;
+    row-gap: 0.75rem;
   }
   .row-gap-4 {
-    row-gap: 1.5rem;
+    row-gap: 1rem;
   }
   .row-gap-5 {
+    row-gap: 1.25rem;
+  }
+  .row-gap-6 {
+    row-gap: 1.5rem;
+  }
+  .row-gap-7 {
+    row-gap: 2rem;
+  }
+  .row-gap-8 {
+    row-gap: 2.5rem;
+  }
+  .row-gap-9 {
     row-gap: 3rem;
   }
   .column-gap-0 {
     column-gap: 0.5rem;
   }
   .column-gap-3 {
+    -moz-column-gap: 0.75rem;
+    column-gap: 0.75rem;
+  }
+  .column-gap-4 {
     -moz-column-gap: 1rem;
     column-gap: 1rem;
   }
-  .column-gap-4 {
+  .column-gap-5 {
+    -moz-column-gap: 1.25rem;
+    column-gap: 1.25rem;
+  }
+  .column-gap-6 {
     -moz-column-gap: 1.5rem;
     column-gap: 1.5rem;
   }
-  .column-gap-5 {
+  .column-gap-7 {
+    -moz-column-gap: 2rem;
+    column-gap: 2rem;
+  }
+  .column-gap-8 {
+    -moz-column-gap: 2.5rem;
+    column-gap: 2.5rem;
+  }
+  .column-gap-9 {
     -moz-column-gap: 3rem;
     column-gap: 3rem;
   }
     .sm\:place-items-stretch {
       place-items: stretch;
     }
+    .sm\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .sm\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .sm\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .sm\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .sm\:m-5 {
+      margin: 1.25rem;
+    }
+    .sm\:m-6 {
+      margin: 1.5rem;
+    }
+    .sm\:m-7 {
+      margin: 2rem;
+    }
+    .sm\:m-8 {
+      margin: 2.5rem;
+    }
+    .sm\:m-9 {
       margin: 3rem;
     }
     .sm\:m-auto {
       margin-inline: 0.5rem;
     }
     .sm\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .sm\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .sm\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .sm\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .sm\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .sm\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .sm\:mx-9 {
       margin-inline: 3rem;
     }
     .sm\:mx-auto {
       margin-block: 0.5rem;
     }
     .sm\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .sm\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .sm\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .sm\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .sm\:my-7 {
+      margin-block: 2rem;
+    }
+    .sm\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .sm\:my-9 {
       margin-block: 3rem;
     }
     .sm\:my-auto {
       margin-block-start: 0.5rem;
     }
     .sm\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .sm\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .sm\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .sm\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .sm\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .sm\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .sm\:mt-9 {
       margin-block-start: 3rem;
     }
     .sm\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .sm\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .sm\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .sm\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .sm\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .sm\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .sm\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .sm\:me-9 {
       margin-inline-end: 3rem;
     }
     .sm\:me-auto {
       margin-block-end: 0.5rem;
     }
     .sm\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .sm\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .sm\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .sm\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .sm\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .sm\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .sm\:mb-9 {
       margin-block-end: 3rem;
     }
     .sm\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .sm\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .sm\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .sm\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .sm\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .sm\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .sm\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .sm\:ms-9 {
       margin-inline-start: 3rem;
     }
     .sm\:ms--1 {
       padding: 0.5rem;
     }
     .sm\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .sm\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .sm\:p-5 {
+      padding: 1.25rem;
+    }
+    .sm\:p-6 {
+      padding: 1.5rem;
+    }
+    .sm\:p-7 {
+      padding: 2rem;
+    }
+    .sm\:p-8 {
+      padding: 2.5rem;
+    }
+    .sm\:p-9 {
       padding: 3rem;
     }
     .sm\:px-0 {
       padding-inline: 0.5rem;
     }
     .sm\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .sm\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .sm\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .sm\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .sm\:px-7 {
+      padding-inline: 2rem;
+    }
+    .sm\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .sm\:px-9 {
       padding-inline: 3rem;
     }
     .sm\:py-0 {
       padding-block: 0.5rem;
     }
     .sm\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .sm\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .sm\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .sm\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .sm\:py-7 {
+      padding-block: 2rem;
+    }
+    .sm\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .sm\:py-9 {
       padding-block: 3rem;
     }
     .sm\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .sm\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .sm\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .sm\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .sm\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .sm\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .sm\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .sm\:pt-9 {
       padding-block-start: 3rem;
     }
     .sm\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .sm\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .sm\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .sm\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .sm\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .sm\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .sm\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .sm\:pe-9 {
       padding-inline-end: 3rem;
     }
     .sm\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .sm\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .sm\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .sm\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .sm\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .sm\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .sm\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .sm\:pb-9 {
       padding-block-end: 3rem;
     }
     .sm\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .sm\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .sm\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .sm\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .sm\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .sm\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .sm\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .sm\:ps-9 {
       padding-inline-start: 3rem;
     }
     .sm\:gap-0 {
       gap: 0.5rem;
     }
     .sm\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .sm\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .sm\:gap-5 {
-      gap: 3rem;
+      gap: 1.25rem;
     }
-    .sm\:row-gap-0 {
-      row-gap: 0;
+    .sm\:gap-6 {
+      gap: 1.5rem;
+    }
+    .sm\:gap-7 {
+      gap: 2rem;
+    }
+    .sm\:gap-8 {
+      gap: 2.5rem;
+    }
+    .sm\:gap-9 {
+      gap: 3rem;
+    }
+    .sm\:row-gap-0 {
+      row-gap: 0;
     }
     .sm\:row-gap-1 {
       row-gap: 0.25rem;
       row-gap: 0.5rem;
     }
     .sm\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .sm\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .sm\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .sm\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .sm\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .sm\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .sm\:row-gap-9 {
       row-gap: 3rem;
     }
     .sm\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .sm\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .sm\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .sm\:column-gap-4 {
+    .sm\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .sm\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .sm\:column-gap-5 {
+    .sm\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .sm\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .sm\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .md\:place-items-stretch {
       place-items: stretch;
     }
+    .md\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .md\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .md\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .md\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .md\:m-5 {
+      margin: 1.25rem;
+    }
+    .md\:m-6 {
+      margin: 1.5rem;
+    }
+    .md\:m-7 {
+      margin: 2rem;
+    }
+    .md\:m-8 {
+      margin: 2.5rem;
+    }
+    .md\:m-9 {
       margin: 3rem;
     }
     .md\:m-auto {
       margin-inline: 0.5rem;
     }
     .md\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .md\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .md\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .md\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .md\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .md\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .md\:mx-9 {
       margin-inline: 3rem;
     }
     .md\:mx-auto {
       margin-block: 0.5rem;
     }
     .md\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .md\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .md\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .md\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .md\:my-7 {
+      margin-block: 2rem;
+    }
+    .md\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .md\:my-9 {
       margin-block: 3rem;
     }
     .md\:my-auto {
       margin-block-start: 0.5rem;
     }
     .md\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .md\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .md\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .md\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .md\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .md\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .md\:mt-9 {
       margin-block-start: 3rem;
     }
     .md\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .md\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .md\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .md\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .md\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .md\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .md\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .md\:me-9 {
       margin-inline-end: 3rem;
     }
     .md\:me-auto {
       margin-block-end: 0.5rem;
     }
     .md\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .md\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .md\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .md\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .md\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .md\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .md\:mb-9 {
       margin-block-end: 3rem;
     }
     .md\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .md\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .md\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .md\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .md\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .md\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .md\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .md\:ms-9 {
       margin-inline-start: 3rem;
     }
     .md\:ms--1 {
       padding: 0.5rem;
     }
     .md\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .md\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .md\:p-5 {
+      padding: 1.25rem;
+    }
+    .md\:p-6 {
+      padding: 1.5rem;
+    }
+    .md\:p-7 {
+      padding: 2rem;
+    }
+    .md\:p-8 {
+      padding: 2.5rem;
+    }
+    .md\:p-9 {
       padding: 3rem;
     }
     .md\:px-0 {
       padding-inline: 0.5rem;
     }
     .md\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .md\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .md\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .md\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .md\:px-7 {
+      padding-inline: 2rem;
+    }
+    .md\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .md\:px-9 {
       padding-inline: 3rem;
     }
     .md\:py-0 {
       padding-block: 0.5rem;
     }
     .md\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .md\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .md\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .md\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .md\:py-7 {
+      padding-block: 2rem;
+    }
+    .md\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .md\:py-9 {
       padding-block: 3rem;
     }
     .md\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .md\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .md\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .md\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .md\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .md\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .md\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .md\:pt-9 {
       padding-block-start: 3rem;
     }
     .md\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .md\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .md\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .md\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .md\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .md\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .md\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .md\:pe-9 {
       padding-inline-end: 3rem;
     }
     .md\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .md\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .md\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .md\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .md\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .md\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .md\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .md\:pb-9 {
       padding-block-end: 3rem;
     }
     .md\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .md\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .md\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .md\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .md\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .md\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .md\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .md\:ps-9 {
       padding-inline-start: 3rem;
     }
     .md\:gap-0 {
       gap: 0.5rem;
     }
     .md\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .md\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .md\:gap-5 {
+      gap: 1.25rem;
+    }
+    .md\:gap-6 {
+      gap: 1.5rem;
+    }
+    .md\:gap-7 {
+      gap: 2rem;
+    }
+    .md\:gap-8 {
+      gap: 2.5rem;
+    }
+    .md\:gap-9 {
       gap: 3rem;
     }
     .md\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .md\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .md\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .md\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .md\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .md\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .md\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .md\:row-gap-9 {
       row-gap: 3rem;
     }
     .md\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .md\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .md\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .md\:column-gap-4 {
+    .md\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .md\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .md\:column-gap-5 {
+    .md\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .md\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .md\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .lg\:place-items-stretch {
       place-items: stretch;
     }
+    .lg\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .lg\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .lg\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .lg\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .lg\:m-5 {
+      margin: 1.25rem;
+    }
+    .lg\:m-6 {
+      margin: 1.5rem;
+    }
+    .lg\:m-7 {
+      margin: 2rem;
+    }
+    .lg\:m-8 {
+      margin: 2.5rem;
+    }
+    .lg\:m-9 {
       margin: 3rem;
     }
     .lg\:m-auto {
       margin-inline: 0.5rem;
     }
     .lg\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .lg\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .lg\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .lg\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .lg\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .lg\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .lg\:mx-9 {
       margin-inline: 3rem;
     }
     .lg\:mx-auto {
       margin-block: 0.5rem;
     }
     .lg\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .lg\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .lg\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .lg\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .lg\:my-7 {
+      margin-block: 2rem;
+    }
+    .lg\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .lg\:my-9 {
       margin-block: 3rem;
     }
     .lg\:my-auto {
       margin-block-start: 0.5rem;
     }
     .lg\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .lg\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .lg\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .lg\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .lg\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .lg\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .lg\:mt-9 {
       margin-block-start: 3rem;
     }
     .lg\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .lg\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .lg\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .lg\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .lg\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .lg\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .lg\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .lg\:me-9 {
       margin-inline-end: 3rem;
     }
     .lg\:me-auto {
       margin-block-end: 0.5rem;
     }
     .lg\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .lg\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .lg\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .lg\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .lg\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .lg\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .lg\:mb-9 {
       margin-block-end: 3rem;
     }
     .lg\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .lg\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .lg\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .lg\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .lg\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .lg\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .lg\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .lg\:ms-9 {
       margin-inline-start: 3rem;
     }
     .lg\:ms--1 {
       padding: 0.5rem;
     }
     .lg\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .lg\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .lg\:p-5 {
+      padding: 1.25rem;
+    }
+    .lg\:p-6 {
+      padding: 1.5rem;
+    }
+    .lg\:p-7 {
+      padding: 2rem;
+    }
+    .lg\:p-8 {
+      padding: 2.5rem;
+    }
+    .lg\:p-9 {
       padding: 3rem;
     }
     .lg\:px-0 {
       padding-inline: 0.5rem;
     }
     .lg\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .lg\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .lg\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .lg\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .lg\:px-7 {
+      padding-inline: 2rem;
+    }
+    .lg\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .lg\:px-9 {
       padding-inline: 3rem;
     }
     .lg\:py-0 {
       padding-block: 0.5rem;
     }
     .lg\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .lg\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .lg\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .lg\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .lg\:py-7 {
+      padding-block: 2rem;
+    }
+    .lg\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .lg\:py-9 {
       padding-block: 3rem;
     }
     .lg\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .lg\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .lg\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .lg\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .lg\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .lg\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .lg\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .lg\:pt-9 {
       padding-block-start: 3rem;
     }
     .lg\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .lg\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .lg\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .lg\:pe-5 {
-      padding-inline-end: 3rem;
+      padding-inline-end: 1.25rem;
     }
-    .lg\:pb-0 {
-      padding-block-end: 0;
+    .lg\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .lg\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .lg\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .lg\:pe-9 {
+      padding-inline-end: 3rem;
+    }
+    .lg\:pb-0 {
+      padding-block-end: 0;
     }
     .lg\:pb-1 {
       padding-block-end: 0.25rem;
       padding-block-end: 0.5rem;
     }
     .lg\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .lg\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .lg\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .lg\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .lg\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .lg\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .lg\:pb-9 {
       padding-block-end: 3rem;
     }
     .lg\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .lg\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .lg\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .lg\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .lg\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .lg\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .lg\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .lg\:ps-9 {
       padding-inline-start: 3rem;
     }
     .lg\:gap-0 {
       gap: 0.5rem;
     }
     .lg\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .lg\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .lg\:gap-5 {
+      gap: 1.25rem;
+    }
+    .lg\:gap-6 {
+      gap: 1.5rem;
+    }
+    .lg\:gap-7 {
+      gap: 2rem;
+    }
+    .lg\:gap-8 {
+      gap: 2.5rem;
+    }
+    .lg\:gap-9 {
       gap: 3rem;
     }
     .lg\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .lg\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .lg\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .lg\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .lg\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .lg\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .lg\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .lg\:row-gap-9 {
       row-gap: 3rem;
     }
     .lg\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .lg\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .lg\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .lg\:column-gap-4 {
+    .lg\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .lg\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .lg\:column-gap-5 {
+    .lg\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .lg\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .lg\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .xl\:place-items-stretch {
       place-items: stretch;
     }
+    .xl\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .xl\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .xl\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .xl\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .xl\:m-5 {
+      margin: 1.25rem;
+    }
+    .xl\:m-6 {
+      margin: 1.5rem;
+    }
+    .xl\:m-7 {
+      margin: 2rem;
+    }
+    .xl\:m-8 {
+      margin: 2.5rem;
+    }
+    .xl\:m-9 {
       margin: 3rem;
     }
     .xl\:m-auto {
       margin-inline: 0.5rem;
     }
     .xl\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .xl\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .xl\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .xl\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .xl\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .xl\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .xl\:mx-9 {
       margin-inline: 3rem;
     }
     .xl\:mx-auto {
       margin-block: 0.5rem;
     }
     .xl\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .xl\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .xl\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .xl\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .xl\:my-7 {
+      margin-block: 2rem;
+    }
+    .xl\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .xl\:my-9 {
       margin-block: 3rem;
     }
     .xl\:my-auto {
       margin-block-start: 0.5rem;
     }
     .xl\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .xl\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .xl\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .xl\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .xl\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .xl\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .xl\:mt-9 {
       margin-block-start: 3rem;
     }
     .xl\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .xl\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .xl\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .xl\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .xl\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .xl\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .xl\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .xl\:me-9 {
       margin-inline-end: 3rem;
     }
     .xl\:me-auto {
       margin-block-end: 0.5rem;
     }
     .xl\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .xl\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .xl\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .xl\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .xl\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .xl\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .xl\:mb-9 {
       margin-block-end: 3rem;
     }
     .xl\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .xl\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .xl\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .xl\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .xl\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .xl\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .xl\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .xl\:ms-9 {
       margin-inline-start: 3rem;
     }
     .xl\:ms--1 {
       padding: 0.5rem;
     }
     .xl\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .xl\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .xl\:p-5 {
+      padding: 1.25rem;
+    }
+    .xl\:p-6 {
+      padding: 1.5rem;
+    }
+    .xl\:p-7 {
+      padding: 2rem;
+    }
+    .xl\:p-8 {
+      padding: 2.5rem;
+    }
+    .xl\:p-9 {
       padding: 3rem;
     }
     .xl\:px-0 {
       padding-inline: 0.5rem;
     }
     .xl\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .xl\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .xl\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .xl\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .xl\:px-7 {
+      padding-inline: 2rem;
+    }
+    .xl\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .xl\:px-9 {
       padding-inline: 3rem;
     }
     .xl\:py-0 {
       padding-block: 0.5rem;
     }
     .xl\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .xl\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .xl\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .xl\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .xl\:py-7 {
+      padding-block: 2rem;
+    }
+    .xl\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .xl\:py-9 {
       padding-block: 3rem;
     }
     .xl\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .xl\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .xl\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .xl\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .xl\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .xl\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .xl\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .xl\:pt-9 {
       padding-block-start: 3rem;
     }
     .xl\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .xl\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .xl\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .xl\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .xl\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .xl\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .xl\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .xl\:pe-9 {
       padding-inline-end: 3rem;
     }
     .xl\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .xl\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .xl\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .xl\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .xl\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .xl\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .xl\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .xl\:pb-9 {
       padding-block-end: 3rem;
     }
     .xl\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .xl\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .xl\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .xl\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .xl\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .xl\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .xl\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .xl\:ps-9 {
       padding-inline-start: 3rem;
     }
     .xl\:gap-0 {
       gap: 0.5rem;
     }
     .xl\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .xl\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .xl\:gap-5 {
+      gap: 1.25rem;
+    }
+    .xl\:gap-6 {
+      gap: 1.5rem;
+    }
+    .xl\:gap-7 {
+      gap: 2rem;
+    }
+    .xl\:gap-8 {
+      gap: 2.5rem;
+    }
+    .xl\:gap-9 {
       gap: 3rem;
     }
     .xl\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .xl\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .xl\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .xl\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .xl\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .xl\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .xl\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .xl\:row-gap-9 {
       row-gap: 3rem;
     }
     .xl\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .xl\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .xl\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .xl\:column-gap-4 {
+    .xl\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .xl\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .xl\:column-gap-5 {
+    .xl\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .xl\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .xl\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .\32 xl\:place-items-stretch {
       place-items: stretch;
     }
+    .\32 xl\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .\32 xl\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .\32 xl\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .\32 xl\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .\32 xl\:m-5 {
+      margin: 1.25rem;
+    }
+    .\32 xl\:m-6 {
+      margin: 1.5rem;
+    }
+    .\32 xl\:m-7 {
+      margin: 2rem;
+    }
+    .\32 xl\:m-8 {
+      margin: 2.5rem;
+    }
+    .\32 xl\:m-9 {
       margin: 3rem;
     }
     .\32 xl\:m-auto {
       margin-inline: 0.5rem;
     }
     .\32 xl\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .\32 xl\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .\32 xl\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .\32 xl\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .\32 xl\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .\32 xl\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .\32 xl\:mx-9 {
       margin-inline: 3rem;
     }
     .\32 xl\:mx-auto {
       margin-block: 0.5rem;
     }
     .\32 xl\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .\32 xl\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .\32 xl\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .\32 xl\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .\32 xl\:my-7 {
+      margin-block: 2rem;
+    }
+    .\32 xl\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .\32 xl\:my-9 {
       margin-block: 3rem;
     }
     .\32 xl\:my-auto {
       margin-block-start: 0.5rem;
     }
     .\32 xl\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .\32 xl\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .\32 xl\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .\32 xl\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .\32 xl\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .\32 xl\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .\32 xl\:mt-9 {
       margin-block-start: 3rem;
     }
     .\32 xl\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .\32 xl\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .\32 xl\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .\32 xl\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .\32 xl\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .\32 xl\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .\32 xl\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .\32 xl\:me-9 {
       margin-inline-end: 3rem;
     }
     .\32 xl\:me-auto {
       margin-block-end: 0.5rem;
     }
     .\32 xl\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .\32 xl\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .\32 xl\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .\32 xl\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .\32 xl\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .\32 xl\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .\32 xl\:mb-9 {
       margin-block-end: 3rem;
     }
     .\32 xl\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .\32 xl\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .\32 xl\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .\32 xl\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .\32 xl\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .\32 xl\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .\32 xl\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .\32 xl\:ms-9 {
       margin-inline-start: 3rem;
     }
     .\32 xl\:ms--1 {
       padding: 0.5rem;
     }
     .\32 xl\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .\32 xl\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .\32 xl\:p-5 {
+      padding: 1.25rem;
+    }
+    .\32 xl\:p-6 {
+      padding: 1.5rem;
+    }
+    .\32 xl\:p-7 {
+      padding: 2rem;
+    }
+    .\32 xl\:p-8 {
+      padding: 2.5rem;
+    }
+    .\32 xl\:p-9 {
       padding: 3rem;
     }
     .\32 xl\:px-0 {
       padding-inline: 0.5rem;
     }
     .\32 xl\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .\32 xl\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .\32 xl\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .\32 xl\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .\32 xl\:px-7 {
+      padding-inline: 2rem;
+    }
+    .\32 xl\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .\32 xl\:px-9 {
       padding-inline: 3rem;
     }
     .\32 xl\:py-0 {
       padding-block: 0.5rem;
     }
     .\32 xl\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .\32 xl\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .\32 xl\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .\32 xl\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .\32 xl\:py-7 {
+      padding-block: 2rem;
+    }
+    .\32 xl\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .\32 xl\:py-9 {
       padding-block: 3rem;
     }
     .\32 xl\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .\32 xl\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .\32 xl\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .\32 xl\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .\32 xl\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .\32 xl\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .\32 xl\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .\32 xl\:pt-9 {
       padding-block-start: 3rem;
     }
     .\32 xl\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .\32 xl\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .\32 xl\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .\32 xl\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .\32 xl\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .\32 xl\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .\32 xl\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .\32 xl\:pe-9 {
       padding-inline-end: 3rem;
     }
     .\32 xl\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .\32 xl\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .\32 xl\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .\32 xl\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .\32 xl\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .\32 xl\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .\32 xl\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .\32 xl\:pb-9 {
       padding-block-end: 3rem;
     }
     .\32 xl\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .\32 xl\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .\32 xl\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .\32 xl\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .\32 xl\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .\32 xl\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .\32 xl\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .\32 xl\:ps-9 {
       padding-inline-start: 3rem;
     }
     .\32 xl\:gap-0 {
       gap: 0.5rem;
     }
     .\32 xl\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .\32 xl\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .\32 xl\:gap-5 {
+      gap: 1.25rem;
+    }
+    .\32 xl\:gap-6 {
+      gap: 1.5rem;
+    }
+    .\32 xl\:gap-7 {
+      gap: 2rem;
+    }
+    .\32 xl\:gap-8 {
+      gap: 2.5rem;
+    }
+    .\32 xl\:gap-9 {
       gap: 3rem;
     }
     .\32 xl\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .\32 xl\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .\32 xl\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .\32 xl\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .\32 xl\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .\32 xl\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .\32 xl\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .\32 xl\:row-gap-9 {
       row-gap: 3rem;
     }
     .\32 xl\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .\32 xl\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .\32 xl\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .\32 xl\:column-gap-4 {
+    .\32 xl\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .\32 xl\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .\32 xl\:column-gap-5 {
+    .\32 xl\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .\32 xl\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .\32 xl\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
index 4b36079dd08f285b5fa0d6806d94a916d380334f..4bb0d19fab6c02600f62285a4ba261c4e29c0e34 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-utilities.css","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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AxHI,gBA+CO;ElBotBb;EkB3oBE;IAxHI,kBA+CO;ElButBb;EkB9oBE;IAxHI,mBA+CO;ElB0tBb;EkBjpBE;IAxHI,kBA+CO;ElB6tBb;EkBppBE;IAxHI,gBA+CO;ElBguBb;EkBvpBE;IAxHI,kBA+CO;ElBmuBb;EkB1pBE;IAxHI,mBA+CO;ElBsuBb;EkB7pBE;IAxHI,kBA+CO;ElByuBb;EkBhqBE;IAxHI,2BA0CG;ElBivBT;EkBnqBE;IAxHI,oBA0CG;ElBovBT;EkBtqBE;IAxHI,eA+CO;ElBkvBb;EkBzqBE;IAxHI,qBA+CO;ElBqvBb;EkB5qBE;IAxHI,cA+CO;ElBwvBb;EkB/qBE;IAxHI,aA+CO;ElB2vBb;EkBlrBE;IAxHI,oBA+CO;ElB8vBb;EkBrrBE;IAxHI,cA+CO;ElBiwBb;EkBxrBE;IAxHI,kBA+CO;ElBowBb;EkB3rBE;IAxHI,mBA+CO;ElBuwBb;EkB9rBE;IAxHI,aA+CO;ElB0wBb;EkBjsBE;IAxHI,oBA+CO;ElB6wBb;EkBpsBE;IAxHI,iBA+CO;ElBgxBb;EkBvsBE;IAxHI,kBA+CO;ElBmxBb;EkB1sBE;IAxHI,aA+CO;ElBsxBb;EkB7sBE;IAxHI,gCA0CG;ElB8xBT;EkBhtBE;IAxHI,mCA0CG;ElBiyBT;EkBntBE;IAxHI,mCA0CG;ElBoyBT;EkBttBE;IAxHI,gBA0CG;ElBuyBT;EkBztBE;IAxHI,iKA0CG;ElB0yBT;EkB5tBE;IAxHI,qKA0CG;ElB6yBT;EkB/tBE;IAxHI,mKA0CG;ElBgzBT;EkBluBE;IAxHI,+JA0CG;ElBmzBT;EkBruBE;IAxHI,qKA0CG;ElBszBT;EkBxuBE;IAxHI,iKA0CG;ElByzBT;EkB3uBE;IAxHI,qHA0CG;ElB4zBT;EkB9uBE;IAxHI,qHA0CG;ElB+zBT;EkBjvBE;IAxHI,gBA+CO;ElB6zBb;EkBpvBE;IAxHI,kBA+CO;ElBg0Bb;EkBvvBE;IAxHI,kBA+CO;ElBm0Bb;EkB1vBE;IAxHI,eA+CO;ElBs0Bb;EkB7vBE;IAxHI,gBA+CO;ElBy0Bb;EkBhwBE;IAxHI,MA0CG;ElBi1BT;EkBnwBE;IAxHI,QA0CG;ElBo1BT;EkBtwBE;IAxHI,SA0CG;ElBu1BT;EkBzwBE;IAxHI,SA0CG;ElB01BT;EkB5wBE;IAxHI,WA0CG;ElB61BT;EkB/wBE;IAxHI,YA0CG;ElBg2BT;EkBlxBE;IAxHI,OA0CG;ElBm2BT;EkBrxBE;IAxHI,SA0CG;ElBs2BT;EkBxxBE;IAxHI,UA0CG;ElBy2BT;EkB3xBE;IAxHI,QA0CG;ElB42BT;EkB9xBE;IAxHI,UA0CG;ElB+2BT;EkBjyBE;IAxHI,WA0CG;ElBk3BT;EkBpyBE;IAxHI,gCA0CG;ElBq3BT;EkBvyBE;IAxHI,2BA0CG;ElBw3BT;EkB1yBE;IAxHI,2BA0CG;ElB23BT;EkB7yBE;IAxHI,4EA0CG;ElB83BT;EkBhzBE;IAxHI,SA0CG;ElBi4BT;EkBnzBE;IAxHI,wFA0CG;ElBo4BT;EkBtzBE;IAxHI,qBA0CG;ElBu4BT;EkBzzBE;IAxHI,uFA0CG;ElB04BT;EkB5zBE;IAxHI,oBA0CG;ElB64BT;EkB/zBE;IAxHI,sFA0CG;ElBg5BT;EkBl0BE;IAxHI,mBA0CG;ElBm5BT;EkBr0BE;IAxHI,yFA0CG;ElBs5BT;EkBx0BE;IAxHI,sBA0CG;ElBy5BT;EkB30BE;IAxHI,kFA0CG;ElB45BT;EkB90BE;IAxHI,eA0CG;ElB+5BT;EkBj1BE;IAxHI,mFA0CG;ElBk6BT;EkBp1BE;IAxHI,gBA0CG;ElBq6BT;EkBv1BE;IAjII,qCAmDG;IAnDH,oCAiES;ElB25Bf;EkB31BE;IAjII,uCAmDG;IAnDH,oCAiES;ElB+5Bf;EkB/1BE;IAjII,sCAmDG;IAnDH,oCAiES;ElBm6Bf;EkBn2BE;IAjII,oCAmDG;IAnDH,oCAiES;ElBu6Bf;EkBv2BE;IAjII,uCAmDG;IAnDH,oCAiES;ElB26Bf;EkB32BE;IAjII,qCAmDG;IAnDH,oCAiES;ElB+6Bf;EkB/2BE;IAjII,qEAmDG;IAnDH,oCAiES;ElBm7Bf;EkBn3BE;IAjII,qEAmDG;IAnDH,oCAiES;ElBu7Bf;EkBv3BE;IAjII,oCAmDG;IAnDH,oCAiES;ElB27Bf;EkB33BE;IAjII,qEAmDG;IAnDH,oCAiES;ElB+7Bf;EkB/3BE;IAjII,qEAmDG;IAnDH,oCAiES;ElBm8Bf;EkBn4BE;IAjII,qEAmDG;IAnDH,oCAiES;ElBu8Bf;EkBv4BE;IAjII,qEAmDG;IAnDH,oCAiES;ElB28Bf;EkB34BE;IAjII,kCAmDG;IAnDH,oCAiES;ElB+8Bf;EkB/4BE;IAjII,kCAmDG;IAnDH,oCAiES;ElBm9Bf;EkBn5BE;IAjII,qEAmDG;IAnDH,oCAiES;ElBu9Bf;EkBv5BE;IAjII,yEAmDG;IAnDH,oCAiES;ElB29Bf;EkB35BE;IAjII,uEAmDG;IAnDH,oCAiES;ElB+9Bf;EkB/5BE;IAjII,mEAmDG;IAnDH,oCAiES;ElBm+Bf;EkBn6BE;IAjII,yEAmDG;IAnDH,oCAiES;ElBu+Bf;EkBv6BE;IAjII,qEAmDG;IAnDH,oCAiES;ElB2+Bf;EkB36BE;IAjII,qEAmDG;IAnDH,oCAiES;ElB++Bf;EkB/6BE;IAjII,qEAmDG;IAnDH,oCAiES;ElBm/Bf;EkBn7BE;IAxHI,iBA0CG;ElBogCT;EkBt7BE;IAxHI,iBA0CG;ElBugCT;EkBz7BE;IAxHI,iBA0CG;ElB0gCT;EkB57BE;IAxHI,iBA0CG;ElB6gCT;EkB/7BE;IAxHI,iBA0CG;ElBghCT;EkBl8BE;IAxHI,0EA0CG;ElBmhCT;EkBr8BE;IAxHI,0EA0CG;ElBshCT;EkBx8BE;IAxHI,0EA0CG;ElByhCT;EkB38BE;IAxHI,0EA0CG;ElB4hCT;EkB98BE;IAxHI,0EA0CG;ElB+hCT;EkBj9BE;IAxHI,0EA0CG;ElBkiCT;EkBp9BE;IAxHI,0EA0CG;ElBqiCT;EkBv9BE;IAxHI,0EA0CG;ElBwiCT;EkB19BE;IAxHI,0EA0CG;ElB2iCT;EkB79BE;IAxHI,oCA0CG;ElB8iCT;EkBh+BE;IAxHI,WA0CG;ElBijCT;EkBn+BE;IAxHI,WA0CG;ElBojCT;EkBt+BE;IAxHI,WA0CG;ElBujCT;EkBz+BE;IAxHI,WA0CG;ElB0jCT;EkB5+BE;IAxHI,WA0CG;ElB6jCT;EkB/+BE;IAxHI,WA0CG;ElBgkCT;EkBl/BE;IAxHI,WA0CG;ElBmkCT;EkBr/BE;IAxHI,WA0CG;ElBskCT;EkBx/BE;IAxHI,WA0CG;ElBykCT;EkB3/BE;IAxHI,YA0CG;ElB4kCT;EkB9/BE;IAxHI,YA0CG;ElB+kCT;EkBjgCE;IAxHI,YA0CG;ElBklCT;EkBpgCE;IAxHI,UA0CG;ElBqlCT;EkBvgCE;IAxHI,UA0CG;ElBwlCT;EkB1gCE;IAxHI,UA0CG;ElB2lCT;EkB7gCE;IAxHI,WA0CG;ElB8lCT;EkBhhCE;IAxHI,WA0CG;ElBimCT;EkBnhCE;IAxHI,kBA0CG;ElBomCT;EkBthCE;IAxHI,kBA0CG;ElBumCT;EkBzhCE;IAxHI,uBA0CG;IA1CH,kBA0CG;ElB0mCT;EkB5hCE;IAxHI,eA0CG;ElB6mCT;EkB/hCE;IAxHI,YA0CG;ElBgnCT;EkBliCE;IAxHI,eA0CG;ElBmnCT;EkBriCE;IAxHI,YA0CG;ElBsnCT;EkBxiCE;IAxHI,gBA0CG;ElBynCT;EkB3iCE;IAxHI,WA0CG;ElB4nCT;EkB9iCE;IAxHI,WA0CG;ElB+nCT;EkBjjCE;IAxHI,WA0CG;ElBkoCT;EkBpjCE;IAxHI,YA0CG;ElBqoCT;EkBvjCE;IAxHI,YA0CG;ElBwoCT;EkB1jCE;IAxHI,mBA0CG;ElB2oCT;EkB7jCE;IAxHI,mBA0CG;ElB8oCT;EkBhkCE;IAxHI,wBA0CG;IA1CH,mBA0CG;ElBipCT;EkBnkCE;IAxHI,gBA0CG;ElBopCT;EkBtkCE;IAxHI,aA0CG;ElBupCT;EkBzkCE;IAxHI,gBA0CG;ElB0pCT;EkB5kCE;IAxHI,aA0CG;ElB6pCT;EkB/kCE;IAxHI,iBA0CG;ElBgqCT;EkBllCE;IAxHI,cA0CG;ElBmqCT;EkBrlCE;IAxHI,mBA+CO;ElBiqCb;EkBxlCE;IAxHI,sBA+CO;ElBoqCb;EkB3lCE;IAxHI,2BA+CO;ElBuqCb;EkB9lCE;IAxHI,8BA+CO;ElB0qCb;EkBjmCE;IAxHI,YA0CG;ElBkrCT;EkBpmCE;IAxHI,YA0CG;ElBqrCT;EkBvmCE;IAxHI,cA0CG;ElBwrCT;EkB1mCE;IAxHI,cA0CG;ElB2rCT;EkB7mCE;IAxHI,eA+CO;ElByrCb;EkBhnCE;IAxHI,iBA+CO;ElB4rCb;EkBnnCE;IAxHI,uBA+CO;ElB+rCb;EkBtnCE;IAxHI,2BA0CG;ElBusCT;EkBznCE;IAxHI,yBA0CG;ElB0sCT;EkB5nCE;IAxHI,uBA0CG;ElB6sCT;EkB/nCE;IAxHI,8BA0CG;ElBgtCT;EkBloCE;IAxHI,6BA0CG;ElBmtCT;EkBroCE;IAxHI,6BA0CG;ElBstCT;EkBxoCE;IAxHI,oBA0CG;ElBytCT;EkB3oCE;IAxHI,kBA0CG;ElB4tCT;EkB9oCE;IAxHI,qBA0CG;ElB+tCT;EkBjpCE;IAxHI,sBA0CG;ElBkuCT;EkBppCE;IAxHI,wBA0CG;ElBquCT;EkBvpCE;IAxHI,sBA0CG;ElBwuCT;EkB1pCE;IAxHI,oBA0CG;ElB2uCT;EkB7pCE;IAxHI,uBA0CG;ElB8uCT;EkBhqCE;IAxHI,qBA0CG;ElBivCT;EkBnqCE;IAxHI,mBA0CG;ElBovCT;EkBtqCE;IAxHI,qBA0CG;ElBuvCT;EkBzqCE;IAxHI,oBA0CG;ElB0vCT;EkB5qCE;IAxHI,yBA0CG;ElB6vCT;EkB/qCE;IAxHI,uBA0CG;ElBgwCT;EkBlrCE;IAxHI,qBA0CG;ElBmwCT;EkBrrCE;IAxHI,4BA0CG;ElBswCT;EkBxrCE;IAxHI,2BA0CG;ElBywCT;EkB3rCE;IAxHI,sBA0CG;ElB4wCT;EkB9rCE;IAxHI,gBA0CG;ElB+wCT;EkBjsCE;IAxHI,sBA0CG;ElBkxCT;EkBpsCE;IAxHI,oBA0CG;ElBqxCT;EkBvsCE;IAxHI,kBA0CG;ElBwxCT;EkB1sCE;IAxHI,oBA0CG;ElB2xCT;EkB7sCE;IAxHI,mBA0CG;ElB8xCT;EkBhtCE;IAxHI,kBA0CG;ElBiyCT;EkBntCE;IAxHI,gBA0CG;ElBoyCT;EkBttCE;IAxHI,mBA0CG;ElBuyCT;EkBztCE;IAxHI,oBA0CG;ElB0yCT;EkB5tCE;IAxHI,qCA0CG;ElB6yCT;EkB/tCE;IAxHI,qCA0CG;ElBgzCT;EkBluCE;IAxHI,qCA0CG;ElBmzCT;EkBruCE;IAxHI,qCA0CG;ElBszCT;EkBxuCE;IAxHI,mBA0CG;ElByzCT;EkB3uCE;IAxHI,mBA+CO;ElBuzCb;EkB9uCE;IAxHI,sBA+CO;ElB0zCb;EkBjvCE;IAxHI,qBA+CO;ElB6zCb;EkBpvCE;IAxHI,SA0CG;ElBq0CT;EkBvvCE;IAxHI,QA0CG;ElBw0CT;EkB1vCE;IAxHI,QA0CG;ElB20CT;EkB7vCE;IAxHI,QA0CG;ElB80CT;EkBhwCE;IAxHI,QA0CG;ElBi1CT;EkBnwCE;IAxHI,QA0CG;ElBo1CT;EkBtwCE;IAxHI,QA0CG;ElBu1CT;EkBzwCE;IAxHI,QA0CG;ElB01CT;EkB5wCE;IAxHI,SA0CG;ElB61CT;EkB/wCE;IAxHI,eA0CG;ElBg2CT;EkBlxCE;IAxHI,cA0CG;ElBm2CT;EkBrxCE;IAxHI,YA0CG;ElBs2CT;EkBxxCE;IAxHI,cA0CG;ElBy2CT;EkB3xCE;IAxHI,YA0CG;ElB42CT;EkB9xCE;IAxHI,YA0CG;ElB+2CT;EkBjyCE;IAxHI,gBA0CG;ElBk3CT;EkBpyCE;IAxHI,sBA0CG;ElBq3CT;EkBvyCE;IAxHI,qBA0CG;ElBw3CT;EkB1yCE;IAxHI,mBA0CG;ElB23CT;EkB7yCE;IAxHI,qBA0CG;ElB83CT;EkBhzCE;IAxHI,mBA0CG;ElBi4CT;EkBnzCE;IAxHI,mBA0CG;ElBo4CT;EkBtzCE;IAxHI,eA0CG;ElBu4CT;EkBzzCE;IAxHI,qBA0CG;ElB04CT;EkB5zCE;IAxHI,oBA0CG;ElB64CT;EkB/zCE;IAxHI,kBA0CG;ElBg5CT;EkBl0CE;IAxHI,oBA0CG;ElBm5CT;EkBr0CE;IAxHI,kBA0CG;ElBs5CT;EkBx0CE;IAxHI,kBA0CG;ElBy5CT;EkB30CE;IAxHI,qBA0CG;ElB45CT;EkB90CE;IAxHI,2BA0CG;ElB+5CT;EkBj1CE;IAxHI,0BA0CG;ElBk6CT;EkBp1CE;IAxHI,wBA0CG;ElBq6CT;EkBv1CE;IAxHI,0BA0CG;ElBw6CT;EkB11CE;IAxHI,wBA0CG;ElB26CT;EkB71CE;IAxHI,wBA0CG;ElB86CT;EkBh2CE;IAxHI,oBA0CG;ElBi7CT;EkBn2CE;IAxHI,0BA0CG;ElBo7CT;EkBt2CE;IAxHI,yBA0CG;ElBu7CT;EkBz2CE;IAxHI,uBA0CG;ElB07CT;EkB52CE;IAxHI,yBA0CG;ElB67CT;EkB/2CE;IAxHI,uBA0CG;ElBg8CT;EkBl3CE;IAxHI,uBA0CG;ElBm8CT;EkBr3CE;IAxHI,mBA0CG;ElBs8CT;EkBx3CE;IAxHI,yBA0CG;ElBy8CT;EkB33CE;IAxHI,wBA0CG;ElB48CT;EkB93CE;IAxHI,sBA0CG;ElB+8CT;EkBj4CE;IAxHI,wBA0CG;ElBk9CT;EkBp4CE;IAxHI,sBA0CG;ElBq9CT;EkBv4CE;IAxHI,sBA0CG;ElBw9CT;EkB14CE;IAxHI,sBA0CG;ElB29CT;EkB74CE;IAxHI,4BA0CG;ElB89CT;EkBh5CE;IAxHI,2BA0CG;ElBi+CT;EkBn5CE;IAxHI,yBA0CG;ElBo+CT;EkBt5CE;IAxHI,2BA0CG;ElBu+CT;EkBz5CE;IAxHI,yBA0CG;ElB0+CT;EkB55CE;IAxHI,6BA0CG;ElB6+CT;EkB/5CE;IAxHI,4BA0CG;ElBg/CT;EkBl6CE;IAxHI,yBA0CG;ElBm/CT;EkBr6CE;IAxHI,UA0CG;ElBs/CT;EkBx6CE;IAxHI,gBA0CG;ElBy/CT;EkB36CE;IAxHI,eA0CG;ElB4/CT;EkB96CE;IAxHI,aA0CG;ElB+/CT;EkBj7CE;IAxHI,eA0CG;ElBkgDT;EkBp7CE;IAxHI,aA0CG;ElBqgDT;EkBv7CE;IAxHI,iBA0CG;ElBwgDT;EkB17CE;IAxHI,uBA0CG;ElB2gDT;EkB77CE;IAxHI,sBA0CG;ElB8gDT;EkBh8CE;IAxHI,oBA0CG;ElBihDT;EkBn8CE;IAxHI,sBA0CG;ElBohDT;EkBt8CE;IAxHI,oBA0CG;ElBuhDT;EkBz8CE;IAxHI,gBA0CG;ElB0hDT;EkB58CE;IAxHI,sBA0CG;ElB6hDT;EkB/8CE;IAxHI,qBA0CG;ElBgiDT;EkBl9CE;IAxHI,mBA0CG;ElBmiDT;EkBr9CE;IAxHI,qBA0CG;ElBsiDT;EkBx9CE;IAxHI,mBA0CG;ElByiDT;EkB39CE;IAxHI,sBA0CG;ElB4iDT;EkB99CE;IAxHI,4BA0CG;ElB+iDT;EkBj+CE;IAxHI,2BA0CG;ElBkjDT;EkBp+CE;IAxHI,yBA0CG;ElBqjDT;EkBv+CE;IAxHI,2BA0CG;ElBwjDT;EkB1+CE;IAx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;IA/IA,iEA0CG;ElByhET;EkB38DE;IAxHI,2BA0CG;ElB4hET;EkBv7DM;IA/IA,2BA0CG;ElB+hET;EkBj9DE;IAxHI,8BA0CG;ElBkiET;EkB77DM;IA/IA,8BA0CG;ElBqiET;EkBv9DE;IAxHI,6BA0CG;ElBwiET;EkBn8DM;IA/IA,6BA0CG;ElB2iET;EkB79DE;IAxHI,8BA0CG;ElB8iET;EkBz8DM;IA/IA,8BA0CG;ElBijET;EkBn+DE;IAxHI,yEA0CG;ElBojET;EkBt+DE;IAxHI,wHA0CG;ElBujET;EkBz+DE;IAxHI,2EA0CG;ElB0jET;EkB5+DE;IAxHI,uEA0CG;ElB6jET;EkB/+DE;IAxHI,6EA0CG;ElBgkET;EkBl/DE;IAxHI,yEA0CG;ElBmkET;EkBr/DE;IAxHI,yEA0CG;ElBskET;EkBx/DE;IAxHI,yEA0CG;ElBykET;EkB3/DE;IAxHI,iFA0CG;ElB4kET;EkBv+DM;IA/IA,iFA0CG;ElB+kET;EkBjgEE;IAxHI,iFA0CG;ElBklET;EkB7+DM;IA/IA,iFA0CG;ElBqlET;EkBvgEE;IAxHI,iFA0CG;ElBwlET;EkBn/DM;IA/IA,iFA0CG;ElB2lET;EkB7gEE;IAxHI,iFA0CG;ElB8lET;EkBz/DM;IA/IA,iFA0CG;ElBimET;EkBnhEE;IAxHI,iFA0CG;ElBomET;EkB//DM;IA/IA,iFA0CG;ElBumET;EkBzhEE;IAxHI,iFA0CG;ElB0mET;EkBrgEM;IA/IA,iFA0CG;ElB6mET;EkB/hEE;IAxHI,iFA0CG;ElBgnET;EkB3gEM;IA/IA,iFA0CG;ElBmnET;EkBriEE;IAxHI,iFA0CG;ElBsnET;EkBjhEM;IA/IA,iFA0CG;ElBynET;EkB3iEE;IAxHI,iFA0CG;ElB4nET;EkBvhEM;IA/IA,iFA0CG;ElB+nET;EkBjjEE;IAxHI,2CA0CG;ElBkoET;EkB7hEM;IA/IA,2CA0CG;ElBqoET;EkBvjEE;IAxHI,8BA0CG;ElBwoET;EkBniEM;IA/IA,8BA0CG;ElB2oET;EkB7jEE;IAxHI,8BA0CG;ElB8oET;EkBziEM;IA/IA,8BA0CG;ElBipET;EkBnkEE;IAxHI,8BA0CG;ElBopET;EkB/iEM;IA/IA,8BA0CG;ElBupET;EkBzkEE;IAxHI,8BA0CG;ElB0pET;EkBrjEM;IA/IA,8BA0CG;ElB6pET;EkB/kEE;IAxHI,8BA0CG;ElBgqET;EkB3jEM;IA/IA,8BA0CG;ElBmqET;EkBrlEE;IAjII,2BAmDG;IAnDH,8BAiES;ElBypEf;EkBzlEE;IAjII,6BAmDG;IAnDH,8BAiES;ElB6pEf;EkB7lEE;IAjII,4BAmDG;IAnDH,8BAiES;ElBiqEf;EkBjmEE;IAjII,0BAmDG;IAnDH,8BAiES;ElBqqEf;EkBrmEE;IAjII,6BAmDG;IAnDH,8BAiES;ElByqEf;EkBzmEE;IAjII,2BAmDG;IAnDH,8BAiES;ElB6qEf;EkB7mEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBirEf;EkBjnEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBqrEf;EkBrnEE;IAjII,wDAmDG;IAnDH,8BAiES;ElByrEf;EkBznEE;IAjII,2DAmDG;IAnDH,8BAiES;ElB6rEf;EkB7nEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBisEf;EkBjoEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBqsEf;EkBroEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBysEf;EkBzoEE;IAjII,wBAmDG;IAnDH,8BAiES;ElB6sEf;EkB7oEE;IAjII,wBAmDG;IAnDH,8BAiES;ElBitEf;EkBjpEE;IAjII,oBAmDG;IAnDH,8BAiES;ElBqtEf;EkBrpEE;IAjII,gBAmDG;IAnDH,8BAiES;ElBytEf;EkBzpEE;IAjII,2DAmDG;IAnDH,8BAiES;ElB6tEf;EkB7pEE;IAjII,+DAmDG;IAnDH,8BAiES;ElBiuEf;EkBjqEE;IAjII,6DAmDG;IAnDH,8BAiES;ElBquEf;EkBrqEE;IAjII,yDAmDG;IAnDH,8BAiES;ElByuEf;EkBzqEE;IAjII,+DAmDG;IAnDH,8BAiES;ElB6uEf;EkB7qEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBivEf;EkBjrEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBqvEf;EkBrrEE;IAjII,2DAmDG;IAnDH,8BAiES;ElByvEf;EkBzrEE;IAjII,2DAmDG;IAnDH,8BAiES;ElB6vEf;EkB7rEE;IAjII,+DAmDG;IAnDH,8BAiES;ElBiwEf;EkBjsEE;IAjII,6DAmDG;IAnDH,8BAiES;ElBqwEf;EkBrsEE;IAjII,yDAmDG;IAnDH,8BAiES;ElBywEf;EkBzsEE;IAjII,+DAmDG;IAnDH,8BAiES;ElB6wEf;EkB7sEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBixEf;EkBjtEE;IAjII,2DAmDG;IAnDH,8BAiES;ElBqxEf;EkBrtEE;IAjII,2DAmDG;IAnDH,8BAiES;ElByxEf;EkBztEE;IAxHI,oEA0CG;ElB0yET;EkB5tEE;IAxHI,oEA0CG;ElB6yET;EkB/tEE;IAxHI,oEA0CG;ElBgzET;EkBluEE;IAxHI,oEA0CG;ElBmzET;EkBruEE;IAxHI,oEA0CG;ElBszET;EkBxuEE;IAxHI,oEA0CG;ElByzET;EkB3uEE;IAxHI,oEA0CG;ElB4zET;EkB9uEE;IAxHI,oEA0CG;ElB+zET;EkBjvEE;IAxHI,oEA0CG;ElBk0ET;EkBpvEE;IAxHI,8BA0CG;ElBq0ET;EkBvvEE;IAjII,oCAiES;IAjET,+BAiES;ElB2zEf;EkB3vEE;IAjII,2CAiES;IAjET,2BAiES;ElB+zEf;EkB/vEE;IAjII,0CAiES;IAjET,oCAiES;ElBm0Ef;EkBnwEE;IAxHI,2DA0CG;ElBo1ET;EkBtwEE;IAxHI,oCA0CG;ElBu1ET;EkBzwEE;IAxHI,wBA+CO;IA/CP,gBA+CO;ElBq1Eb;EkB5wEE;IAxHI,yBA+CO;IA/CP,iBA+CO;ElBw1Eb;EkB/wEE;IAxHI,yBA+CO;IA/CP,iBA+CO;ElB21Eb;EkBlxEE;IAxHI,yBA+CO;IA/CP,iBA+CO;ElB81Eb;EkBrxEE;IAxHI,oBA+CO;ElBi2Eb;EkBxxEE;IAxHI,oBA+CO;ElBo2Eb;EkB3xEE;IAxHI,sCA0CG;ElB42ET;EkB9xEE;IAxHI,gBA0CG;ElB+2ET;EkBjyEE;IAxHI,yCA0CG;ElBk3ET;EkBpyEE;IAxHI,sCA0CG;ElBq3ET;EkBvyEE;IAxHI,yCA0CG;ElBw3ET;EkB1yEE;IAxHI,yCA0CG;ElB23ET;EkB7yEE;IAxHI,0CA0CG;ElB83ET;EkBhzEE;IAxHI,kBA0CG;ElBi4ET;EkBnzEE;IAxHI,2CA0CG;ElBo4ET;EkBtzEE;IAxHI,kDA0CG;IA1CH,gDA0CG;ElBw4ET;EkB1zEE;IAxHI,4BA0CG;IA1CH,0BA0CG;ElB44ET;EkB9zEE;IAxHI,qDA0CG;IA1CH,mDA0CG;ElBg5ET;EkBl0EE;IAxHI,kDA0CG;IA1CH,gDA0CG;ElBo5ET;EkBt0EE;IAxHI,qDA0CG;IA1CH,mDA0CG;ElBw5ET;EkB10EE;IAxHI,qDA0CG;IA1CH,mDA0CG;ElB45ET;EkB90EE;IAxHI,sDA0CG;IA1CH,oDA0CG;ElBg6ET;EkBl1EE;IAxHI,8BA0CG;IA1CH,4BA0CG;ElBo6ET;EkBt1EE;IAxHI,uDA0CG;IA1CH,qDA0CG;ElBw6ET;EkB11EE;IAxHI,8CA0CG;IA1CH,gDA0CG;ElB46ET;EkB91EE;IAxHI,wBA0CG;IA1CH,0BA0CG;ElBg7ET;EkBl2EE;IAxHI,iDA0CG;IA1CH,mDA0CG;ElBo7ET;EkBt2EE;IAxHI,8CA0CG;IA1CH,gDA0CG;ElBw7ET;EkB12EE;IAxHI,iDA0CG;IA1CH,mDA0CG;ElB47ET;EkB92EE;IAxHI,iDA0CG;IA1CH,mDA0CG;ElBg8ET;EkBl3EE;IAxHI,kDA0CG;IA1CH,oDA0CG;ElBo8ET;EkBt3EE;IAxHI,0BA0CG;IA1CH,4BA0CG;ElBw8ET;EkB13EE;IAxHI,mDA0CG;IA1CH,qDA0CG;ElB48ET;EkB93EE;IAxHI,8CA0CG;IA1CH,gDA0CG;ElBg9ET;EkBl4EE;IAxHI,wBA0CG;IA1CH,0BA0CG;ElBo9ET;EkBt4EE;IAxHI,iDA0CG;IA1CH,mDA0CG;ElBw9ET;EkB14EE;IAxHI,8CA0CG;IA1CH,gDA0CG;ElB49ET;EkB94EE;IAxHI,iDA0CG;IA1CH,mDA0CG;ElBg+ET;EkBl5EE;IAxHI,iDA0CG;IA1CH,mDA0CG;ElBo+ET;EkBt5EE;IAxHI,kDA0CG;IA1CH,oDA0CG;ElBw+ET;EkB15EE;IAxHI,0BA0CG;IA1CH,4BA0CG;ElB4+ET;EkB95EE;IAxHI,mDA0CG;IA1CH,qDA0CG;ElBg/ET;EkBl6EE;IAxHI,kDA0CG;IA1CH,gDA0CG;ElBo/ET;EkBt6EE;IAxHI,4BA0CG;IA1CH,0BA0CG;ElBw/ET;EkB16EE;IAxHI,qDA0CG;IA1CH,mDA0CG;ElB4/ET;EkB96EE;IAxHI,kDA0CG;IA1CH,gDA0CG;ElBggFT;EkBl7EE;IAxHI,qDA0CG;IA1CH,mDA0CG;ElBogFT;EkBt7EE;IAxHI,qDA0CG;IA1CH,mDA0CG;ElBwgFT;EkB17EE;IAxHI,sDA0CG;IA1CH,oDA0CG;ElB4gFT;EkB97EE;IAxHI,8BA0CG;IA1CH,4BA0CG;ElBghFT;EkBl8EE;IAxHI,uDA0CG;IA1CH,qDA0CG;ElBohFT;EkBt8EE;IAxHI,mBA0CG;ElBuhFT;EkBz8EE;IAxHI,kBA0CG;ElB0hFT;EkB58EE;IAxHI,WA0CG;ElB6hFT;EkB/8EE;IAxHI,UA0CG;ElBgiFT;EkBl9EE;IAxHI,UA0CG;ElBmiFT;EkBr9EE;IAxHI,UA0CG;ElBsiFT;EkBx9EE;IAxHI,UA0CG;ElByiFT;EOhiFE;IWqEA;MAxHI,mBA0CG;IlB6iFP;IkB/9EA;MAxHI,iBA0CG;IlBgjFP;IkBl+EA;MAxHI,WA0CG;IlBmjFP;IkBr+EA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlBsjFP;IkBx+EA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlByjFP;IkB3+EA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlB4jFP;IkB9+EA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlB+jFP;IkBj/EA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBkkFP;IkBp/EA;MAxHI,eA+CO;IlBgkFX;IkBv/EA;MAxHI,qBA+CO;IlBmkFX;IkB1/EA;MAxHI,cA+CO;IlBskFX;IkB7/EA;MAxHI,aA+CO;IlBykFX;IkBhgFA;MAxHI,oBA+CO;IlB4kFX;IkBngFA;MAxHI,cA+CO;IlB+kFX;IkBtgFA;MAxHI,kBA+CO;IlBklFX;IkBzgFA;MAxHI,mBA+CO;IlBqlFX;IkB5gFA;MAxHI,aA+CO;IlBwlFX;IkB/gFA;MAxHI,oBA+CO;IlB2lFX;IkBlhFA;MAxHI,iBA+CO;IlB8lFX;IkBrhFA;MAxHI,kBA+CO;IlBimFX;IkBxhFA;MAxHI,aA+CO;IlBomFX;IkB3hFA;MAxHI,cA0CG;IlB4mFP;IkB9hFA;MAxHI,mBA+CO;IlB0mFX;IkBjiFA;MAxHI,sBA+CO;IlB6mFX;IkBpiFA;MAxHI,2BA+CO;IlBgnFX;IkBviFA;MAxHI,8BA+CO;IlBmnFX;IkB1iFA;MAxHI,YA0CG;IlB2nFP;IkB7iFA;MAxHI,YA0CG;IlB8nFP;IkBhjFA;MAxHI,cA0CG;IlBioFP;IkBnjFA;MAxHI,cA0CG;IlBooFP;IkBtjFA;MAxHI,eA+CO;IlBkoFX;IkBzjFA;MAxHI,iBA+CO;IlBqoFX;IkB5jFA;MAxHI,uBA+CO;IlBwoFX;IkB/jFA;MAxHI,2BA0CG;IlBgpFP;IkBlkFA;MAxHI,yBA0CG;IlBmpFP;IkBrkFA;MAxHI,uBA0CG;IlBspFP;IkBxkFA;MAxHI,8BA0CG;IlBypFP;IkB3kFA;MAxHI,6BA0CG;IlB4pFP;IkB9kFA;MAxHI,6BA0CG;IlB+pFP;IkBjlFA;MAxHI,oBA0CG;IlBkqFP;IkBplFA;MAxHI,kBA0CG;IlBqqFP;IkBvlFA;MAxHI,qBA0CG;IlBwqFP;IkB1lFA;MAxHI,sBA0CG;IlB2qFP;IkB7lFA;MAxHI,wBA0CG;IlB8qFP;IkBhmFA;MAxHI,sBA0CG;IlBirFP;IkBnmFA;MAxHI,oBA0CG;IlBorFP;IkBtmFA;MAxHI,uBA0CG;IlBurFP;IkBzmFA;MAxHI,qBA0CG;IlB0rFP;IkB5mFA;MAxHI,mBA0CG;IlB6rFP;IkB/mFA;MAxHI,qBA0CG;IlBgsFP;IkBlnFA;MAxHI,oBA0CG;IlBmsFP;IkBrnFA;MAxHI,yBA0CG;IlBssFP;IkBxnFA;MAxHI,uBA0CG;IlBysFP;IkB3nFA;MAxHI,qBA0CG;IlB4sFP;IkB9nFA;MAxHI,4BA0CG;IlB+sFP;IkBjoFA;MAxHI,2BA0CG;IlBktFP;IkBpoFA;MAxHI,sBA0CG;IlBqtFP;IkBvoFA;MAxHI,gBA0CG;IlBwtFP;IkB1oFA;MAxHI,sBA0CG;IlB2tFP;IkB7oFA;MAxHI,oBA0CG;IlB8tFP;IkBhpFA;MAxHI,kBA0CG;IlBiuFP;IkBnpFA;MAxHI,oBA0CG;IlBouFP;IkBtpFA;MAxHI,mBA0CG;IlBuuFP;IkBzpFA;MAxHI,kBA0CG;IlB0uFP;IkB5pFA;MAxHI,gBA0CG;IlB6uFP;IkB/pFA;MAxHI,mBA0CG;IlBgvFP;IkBlqFA;MAxHI,oBA0CG;IlBmvFP;IkBrqFA;MAxHI,qCA0CG;IlBsvFP;IkBxqFA;MAxHI,qCA0CG;IlByvFP;IkB3qFA;MAxHI,qCA0CG;IlB4vFP;IkB9qFA;MAxHI,qCA0CG;IlB+vFP;IkBjrFA;MAxHI,mBA0CG;IlBkwFP;IkBprFA;MAxHI,mBA+CO;IlBgwFX;IkBvrFA;MAxHI,sBA+CO;IlBmwFX;IkB1rFA;MAxHI,qBA+CO;IlBswFX;IkB7rFA;MAxHI,SA0CG;IlB8wFP;IkBhsFA;MAxHI,QA0CG;IlBixFP;IkBnsFA;MAxHI,QA0CG;IlBoxFP;IkBtsFA;MAxHI,QA0CG;IlBuxFP;IkBzsFA;MAxHI,QA0CG;IlB0xFP;IkB5sFA;MAxHI,QA0CG;IlB6xFP;IkB/sFA;MAxHI,QA0CG;IlBgyFP;IkBltFA;MAxHI,QA0CG;IlBmyFP;IkBrtFA;MAxHI,SA0CG;IlBsyFP;IkBxtFA;MAxHI,eA0CG;IlByyFP;IkB3tFA;MAxHI,cA0CG;IlB4yFP;IkB9tFA;MAxHI,YA0CG;IlB+yFP;IkBjuFA;MAxHI,cA0CG;IlBkzFP;IkBpuFA;MAxHI,YA0CG;IlBqzFP;IkBvuFA;MAxHI,YA0CG;IlBwzFP;IkB1uFA;MAxHI,gBA0CG;IlB2zFP;IkB7uFA;MAxHI,sBA0CG;IlB8zFP;IkBhvFA;MAxHI,qBA0CG;IlBi0FP;IkBnvFA;MAxHI,mBA0CG;IlBo0FP;IkBtvFA;MAxHI,qBA0CG;IlBu0FP;IkBzvFA;MAxHI,mBA0CG;IlB00FP;IkB5vFA;MAxHI,mBA0CG;IlB60FP;IkB/vFA;MAxHI,eA0CG;IlBg1FP;IkBlwFA;MAxHI,qBA0CG;IlBm1FP;IkBrwFA;MAxHI,oBA0CG;IlBs1FP;IkBxwFA;MAxHI,kBA0CG;IlBy1FP;IkB3wFA;MAxHI,oBA0CG;IlB41FP;IkB9wFA;MAxHI,kBA0CG;IlB+1FP;IkBjxFA;MAxHI,kBA0CG;IlBk2FP;IkBpxFA;MAxHI,qBA0CG;IlBq2FP;IkBvxFA;MAxHI,2BA0CG;IlBw2FP;IkB1xFA;MAxHI,0BA0CG;IlB22FP;IkB7xFA;MAxHI,wBA0CG;IlB82FP;IkBhyFA;MAxHI,0BA0CG;IlBi3FP;IkBnyFA;MAxHI,wBA0CG;IlBo3FP;IkBtyFA;MAxHI,wBA0CG;IlBu3FP;IkBzyFA;MAxHI,oBA0CG;IlB03FP;IkB5yFA;MAxHI,0BA0CG;IlB63FP;IkB/yFA;MAxHI,yBA0CG;IlBg4FP;IkBlzFA;MAxHI,uBA0CG;IlBm4FP;IkBrzFA;MAxHI,yBA0CG;IlBs4FP;IkBxzFA;MAxHI,uBA0CG;IlBy4FP;IkB3zFA;MAxHI,uBA0CG;IlB44FP;IkB9zFA;MAxHI,mBA0CG;IlB+4FP;IkBj0FA;MAxHI,yBA0CG;IlBk5FP;IkBp0FA;MAxHI,wBA0CG;IlBq5FP;IkBv0FA;MAxHI,sBA0CG;IlBw5FP;IkB10FA;MAxHI,wBA0CG;IlB25FP;IkB70FA;MAxHI,sBA0CG;IlB85FP;IkBh1FA;MAxHI,sBA0CG;IlBi6FP;IkBn1FA;MAxHI,sBA0CG;IlBo6FP;IkBt1FA;MAxHI,4BA0CG;IlBu6FP;IkBz1FA;MAxHI,2BA0CG;IlB06FP;IkB51FA;MAxHI,yBA0CG;IlB66FP;IkB/1FA;MAxHI,2BA0CG;IlBg7FP;IkBl2FA;MAxHI,yBA0CG;IlBm7FP;IkBr2FA;MAxHI,6BA0CG;IlBs7FP;IkBx2FA;MAxHI,4BA0CG;IlBy7FP;IkB32FA;MAxHI,yBA0CG;IlB47FP;IkB92FA;MAxHI,UA0CG;IlB+7FP;IkBj3FA;MAxHI,gBA0CG;IlBk8FP;IkBp3FA;MAxHI,eA0CG;IlBq8FP;IkBv3FA;MAxHI,aA0CG;IlBw8FP;IkB13FA;MAxHI,eA0CG;IlB28FP;IkB73FA;MAxHI,aA0CG;IlB88FP;IkBh4FA;MAxHI,iBA0CG;IlBi9FP;IkBn4FA;MAxHI,uBA0CG;IlBo9FP;IkBt4FA;MAxHI,sBA0CG;IlBu9FP;IkBz4FA;MAxHI,oBA0CG;IlB09FP;IkB54FA;MAxHI,sBA0CG;IlB69FP;IkB/4FA;MAxHI,oBA0CG;IlBg+FP;IkBl5FA;MAxHI,gBA0CG;IlBm+FP;IkBr5FA;MAxHI,sBA0CG;IlBs+FP;IkBx5FA;MAxHI,qBA0CG;IlBy+FP;IkB35FA;MAxHI,mBA0CG;IlB4+FP;IkB95FA;MAxHI,qBA0CG;IlB++FP;IkBj6FA;MAxHI,mBA0CG;IlBk/FP;IkBp6FA;MAxHI,sBA0CG;IlBq/FP;IkBv6FA;MAxHI,4BA0CG;IlBw/FP;IkB16FA;MAxHI,2BA0CG;IlB2/FP;IkB76FA;MAxHI,yBA0CG;IlB8/FP;IkBh7FA;MAxHI,2BA0CG;IlBigGP;IkBn7FA;MAxHI,yBA0CG;IlBogGP;IkBt7FA;MAxHI,qBA0CG;IlBugGP;IkBz7FA;MAxHI,2BA0CG;IlB0gGP;IkB57FA;MAxHI,0BA0CG;IlB6gGP;IkB/7FA;MAxHI,wBA0CG;IlBghGP;IkBl8FA;MAxHI,0BA0CG;IlBmhGP;IkBr8FA;MAxHI,wBA0CG;IlBshGP;IkBx8FA;MAxHI,oBA0CG;IlByhGP;IkB38FA;MAxHI,0BA0CG;IlB4hGP;IkB98FA;MAxHI,yBA0CG;IlB+hGP;IkBj9FA;MAxHI,uBA0CG;IlBkiGP;IkBp9FA;MAxHI,yBA0CG;IlBqiGP;IkBv9FA;MAxHI,uBA0CG;IlBwiGP;IkB19FA;MAxHI,uBA0CG;IlB2iGP;IkB79FA;MAxHI,6BA0CG;IlB8iGP;IkBh+FA;MAxHI,4BA0CG;IlBijGP;IkBn+FA;MAxHI,0BA0CG;IlBojGP;IkBt+FA;MAxHI,4BA0CG;IlBujGP;IkBz+FA;MAxHI,0BA0CG;IlB0jGP;IkB5+FA;MAxHI,MA0CG;IlB6jGP;IkB/+FA;MAxHI,YA0CG;IlBgkGP;IkBl/FA;MAxHI,WA0CG;IlBmkGP;IkBr/FA;MAxHI,SA0CG;IlBskGP;IkBx/FA;MAxHI,WA0CG;IlBykGP;IkB3/FA;MAxHI,SA0CG;IlB4kGP;IkB9/FA;MAxHI,UA0CG;IlB+kGP;IkBjgGA;MAxHI,gBA0CG;IlBklGP;IkBpgGA;MAxHI,eA0CG;IlBqlGP;IkBvgGA;MAxHI,aA0CG;IlBwlGP;IkB1gGA;MAxHI,eA0CG;IlB2lGP;IkB7gGA;MAxHI,aA0CG;IlB8lGP;IkBhhGA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBimGP;IkBnhGA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBomGP;IkBthGA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBumGP;IkBzhGA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB0mGP;IkB5hGA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB6mGP;IkB/hGA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBgnGP;IkBliGA;MAxHI,iBA0CG;IlBmnGP;IkBriGA;MAxHI,eA0CG;IlBsnGP;IkBxiGA;MAxHI,kBA0CG;IlBynGP;EACF;EOjnGE;IWqEA;MAxHI,mBA0CG;IlB8nGP;IkBhjGA;MAxHI,iBA0CG;IlBioGP;IkBnjGA;MAxHI,WA0CG;IlBooGP;IkBtjGA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlBuoGP;IkBzjGA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlB0oGP;IkB5jGA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlB6oGP;IkB/jGA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlBgpGP;IkBlkGA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBmpGP;IkBrkGA;MAxHI,eA+CO;IlBipGX;IkBxkGA;MAxHI,qBA+CO;IlBopGX;IkB3kGA;MAxHI,cA+CO;IlBupGX;IkB9kGA;MAxHI,aA+CO;IlB0pGX;IkBjlGA;MAxHI,oBA+CO;IlB6pGX;IkBplGA;MAxHI,cA+CO;IlBgqGX;IkBvlGA;MAxHI,kBA+CO;IlBmqGX;IkB1lGA;MAxHI,mBA+CO;IlBsqGX;IkB7lGA;MAxHI,aA+CO;IlByqGX;IkBhmGA;MAxHI,oBA+CO;IlB4qGX;IkBnmGA;MAxHI,iBA+CO;IlB+qGX;IkBtmGA;MAxHI,kBA+CO;IlBkrGX;IkBzmGA;MAxHI,aA+CO;IlBqrGX;IkB5mGA;MAxHI,cA0CG;IlB6rGP;IkB/mGA;MAxHI,mBA+CO;IlB2rGX;IkBlnGA;MAxHI,sBA+CO;IlB8rGX;IkBrnGA;MAxHI,2BA+CO;IlBisGX;IkBxnGA;MAxHI,8BA+CO;IlBosGX;IkB3nGA;MAxHI,YA0CG;IlB4sGP;IkB9nGA;MAxHI,YA0CG;IlB+sGP;IkBjoGA;MAxHI,cA0CG;IlBktGP;IkBpoGA;MAxHI,cA0CG;IlBqtGP;IkBvoGA;MAxHI,eA+CO;IlBmtGX;IkB1oGA;MAxHI,iBA+CO;IlBstGX;IkB7oGA;MAxHI,uBA+CO;IlBytGX;IkBhpGA;MAxHI,2BA0CG;IlBiuGP;IkBnpGA;MAxHI,yBA0CG;IlBouGP;IkBtpGA;MAxHI,uBA0CG;IlBuuGP;IkBzpGA;MAxHI,8BA0CG;IlB0uGP;IkB5pGA;MAxHI,6BA0CG;IlB6uGP;IkB/pGA;MAxHI,6BA0CG;IlBgvGP;IkBlqGA;MAxHI,oBA0CG;IlBmvGP;IkBrqGA;MAxHI,kBA0CG;IlBsvGP;IkBxqGA;MAxHI,qBA0CG;IlByvGP;IkB3qGA;MAxHI,sBA0CG;IlB4vGP;IkB9qGA;MAxHI,wBA0CG;IlB+vGP;IkBjrGA;MAxHI,sBA0CG;IlBkwGP;IkBprGA;MAxHI,oBA0CG;IlBqwGP;IkBvrGA;MAxHI,uBA0CG;IlBwwGP;IkB1rGA;MAxHI,qBA0CG;IlB2wGP;IkB7rGA;MAxHI,mBA0CG;IlB8wGP;IkBhsGA;MAxHI,qBA0CG;IlBixGP;IkBnsGA;MAxHI,oBA0CG;IlBoxGP;IkBtsGA;MAxHI,yBA0CG;IlBuxGP;IkBzsGA;MAxHI,uBA0CG;IlB0xGP;IkB5sGA;MAxHI,qBA0CG;IlB6xGP;IkB/sGA;MAxHI,4BA0CG;IlBgyGP;IkBltGA;MAxHI,2BA0CG;IlBmyGP;IkBrtGA;MAxHI,sBA0CG;IlBsyGP;IkBxtGA;MAxHI,gBA0CG;IlByyGP;IkB3tGA;MAxHI,sBA0CG;IlB4yGP;IkB9tGA;MAxHI,oBA0CG;IlB+yGP;IkBjuGA;MAxHI,kBA0CG;IlBkzGP;IkBpuGA;MAxHI,oBA0CG;IlBqzGP;IkBvuGA;MAxHI,mBA0CG;IlBwzGP;IkB1uGA;MAxHI,kBA0CG;IlB2zGP;IkB7uGA;MAxHI,gBA0CG;IlB8zGP;IkBhvGA;MAxHI,mBA0CG;IlBi0GP;IkBnvGA;MAxHI,oBA0CG;IlBo0GP;IkBtvGA;MAxHI,qCA0CG;IlBu0GP;IkBzvGA;MAxHI,qCA0CG;IlB00GP;IkB5vGA;MAxHI,qCA0CG;IlB60GP;IkB/vGA;MAxHI,qCA0CG;IlBg1GP;IkBlwGA;MAxHI,mBA0CG;IlBm1GP;IkBrwGA;MAxHI,mBA+CO;IlBi1GX;IkBxwGA;MAxHI,sBA+CO;IlBo1GX;IkB3wGA;MAxHI,qBA+CO;IlBu1GX;IkB9wGA;MAxHI,SA0CG;IlB+1GP;IkBjxGA;MAxHI,QA0CG;IlBk2GP;IkBpxGA;MAxHI,QA0CG;IlBq2GP;IkBvxGA;MAxHI,QA0CG;IlBw2GP;IkB1xGA;MAxHI,QA0CG;IlB22GP;IkB7xGA;MAxHI,QA0CG;IlB82GP;IkBhyGA;MAxHI,QA0CG;IlBi3GP;IkBnyGA;MAxHI,QA0CG;IlBo3GP;IkBtyGA;MAxHI,SA0CG;IlBu3GP;IkBzyGA;MAxHI,eA0CG;IlB03GP;IkB5yGA;MAxHI,cA0CG;IlB63GP;IkB/yGA;MAxHI,YA0CG;IlBg4GP;IkBlzGA;MAxHI,cA0CG;IlBm4GP;IkBrzGA;MAxHI,YA0CG;IlBs4GP;IkBxzGA;MAxHI,YA0CG;IlBy4GP;IkB3zGA;MAxHI,gBA0CG;IlB44GP;IkB9zGA;MAxHI,sBA0CG;IlB+4GP;IkBj0GA;MAxHI,qBA0CG;IlBk5GP;IkBp0GA;MAxHI,mBA0CG;IlBq5GP;IkBv0GA;MAxHI,qBA0CG;IlBw5GP;IkB10GA;MAxHI,mBA0CG;IlB25GP;IkB70GA;MAxHI,mBA0CG;IlB85GP;IkBh1GA;MAxHI,eA0CG;IlBi6GP;IkBn1GA;MAxHI,qBA0CG;IlBo6GP;IkBt1GA;MAxHI,oBA0CG;IlBu6GP;IkBz1GA;MAxHI,kBA0CG;IlB06GP;IkB51GA;MAxHI,oBA0CG;IlB66GP;IkB/1GA;MAxHI,kBA0CG;IlBg7GP;IkBl2GA;MAxHI,kBA0CG;IlBm7GP;IkBr2GA;MAxHI,qBA0CG;IlBs7GP;IkBx2GA;MAxHI,2BA0CG;IlBy7GP;IkB32GA;MAxHI,0BA0CG;IlB47GP;IkB92GA;MAxHI,wBA0CG;IlB+7GP;IkBj3GA;MAxHI,0BA0CG;IlBk8GP;IkBp3GA;MAxHI,wBA0CG;IlBq8GP;IkBv3GA;MAxHI,wBA0CG;IlBw8GP;IkB13GA;MAxHI,oBA0CG;IlB28GP;IkB73GA;MAxHI,0BA0CG;IlB88GP;IkBh4GA;MAxHI,yBA0CG;IlBi9GP;IkBn4GA;MAxHI,uBA0CG;IlBo9GP;IkBt4GA;MAxHI,yBA0CG;IlBu9GP;IkBz4GA;MAxHI,uBA0CG;IlB09GP;IkB54GA;MAxHI,uBA0CG;IlB69GP;IkB/4GA;MAxHI,mBA0CG;IlBg+GP;IkBl5GA;MAxHI,yBA0CG;IlBm+GP;IkBr5GA;MAxHI,wBA0CG;IlBs+GP;IkBx5GA;MAxHI,sBA0CG;IlBy+GP;IkB35GA;MAxHI,wBA0CG;IlB4+GP;IkB95GA;MAxHI,sBA0CG;IlB++GP;IkBj6GA;MAxHI,sBA0CG;IlBk/GP;IkBp6GA;MAxHI,sBA0CG;IlBq/GP;IkBv6GA;MAxHI,4BA0CG;IlBw/GP;IkB16GA;MAxHI,2BA0CG;IlB2/GP;IkB76GA;MAxHI,yBA0CG;IlB8/GP;IkBh7GA;MAxHI,2BA0CG;IlBigHP;IkBn7GA;MAxHI,yBA0CG;IlBogHP;IkBt7GA;MAxHI,6BA0CG;IlBugHP;IkBz7GA;MAxHI,4BA0CG;IlB0gHP;IkB57GA;MAxHI,yBA0CG;IlB6gHP;IkB/7GA;MAxHI,UA0CG;IlBghHP;IkBl8GA;MAxHI,gBA0CG;IlBmhHP;IkBr8GA;MAxHI,eA0CG;IlBshHP;IkBx8GA;MAxHI,aA0CG;IlByhHP;IkB38GA;MAxHI,eA0CG;IlB4hHP;IkB98GA;MAxHI,aA0CG;IlB+hHP;IkBj9GA;MAxHI,iBA0CG;IlBkiHP;IkBp9GA;MAxHI,uBA0CG;IlBqiHP;IkBv9GA;MAxHI,sBA0CG;IlBwiHP;IkB19GA;MAxHI,oBA0CG;IlB2iHP;IkB79GA;MAxHI,sBA0CG;IlB8iHP;IkBh+GA;MAxHI,oBA0CG;IlBijHP;IkBn+GA;MAxHI,gBA0CG;IlBojHP;IkBt+GA;MAxHI,sBA0CG;IlBujHP;IkBz+GA;MAxHI,qBA0CG;IlB0jHP;IkB5+GA;MAx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lBoyHX;IkB3tHA;MAxHI,iBA+CO;IlBuyHX;IkB9tHA;MAxHI,uBA+CO;IlB0yHX;IkBjuHA;MAxHI,2BA0CG;IlBkzHP;IkBpuHA;MAxHI,yBA0CG;IlBqzHP;IkBvuHA;MAxHI,uBA0CG;IlBwzHP;IkB1uHA;MAxHI,8BA0CG;IlB2zHP;IkB7uHA;MAxHI,6BA0CG;IlB8zHP;IkBhvHA;MAxHI,6BA0CG;IlBi0HP;IkBnvHA;MAxHI,oBA0CG;IlBo0HP;IkBtvHA;MAxHI,kBA0CG;IlBu0HP;IkBzvHA;MAxHI,qBA0CG;IlB00HP;IkB5vHA;MAxHI,sBA0CG;IlB60HP;IkB/vHA;MAxHI,wBA0CG;IlBg1HP;IkBlwHA;MAxHI,sBA0CG;IlBm1HP;IkBrwHA;MAxHI,oBA0CG;IlBs1HP;IkBxwHA;MAxHI,uBA0CG;IlBy1HP;IkB3wHA;MAxHI,qBA0CG;IlB41HP;IkB9wHA;MAxHI,mBA0CG;IlB+1HP;IkBjxHA;MAxHI,qBA0CG;IlBk2HP;IkBpxHA;MAxHI,oBA0CG;IlBq2HP;IkBvxHA;MAxHI,yBA0CG;IlBw2HP;IkB1xHA;MAxHI,uBA0CG;IlB22HP;IkB7xHA;MAxHI,qBA0CG;IlB82HP;IkBhyHA;MAxHI,4BA0CG;IlBi3HP;IkBnyHA;MAxHI,2BA0CG;IlBo3HP;IkBtyHA;MAxHI,sBA0CG;IlBu3HP;IkBzyHA;MAxHI,gBA0CG;IlB03HP;IkB5yHA;MAxHI,sBA0CG;IlB63HP;IkB/yHA;MAxHI,oBA0CG;IlBg4HP;IkBlzHA;MAxHI,kBA0CG;IlBm4HP;IkBrzHA;MAxHI,oBA0CG;IlBs4HP;IkBxzHA;MAxHI,mBA0CG;IlBy4HP;IkB3zHA;MAxHI,kBA0CG;IlB44HP;IkB9zHA;MAxHI,gBA0CG;IlB+4HP;IkBj0HA;MAxHI,mBA0CG;IlBk5HP;IkBp0HA;MAxHI,oBA0CG;IlBq5HP;IkBv0HA;MAxHI,qCA0CG;IlBw5HP;IkB10HA;MAxHI,qCA0CG;IlB25HP;IkB70HA;MAxHI,qCA0CG;IlB85HP;IkBh1HA;MAxHI,qCA0CG;IlBi6HP;IkBn1HA;MAxHI,mBA0CG;IlBo6HP;IkBt1HA;MAxHI,mBA+CO;IlBk6HX;IkBz1HA;MAxHI,sBA+CO;IlBq6HX;IkB51HA;MAxHI,qBA+CO;IlBw6HX;IkB/1HA;MAxHI,SA0CG;IlBg7HP;IkBl2HA;MAxHI,QA0CG;IlBm7HP;IkBr2HA;MAxHI,QA0CG;IlBs7HP;IkBx2HA;MAxHI,QA0CG;IlBy7HP;IkB32HA;MAxHI,QA0CG;IlB47HP;IkB92HA;MAxHI,QA0CG;IlB+7HP;IkBj3HA;MAxHI,QA0CG;IlBk8HP;IkBp3HA;MAxHI,QA0CG;IlBq8HP;IkBv3HA;MAxHI,SA0CG;IlBw8HP;IkB13HA;MAxHI,eA0CG;IlB28HP;IkB73HA;MAxHI,cA0CG;IlB88HP;IkBh4HA;MAxHI,YA0CG;IlBi9HP;IkBn4HA;MAxHI,cA0CG;IlBo9HP;IkBt4HA;MAxHI,YA0CG;IlBu9HP;IkBz4HA;MAxHI,YA0CG;IlB09HP;IkB54HA;MAxHI,gBA0CG;IlB69HP;IkB/4HA;MAxHI,sBA0CG;IlBg+HP;IkBl5HA;MAxHI,qBA0CG;IlBm+HP;IkBr5HA;MAxHI,mBA0CG;IlBs+HP;IkBx5HA;MAxHI,qBA0CG;IlBy+HP;IkB35HA;MAxHI,mBA0CG;IlB4+HP;IkB95HA;MAxHI,mBA0CG;IlB++HP;IkBj6HA;MAxHI,eA0CG;IlBk/HP;IkBp6HA;MAxHI,qBA0CG;IlBq/HP;IkBv6HA;MAxHI,oBA0CG;IlBw/HP;IkB16HA;MAxHI,kBA0CG;IlB2/HP;IkB76HA;MAxHI,oBA0CG;IlB8/HP;IkBh7HA;MAxHI,kBA0CG;IlBigIP;IkBn7HA;MAxHI,kBA0CG;IlBogIP;IkBt7HA;MAxHI,qBA0CG;IlBugIP;IkBz7HA;MAxHI,2BA0CG;IlB0gIP;IkB57HA;MAxHI,0BA0CG;IlB6gIP;IkB/7HA;MAxHI,wBA0CG;IlBghIP;IkBl8HA;MAxHI,0BA0CG;IlBmhIP;IkBr8HA;MAxHI,wBA0CG;IlBshIP;IkBx8HA;MAxHI,wBA0CG;IlByhIP;IkB38HA;MAxHI,oBA0CG;IlB4hIP;IkB98HA;MAxHI,0BA0CG;IlB+hIP;IkBj9HA;MAxHI,yBA0CG;IlBkiIP;IkBp9HA;MAxHI,uBA0CG;IlBqiIP;IkBv9HA;MAxHI,yBA0CG;IlBwiIP;IkB19HA;MAxHI,uBA0CG;IlB2iIP;IkB79HA;MAxHI,uBA0CG;IlB8iIP;IkBh+HA;MAxHI,mBA0CG;IlBijIP;IkBn+HA;MAxHI,yBA0CG;IlBojIP;IkBt+HA;MAxHI,wBA0CG;IlBujIP;IkBz+HA;MAxHI,sBA0CG;IlB0jIP;IkB5+HA;MAxHI,wBA0CG;IlB6jIP;IkB/+HA;MAxHI,sBA0CG;IlBgkIP;IkBl/HA;MAxHI,sBA0CG;IlBmkIP;IkBr/HA;MAxHI,sBA0CG;IlBskIP;IkBx/HA;MAxHI,4BA0CG;IlBykIP;IkB3/HA;MAxHI,2BA0CG;IlB4kIP;IkB9/HA;MAxHI,yBA0CG;IlB+kIP;IkBjgIA;MAxHI,2BA0CG;IlBklIP;IkBpgIA;MAxHI,yBA0CG;IlBqlIP;IkBvgIA;MAxHI,6BA0CG;IlBwlIP;IkB1gIA;MAxHI,4BA0CG;IlB2lIP;IkB7gIA;MAxHI,yBA0CG;IlB8lIP;IkBhhIA;MAxHI,UA0CG;IlBimIP;IkBnhIA;MAxHI,gBA0CG;IlBomIP;IkBthIA;MAxHI,eA0CG;IlBumIP;IkBzhIA;MAxHI,aA0CG;IlB0mIP;IkB5hIA;MAxHI,eA0CG;IlB6mIP;IkB/hIA;MAxHI,aA0CG;IlBgnIP;IkBliIA;MAxHI,iBA0CG;IlBmnIP;IkBriIA;MAxHI,uBA0CG;IlBsnIP;IkBxiIA;MAxHI,sBA0CG;IlBynIP;IkB3iIA;MAxHI,oBA0CG;IlB4nIP;IkB9iIA;MAxHI,sBA0CG;IlB+nIP;IkBjjIA;MAxHI,oBA0CG;IlBkoIP;IkBpjIA;MAxHI,gBA0CG;IlBqoIP;IkBvjIA;MAxHI,sBA0CG;IlBwoIP;IkB1jIA;MAxHI,qBA0CG;IlB2oIP;IkB7jIA;MAxHI,mBA0CG;IlB8oIP;IkBhkIA;MAxHI,qBA0CG;IlBipIP;IkBnkIA;MAxHI,mBA0CG;IlBopIP;IkBtkIA;MAxHI,sBA0CG;IlBupIP;IkBzkIA;MAxHI,4BA0CG;IlB0pIP;IkB5kIA;MAxHI,2BA0CG;IlB6pIP;IkB/kIA;MAxHI,yBA0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IkB9zIA;MAxHI,6BA0CG;IlB+4IP;IkBj0IA;MAxHI,6BA0CG;IlBk5IP;IkBp0IA;MAxHI,oBA0CG;IlBq5IP;IkBv0IA;MAxHI,kBA0CG;IlBw5IP;IkB10IA;MAxHI,qBA0CG;IlB25IP;IkB70IA;MAxHI,sBA0CG;IlB85IP;IkBh1IA;MAxHI,wBA0CG;IlBi6IP;IkBn1IA;MAxHI,sBA0CG;IlBo6IP;IkBt1IA;MAxHI,oBA0CG;IlBu6IP;IkBz1IA;MAxHI,uBA0CG;IlB06IP;IkB51IA;MAxHI,qBA0CG;IlB66IP;IkB/1IA;MAxHI,mBA0CG;IlBg7IP;IkBl2IA;MAxHI,qBA0CG;IlBm7IP;IkBr2IA;MAxHI,oBA0CG;IlBs7IP;IkBx2IA;MAxHI,yBA0CG;IlBy7IP;IkB32IA;MAxHI,uBA0CG;IlB47IP;IkB92IA;MAxHI,qBA0CG;IlB+7IP;IkBj3IA;MAxHI,4BA0CG;IlBk8IP;IkBp3IA;MAxHI,2BA0CG;IlBq8IP;IkBv3IA;MAxHI,sBA0CG;IlBw8IP;IkB13IA;MAxHI,gBA0CG;IlB28IP;IkB73IA;MAxHI,sBA0CG;IlB88IP;IkBh4IA;MAxHI,oBA0CG;IlBi9IP;IkBn4IA;MAxHI,kBA0CG;IlBo9IP;IkBt4IA;MAxHI,oBA0CG;IlBu9IP;IkBz4IA;MAxHI,mBA0CG;IlB09IP;IkB54IA;MAxHI,kBA0CG;IlB69IP;IkB/4IA;MAxHI,gBA0CG;IlBg+IP;IkBl5IA;MAxHI,mBA0CG;IlBm+IP;IkBr5IA;MAxHI,oBA0CG;IlBs+IP;IkBx5IA;MAxHI,qCA0CG;IlBy+IP;IkB35IA;MAxHI,qCA0CG;IlB4+IP;IkB95IA;MAxHI,qCA0CG;IlB++IP;IkBj6IA;MAxHI,qCA0CG;IlBk/IP;IkBp6IA;MAxHI,mBA0CG;IlBq/IP;IkBv6IA;MAxHI,mBA+CO;IlBm/IX;IkB16IA;MAxHI,sBA+CO;IlBs/IX;IkB76IA;MAxHI,qBA+CO;IlBy/IX;IkBh7IA;MAxHI,SA0CG;IlBigJP;IkBn7IA;MAxHI,QA0CG;IlBogJP;IkBt7IA;MAxHI,QA0CG;IlBugJP;IkBz7IA;MAxHI,QA0CG;IlB0gJP;IkB57IA;MAxHI,QA0CG;IlB6gJP;IkB/7IA;MAxHI,QA0CG;IlBghJP;IkBl8IA;MAxHI,QA0CG;IlBmhJP;IkBr8IA;MAxHI,QA0CG;IlBshJP;IkBx8IA;MAxHI,SA0CG;IlByhJP;IkB38IA;MAxHI,eA0CG;IlB4hJP;IkB98IA;MAxHI,cA0CG;IlB+hJP;IkBj9IA;MAxHI,YA0CG;IlBkiJP;IkBp9IA;MAxHI,cA0CG;IlBqiJP;IkBv9IA;MAxHI,YA0CG;IlBwiJP;IkB19IA;MAxHI,YA0CG;IlB2iJP;IkB79IA;MAxHI,gBA0CG;IlB8iJP;IkBh+IA;MAxHI,sBA0CG;IlBijJP;IkBn+IA;MAxHI,qBA0CG;IlBojJP;IkBt+IA;MAxHI,mBA0CG;IlBujJP;IkBz+IA;MAxHI,qBA0CG;IlB0jJP;IkB5+IA;MAxHI,mBA0CG;IlB6jJP;IkB/+IA;MAxHI,mBA0CG;IlBgkJP;IkBl/IA;MAxHI,eA0CG;IlBmkJP;IkBr/IA;MAxHI,qBA0CG;IlBskJP;IkBx/IA;MAxHI,oBA0CG;IlBykJP;IkB3/IA;MAxHI,kBA0CG;IlB4kJP;IkB9/IA;MAxHI,oBA0CG;IlB+kJP;IkBjgJA;MAxHI,kBA0CG;IlBklJP;IkBpgJA;MAxHI,kBA0CG;IlBqlJP;IkBvgJA;MAxHI,qBA0CG;IlBwlJP;IkB1gJA;MAxHI,2BA0CG;IlB2lJP;IkB7gJA;MAxHI,0BA0CG;IlB8lJP;IkBhhJA;MAxHI,wBA0CG;IlBimJP;IkBnhJA;MAxHI,0BA0CG;IlBomJP;IkBthJA;MAxHI,wBA0CG;IlBumJP;IkBzhJA;MAxHI,wBA0CG;IlB0mJP;IkB5hJA;MAxHI,oBA0CG;IlB6mJP;IkB/hJA;MAxHI,0BA0CG;IlBgnJP;IkBliJA;MAxHI,yBA0CG;IlBmnJP;IkBriJA;MAxHI,uBA0CG;IlBsnJP;IkBxiJA;MAxHI,yBA0CG;IlBynJP;IkB3iJA;MAxHI,uBA0CG;IlB4nJP;IkB9iJA;MAxHI,uBA0CG;IlB+nJP;IkBjjJA;MAxHI,mBA0CG;IlBkoJP;IkBpjJA;MAxHI,yBA0CG;IlBqoJP;IkBvjJA;MAxHI,wBA0CG;IlBwoJP;IkB1jJA;MAxHI,sBA0CG;IlB2oJP;IkB7jJA;MAxHI,wBA0CG;IlB8oJP;IkBhkJA;MAxHI,sBA0CG;IlBipJP;IkBnkJA;MAxHI,sBA0CG;IlBopJP;IkBtkJA;MAxHI,sBA0CG;IlBupJP;IkBzkJA;MAxHI,4BA0CG;IlB0pJP;IkB5kJA;MAxHI,2BA0CG;IlB6pJP;IkB/kJA;MAxHI,yBA0CG;IlBgqJP;IkBllJA;MAxHI,2BA0CG;IlBmqJP;IkBrlJA;MAxHI,yBA0CG;IlBsqJP;IkBxlJA;MAxHI,6BA0CG;IlByqJP;IkB3lJA;MAxHI,4BA0CG;IlB4qJP;IkB9lJA;MAxHI,yBA0CG;IlB+qJP;IkBjmJA;MAxHI,UA0CG;IlBkrJP;IkBpmJA;MAxHI,gBA0CG;IlBqrJP;IkBvmJA;MAxHI,eA0CG;IlBwrJP;IkB1mJA;MAxHI,aA0CG;IlB2rJP;IkB7mJA;MAxHI,eA0CG;IlB8rJP;IkBhnJA;MAxHI,aA0CG;IlBisJP;IkBnnJA;MAxHI,iBA0CG;IlBosJP;IkBtnJA;MAxHI,uBA0CG;IlBusJP;IkBznJA;MAxHI,sBA0CG;IlB0sJP;IkB5nJA;MAxHI,oBA0CG;IlB6sJP;IkB/nJA;MAxHI,sBA0CG;IlBgtJP;IkBloJA;MAxHI,oBA0CG;IlBmtJP;IkBroJA;MAxHI,gBA0CG;IlBstJP;IkBxoJA;MAxHI,sBA0CG;IlBytJP;IkB3oJA;MAxHI,qBA0CG;IlB4tJP;IkB9oJA;MAxHI,mBA0CG;IlB+tJP;IkBjpJA;MAxHI,qBA0CG;IlBkuJP;IkBppJA;MAxHI,mBA0CG;IlBquJP;IkBvpJA;MAxHI,sBA0CG;IlBwuJP;IkB1pJA;MAxHI,4BA0CG;IlB2uJP;IkB7pJA;MAxHI,2BA0CG;IlB8uJP;IkBhqJA;MAxHI,yBA0CG;IlBivJP;IkBnqJA;MAxHI,2BA0CG;IlBovJP;IkBtqJA;MAxHI,yBA0CG;IlBuvJP;IkBzqJA;MAxHI,qBA0CG;IlB0vJP;IkB5qJA;MAxHI,2BA0CG;IlB6vJP;IkB/qJA;MAxHI,0BA0CG;IlBgwJP;IkBlrJA;MAxHI,wBA0CG;IlBmwJP;IkBrrJA;MAxHI,0BA0CG;IlBswJP;IkBxrJA;MAxHI,wBA0CG;IlBywJP;IkB3rJA;MAxHI,oBA0CG;IlB4wJP;IkB9rJA;MAxHI,0BA0CG;IlB+wJP;IkBjsJA;MAxHI,yBA0CG;IlBkxJP;IkBpsJA;MAxHI,uBA0CG;IlBqxJP;IkBvsJA;MAxHI,yBA0CG;IlBwxJP;IkB1sJA;MAxHI,uBA0CG;IlB2xJP;IkB7sJA;MAxHI,uBA0CG;IlB8xJP;IkBhtJA;MAxHI,6BA0CG;IlBiyJP;IkBntJA;MAxHI,4BA0CG;IlBoyJP;IkBttJA;MAxHI,0BA0CG;IlBuyJP;IkBztJA;MAxHI,4BA0CG;IlB0yJP;IkB5tJA;MAxHI,0BA0CG;IlB6yJP;IkB/tJA;MAxHI,MA0CG;IlBgzJP;IkBluJA;MAxHI,YA0CG;IlBmzJP;IkBruJA;MAxHI,WA0CG;IlBszJP;IkBxuJA;MAxHI,SA0CG;IlByzJP;IkB3uJA;MAxHI,WA0CG;IlB4zJP;IkB9uJA;MAxHI,SA0CG;IlB+zJP;IkBjvJA;MAxHI,UA0CG;IlBk0JP;IkBpvJA;MAxHI,gBA0CG;IlBq0JP;IkBvvJA;MAxHI,eA0CG;IlBw0JP;IkB1vJA;MAxHI,aA0CG;IlB20JP;IkB7vJA;MAxHI,eA0CG;IlB80JP;IkBhwJA;MAxHI,aA0CG;IlBi1JP;IkBnwJA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBo1JP;IkBtwJA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBu1JP;IkBzwJA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB01JP;IkB5wJA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB61JP;IkB/wJA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBg2JP;IkBlxJA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBm2JP;IkBrxJA;MAxHI,iBA0CG;IlBs2JP;IkBxxJA;MAxHI,eA0CG;IlBy2JP;IkB3xJA;MAxHI,kBA0CG;IlB42JP;EACF;EOp2JE;IWqEA;MAxHI,mBA0CG;IlBi3JP;IkBnyJA;MAxHI,iBA0CG;IlBo3JP;IkBtyJA;MAxHI,WA0CG;IlBu3JP;IkBzyJA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlB03JP;IkB5yJA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlB63JP;IkB/yJA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBg4JP;IkBlzJA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlBm4JP;IkBrzJA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBs4JP;IkBxzJA;MAxHI,eA+CO;IlBo4JX;IkB3zJA;MAxHI,qBA+CO;IlBu4JX;IkB9zJA;MAxHI,cA+CO;IlB04JX;IkBj0JA;MAxHI,aA+CO;IlB64JX;IkBp0JA;MAxHI,oBA+CO;IlBg5JX;IkBv0JA;MAxHI,cA+CO;IlBm5JX;IkB10JA;MAxHI,kBA+CO;IlBs5JX;IkB70JA;MAxHI,mBA+CO;IlBy5JX;IkBh1JA;MAxHI,aA+CO;IlB45JX;IkBn1JA;MAxHI,oBA+CO;IlB+5JX;IkBt1JA;MAxHI,iBA+CO;IlBk6JX;IkBz1JA;MAxHI,kBA+CO;IlBq6JX;IkB51JA;MAxHI,aA+CO;IlBw6JX;IkB/1JA;MAxHI,cA0CG;IlBg7JP;IkBl2JA;MAxHI,mBA+CO;IlB86JX;IkBr2JA;MAxHI,sBA+CO;IlBi7JX;IkBx2JA;MAxHI,2BA+CO;IlBo7JX;IkB32JA;MAxHI,8BA+CO;IlBu7JX;IkB92JA;MAxHI,YA0CG;IlB+7JP;IkBj3JA;MAxHI,YA0CG;IlBk8JP;IkBp3JA;MAxHI,cA0CG;IlBq8JP;IkBv3JA;MAxHI,cA0CG;IlBw8JP;IkB13JA;MAxHI,eA+CO;IlBs8JX;IkB73JA;MAxHI,iBA+CO;IlBy8JX;IkBh4JA;MAxHI,uBA+CO;IlB48JX;IkBn4JA;MAxHI,2BA0CG;IlBo9JP;IkBt4JA;MAxHI,yBA0CG;IlBu9JP;IkBz4JA;MAxHI,uBA0CG;IlB09JP;IkB54JA;MAxHI,8BA0CG;IlB69JP;IkB/4JA;MAxHI,6BA0CG;IlBg+JP;IkBl5JA;MAxHI,6BA0CG;IlBm+JP;IkBr5JA;MAxHI,oBA0CG;IlBs+JP;IkBx5JA;MAxHI,kBA0CG;IlBy+JP;IkB35JA;MAxHI,qBA0CG;IlB4+JP;IkB95JA;MAxHI,sBA0CG;IlB++JP;IkBj6JA;MAxHI,wBA0CG;IlBk/JP;IkBp6JA;MAxHI,sBA0CG;IlBq/JP;IkBv6JA;MAxHI,oBA0CG;IlBw/JP;IkB16JA;MAxHI,uBA0CG;IlB2/JP;IkB76JA;MAxHI,qBA0CG;IlB8/JP;IkBh7JA;MAxHI,mBA0CG;IlBigKP;IkBn7JA;MAxHI,qBA0CG;IlBogKP;IkBt7JA;MAxHI,oBA0CG;IlBugKP;IkBz7JA;MAxHI,yBA0CG;IlB0gKP;IkB57JA;MAxHI,uBA0CG;IlB6gKP;IkB/7JA;MAxHI,qBA0CG;IlBghKP;IkBl8JA;MAxHI,4BA0CG;IlBmhKP;IkBr8JA;MAxHI,2BA0CG;IlBshKP;IkBx8JA;MAxHI,sBA0CG;IlByhKP;IkB38JA;MAxHI,gBA0CG;IlB4hKP;IkB98JA;MAxHI,sBA0CG;IlB+hKP;IkBj9JA;MAxHI,oBA0CG;IlBkiKP;IkBp9JA;MAxHI,kBA0CG;IlBqiKP;IkBv9JA;MAxHI,oBA0CG;IlBwiKP;IkB19JA;MAxHI,mBA0CG;IlB2iKP;IkB79JA;MAxHI,kBA0CG;IlB8iKP;IkBh+JA;MAxHI,gBA0CG;IlBijKP;IkBn+JA;MAxHI,mBA0CG;IlBojKP;IkBt+JA;MAxHI,oBA0CG;IlBujKP;IkBz+JA;MAxHI,qCA0CG;IlB0jKP;IkB5+JA;MAxHI,qCA0CG;IlB6jKP;IkB/+JA;MAxHI,qCA0CG;IlBgkKP;IkBl/JA;MAxHI,qCA0CG;IlBmkKP;IkBr/JA;MAxHI,mBA0CG;IlBskKP;IkBx/JA;MAxHI,mBA+CO;IlBokKX;IkB3/JA;MAxHI,sBA+CO;IlBukKX;IkB9/JA;MAxHI,qBA+CO;IlB0kKX;IkBjgKA;MAxHI,SA0CG;IlBklKP;IkBpgKA;MAxHI,QA0CG;IlBqlKP;IkBvgKA;MAxHI,QA0CG;IlBwlKP;IkB1gKA;MAxHI,QA0CG;IlB2lKP;IkB7gKA;MAxHI,QA0CG;IlB8lKP;IkBhhKA;MAxHI,QA0CG;IlBimKP;IkBnhKA;MAxHI,QA0CG;IlBomKP;IkBthKA;MAxHI,QA0CG;IlBumKP;IkBzhKA;MAxHI,SA0CG;IlB0mKP;IkB5hKA;MAxHI,eA0CG;IlB6mKP;IkB/hKA;MAxHI,cA0CG;IlBgnKP;IkBliKA;MAxHI,YA0CG;IlBmnKP;IkBriKA;MAxHI,cA0CG;IlBsnKP;IkBxiKA;MAxHI,YA0CG;IlBynKP;IkB3iKA;MAxHI,YA0CG;IlB4nKP;IkB9iKA;MAxHI,gBA0CG;IlB+nKP;IkBjjKA;MAxHI,sBA0CG;IlBkoKP;IkBpjKA;MAxHI,qBA0CG;IlBqoKP;IkBvjKA;MAxHI,mBA0CG;IlBwoKP;IkB1jKA;MAxHI,qBA0CG;IlB2oKP;IkB7jKA;MAxHI,mBA0CG;IlB8oKP;IkBhkKA;MAxHI,mBA0CG;IlBipKP;IkBnkKA;MAxHI,eA0CG;IlBopKP;IkBtkKA;MAxHI,qBA0CG;IlBupKP;IkBzkKA;MAxHI,oBA0CG;IlB0pKP;IkB5kKA;MAxHI,kBA0CG;IlB6pKP;IkB/kKA;MAxHI,oBA0CG;IlBgqKP;IkBllKA;MAxHI,kBA0CG;IlBmqKP;IkBrlKA;MAxHI,kBA0CG;IlBsqKP;IkBxlKA;MAxHI,qBA0CG;IlByqKP;IkB3lKA;MAxHI,2BA0CG;IlB4qKP;IkB9lKA;MAxHI,0BA0CG;IlB+qKP;IkBjmKA;MAxHI,wBA0CG;IlBkrKP;IkBpmKA;MAxHI,0BA0CG;IlBqrKP;IkBvmKA;MAxHI,wBA0CG;IlBwrKP;IkB1mKA;MAxHI,wBA0CG;IlB2rKP;IkB7mKA;MAxHI,oBA0CG;IlB8rKP;IkBhnKA;MAxHI,0BA0CG;IlBisKP;IkBnnKA;MAxHI,yBA0CG;IlBosKP;IkBtnKA;MAxHI,uBA0CG;IlBusKP;IkBznKA;MAxHI,yBA0CG;IlB0sKP;IkB5nKA;MAxHI,uBA0CG;IlB6sKP;IkB/nKA;MAxHI,uBA0CG;IlBgtKP;IkBloKA;MAxHI,mBA0CG;IlBmtKP;IkBroKA;MAxHI,yBA0CG;IlBstKP;IkBxoKA;MAxHI,wBA0CG;IlBytKP;IkB3oKA;MAxHI,sBA0CG;IlB4tKP;IkB9oKA;MAxHI,wBA0CG;IlB+tKP;IkBjpKA;MAxHI,sBA0CG;IlBkuKP;IkBppKA;MAxHI,sBA0CG;IlBquKP;IkBvpKA;MAxHI,sBA0CG;IlBwuKP;IkB1pKA;MAxHI,4BA0CG;IlB2uKP;IkB7pKA;MAxHI,2BA0CG;IlB8uKP;IkBhqKA;MAxHI,yBA0CG;IlBivKP;IkBnqKA;MAxHI,2BA0CG;IlBovKP;IkBtqKA;MAxHI,yBA0CG;IlBuvKP;IkBzqKA;MAxHI,6BA0CG;IlB0vKP;IkB5qKA;MAxHI,4BA0CG;IlB6vKP;IkB/qKA;MAxHI,yBA0CG;IlBgwKP;IkBlrKA;MAxHI,UA0CG;IlBmwKP;IkBrrKA;MAxHI,gBA0CG;IlBswKP;IkBxrKA;MAxHI,eA0CG;IlBywKP;IkB3rKA;MAxHI,aA0CG;IlB4wKP;IkB9rKA;MAxHI,eA0CG;IlB+wKP;IkBjsKA;MAxHI,aA0CG;IlBkxKP;IkBpsKA;MAxHI,iBA0CG;IlBqxKP;IkBvsKA;MAxHI,uBA0CG;IlBwxKP;IkB1sKA;MAxHI,sBA0CG;IlB2xKP;IkB7sKA;MAxHI,oBA0CG;IlB8xKP;IkBhtKA;MAxHI,sBA0CG;IlBiyKP;IkBntKA;MAxHI,oBA0CG;IlBoyKP;IkBttKA;MAxHI,gBA0CG;IlBuyKP;IkBztKA;MAxHI,sBA0CG;IlB0yKP;IkB5tKA;MAxHI,qBA0CG;IlB6yKP;IkB/tKA;MAxHI,mBA0CG;IlBgzKP;IkBluKA;MAxHI,qBA0CG;IlBmzKP;IkBruKA;MAxHI,mBA0CG;IlBszKP;IkBxuKA;MAxHI,sBA0CG;IlByzKP;IkB3uKA;MAxHI,4BA0CG;IlB4zKP;IkB9uKA;MAxHI,2BA0CG;IlB+zKP;IkBjvKA;MAxHI,yBA0CG;IlBk0KP;IkBpvKA;MAxHI,2BA0CG;IlBq0KP;IkBvvKA;MAxHI,yBA0CG;IlBw0KP;IkB1vKA;MAxHI,qBA0CG;IlB20KP;IkB7vKA;MAxHI,2BA0CG;IlB80KP;IkBhwKA;MAxHI,0BA0CG;IlBi1KP;IkBnwKA;MAxHI,wBA0CG;IlBo1KP;IkBtwKA;MAxHI,0BA0CG;IlBu1KP;IkBzwKA;MAxHI,wBA0CG;IlB01KP;IkB5wKA;MAxHI,oBA0CG;IlB61KP;IkB/wKA;MAxHI,0BA0CG;IlBg2KP;IkBlxKA;MAxHI,yBA0CG;IlBm2KP;IkBrxKA;MAxHI,uBA0CG;IlBs2KP;IkBxxKA;MAxHI,yBA0CG;IlBy2KP;IkB3xKA;MAxHI,uBA0CG;IlB42KP;IkB9xKA;MAxHI,uBA0CG;IlB+2KP;IkBjyKA;MAxHI,6BA0CG;IlBk3KP;IkBpyKA;MAxHI,4BA0CG;IlBq3KP;IkBvyKA;MAxHI,0BA0CG;IlBw3KP;IkB1yKA;MAxHI,4BA0CG;IlB23KP;IkB7yKA;MAxHI,0BA0CG;IlB83KP;IkBhzKA;MAxHI,MA0CG;IlBi4KP;IkBnzKA;MAxHI,YA0CG;IlBo4KP;IkBtzKA;MAxHI,WA0CG;IlBu4KP;IkBzzKA;MAxHI,SA0CG;IlB04KP;IkB5zKA;MAxHI,WA0CG;IlB64KP;IkB/zKA;MAxHI,SA0CG;IlBg5KP;IkBl0KA;MAxHI,UA0CG;IlBm5KP;IkBr0KA;MAxHI,gBA0CG;IlBs5KP;IkBx0KA;MAxHI,eA0CG;IlBy5KP;IkB30KA;MAxHI,aA0CG;IlB45KP;IkB90KA;MAxHI,eA0CG;IlB+5KP;IkBj1KA;MAxHI,aA0CG;IlBk6KP;IkBp1KA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBq6KP;IkBv1KA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBw6KP;IkB11KA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB26KP;IkB71KA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB86KP;IkBh2KA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBi7KP;IkBn2KA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBo7KP;IkBt2KA;MAxHI,iBA0CG;IlBu7KP;IkBz2KA;MAxHI,eA0CG;IlB07KP;IkB52KA;MAxHI,kBA0CG;IlB67KP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 1rem;\n    }\n    .sm\\:m-4 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-5 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 1rem;\n    }\n    .sm\\:p-4 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-5 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 1rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-5 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 1rem;\n    }\n    .md\\:m-4 {\n      margin: 1.5rem;\n    }\n    .md\\:m-5 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 1rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-5 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 1rem;\n    }\n    .md\\:p-4 {\n      padding: 1.5rem;\n    }\n    .md\\:p-5 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 1rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-5 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 1rem;\n    }\n    .md\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-5 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 1rem;\n    }\n    .lg\\:m-4 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-5 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 1rem;\n    }\n    .lg\\:p-4 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-5 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 1rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-5 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 1rem;\n    }\n    .xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-5 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 1rem;\n    }\n    .xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-5 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","bootstrap-utilities.css","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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AxHI,gBA+CO;ElBotBb;EkB3oBE;IAxHI,kBA+CO;ElButBb;EkB9oBE;IAxHI,mBA+CO;ElB0tBb;EkBjpBE;IAxHI,kBA+CO;ElB6tBb;EkBppBE;IAxHI,gBA+CO;ElBguBb;EkBvpBE;IAxHI,kBA+CO;ElBmuBb;EkB1pBE;IAxHI,mBA+CO;ElBsuBb;EkB7pBE;IAxHI,kBA+CO;ElByuBb;EkBhqBE;IAxHI,2BA0CG;ElBivBT;EkBnqBE;IAxHI,oBA0CG;ElBovBT;EkBtqBE;IAxHI,eA+CO;ElBkvBb;EkBzqBE;IAxHI,qBA+CO;ElBqvBb;EkB5qBE;IAxHI,cA+CO;ElBwvBb;EkB/qBE;IAxHI,aA+CO;ElB2vBb;EkBlrBE;IAxHI,oBA+CO;ElB8vBb;EkBrrBE;IAxHI,cA+CO;ElBiwBb;EkBxrBE;IAxHI,kBA+CO;ElBowBb;EkB3rBE;IAxHI,mBA+CO;ElBuwBb;EkB9rBE;IAxHI,aA+CO;ElB0wBb;EkBjsBE;IAxHI,oBA+CO;ElB6wBb;EkBpsBE;IAxHI,iBA+CO;ElBgxBb;EkBvsBE;IAxHI,kBA+CO;ElBmxBb;EkB1sBE;IAxHI,aA+CO;ElBsxBb;EkB7sBE;IAxHI,gCA0CG;ElB8xBT;EkBhtBE;IAxHI,mCA0CG;ElBiyBT;EkBntBE;IAxHI,mCA0CG;ElBoyBT;EkBttBE;IAxHI,gBA0CG;ElBuyBT;EkBztBE;IAxHI,iKA0CG;ElB0yBT;EkB5tBE;IAxHI,qKA0CG;ElB6yBT;EkB/tBE;IAxHI,mKA0CG;ElBgzBT;EkBluBE;IAxHI,+JA0CG;ElBmzBT;EkBruBE;IAxHI,qKA0CG;ElBszBT;EkBxuBE;IAxHI,iKA0CG;ElByzBT;EkB3uBE;IAxHI,qHA0CG;ElB4zBT;EkB9uBE;IAxHI,qHA0CG;ElB+zBT;EkBjvBE;IAxHI,gBA+CO;ElB6zBb;EkBpvBE;IAxHI,kBA+CO;ElBg0Bb;EkBvvBE;IAxHI,kBA+CO;ElBm0Bb;EkB1vBE;IAxHI,eA+CO;ElBs0Bb;EkB7vBE;IAxHI,gBA+CO;ElBy0Bb;EkBhwBE;IAxHI,MA0CG;ElBi1BT;EkBnwBE;IAxHI,QA0CG;ElBo1BT;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BA+CO;ElB+rCb;EkBtnCE;IAxHI,2BA0CG;ElBusCT;EkBznCE;IAxHI,yBA0CG;ElB0sCT;EkB5nCE;IAxHI,uBA0CG;ElB6sCT;EkB/nCE;IAxHI,8BA0CG;ElBgtCT;EkBloCE;IAxHI,6BA0CG;ElBmtCT;EkBroCE;IAxHI,6BA0CG;ElBstCT;EkBxoCE;IAxHI,oBA0CG;ElBytCT;EkB3oCE;IAxHI,kBA0CG;ElB4tCT;EkB9oCE;IAxHI,qBA0CG;ElB+tCT;EkBjpCE;IAxHI,sBA0CG;ElBkuCT;EkBppCE;IAxHI,wBA0CG;ElBquCT;EkBvpCE;IAxHI,sBA0CG;ElBwuCT;EkB1pCE;IAxHI,oBA0CG;ElB2uCT;EkB7pCE;IAxHI,uBA0CG;ElB8uCT;EkBhqCE;IAxHI,qBA0CG;ElBivCT;EkBnqCE;IAxHI,mBA0CG;ElBovCT;EkBtqCE;IAxHI,qBA0CG;ElBuvCT;EkBzqCE;IAxHI,oBA0CG;ElB0vCT;EkB5qCE;IAxHI,yBA0CG;ElB6vCT;EkB/qCE;IAxHI,uBA0CG;ElBgwCT;EkBlrCE;IAxHI,qBA0CG;ElBmwCT;EkBrrCE;IAxHI,4BA0CG;ElBswCT;EkBxrCE;IAxHI,2BA0CG;ElBywCT;EkB3rCE;IAxHI,sBA0CG;ElB4wCT;EkB9rCE;IAxHI,gBA0CG;ElB+wCT;EkBjsCE;IAxHI,sBA0CG;ElBkxCT;EkBpsCE;IAxHI,oBA0CG;ElBqxCT;EkBvsCE;IAxHI,kBA0CG;ElBwxCT;EkB1sCE;IAxHI,oBA0CG;ElB2xCT;EkB7sCE;IAxHI,mBA0CG;ElB8xCT;EkBhtCE;IAxHI,kBA0CG;ElBiyCT;EkBntCE;IAxHI,gBA0CG;ElBoyCT;EkBttCE;IAxHI,mBA0CG;ElBuyCT;EkBztCE;IAxHI,oBA0CG;ElB0yCT;EkB5tCE;IAxHI,0BA0CG;ElB6yCT;EkB/tCE;IAxHI,qCA0CG;ElBgzCT;EkBluCE;IAxHI,qCA0CG;ElBmzCT;EkBruCE;IAxHI,qCA0CG;ElBszCT;EkBxuCE;IAxHI,qCA0CG;ElByzCT;EkB3uCE;IAxHI,mBA0CG;ElB4zCT;EkB9uCE;IAxHI,mBA+CO;ElB0zCb;EkBjvCE;IAxHI,sBA+CO;ElB6zCb;EkBpvCE;IAxHI,qBA+CO;ElBg0Cb;EkBvvCE;IAxHI,SA0CG;ElBw0CT;EkB1vCE;IAxHI,QA0CG;ElB20CT;EkB7vCE;IAxHI,QA0CG;ElB80CT;EkBhwCE;IAxHI,QA0CG;ElBi1CT;EkBnwCE;IAxHI,QA0CG;ElBo1CT;EkBtwCE;IAxHI,QA0CG;ElBu1CT;EkBzwCE;IAxHI,QA0CG;ElB01CT;EkB5wCE;IAxHI,QA0CG;ElB61CT;EkB/wCE;IAxHI,SA0CG;ElBg2CT;EkBlxCE;IAxHI,eA0CG;ElBm2CT;EkBrxCE;IAxHI,cA0CG;ElBs2CT;EkBxxCE;IAxHI,eA0CG;ElBy2CT;EkB3xCE;IAxHI,YA0CG;ElB42CT;EkB9xCE;IAxHI,eA0CG;ElB+2CT;EkBjyCE;IAxHI,cA0CG;ElBk3CT;EkBpyCE;IAxHI,YA0CG;ElBq3CT;EkBvyCE;IAxHI,cA0CG;ElBw3CT;EkB1yCE;IAxHI,YA0CG;ElB23CT;EkB7yCE;IAxHI,YA0CG;ElB83CT;EkBhzCE;IAxHI,gBA0CG;ElBi4CT;EkBnzCE;IAxHI,sBA0CG;ElBo4CT;EkBtzCE;IAxHI,qBA0CG;ElBu4CT;EkBzzCE;IAxHI,sBA0CG;ElB04CT;EkB5zCE;IAxHI,mBA0CG;ElB64CT;EkB/zCE;IAxHI,sBA0CG;ElBg5CT;EkBl0CE;IAxHI,qBA0CG;ElBm5CT;EkBr0CE;IAxHI,mBA0CG;ElBs5CT;EkBx0CE;IAxHI,qBA0CG;ElBy5CT;EkB30CE;IAxHI,mBA0CG;ElB45CT;EkB90CE;IAxHI,mBA0CG;ElB+5CT;EkBj1CE;IAxHI,eA0CG;ElBk6CT;EkBp1CE;IAxHI,qBA0CG;ElBq6CT;EkBv1CE;IAxHI,oBA0CG;ElBw6CT;EkB11CE;IAxHI,qBA0CG;ElB26CT;EkB71CE;IAxHI,kBA0CG;ElB86CT;EkBh2CE;IAxHI,qBA0CG;ElBi7CT;EkBn2CE;IAxHI,oBA0CG;ElBo7CT;EkBt2CE;IAxHI,kBA0CG;ElBu7CT;EkBz2CE;IAxHI,oBA0CG;ElB07CT;EkB52CE;IAxHI,kBA0CG;ElB67CT;EkB/2CE;IAxHI,kBA0CG;ElBg8CT;EkBl3CE;IAxHI,qBA0CG;ElBm8CT;EkBr3CE;IAxHI,2BA0CG;ElBs8CT;EkBx3CE;IAxHI,0BA0CG;ElBy8CT;EkB33CE;IAxHI,2BA0CG;ElB48CT;EkB93CE;IAxHI,wBA0CG;ElB+8CT;EkBj4CE;IAxHI,2BA0CG;ElBk9CT;EkBp4CE;IAxHI,0BA0CG;ElBq9CT;EkBv4CE;IAxHI,wBA0CG;ElBw9CT;EkB14CE;IAxHI,0BA0CG;ElB29CT;EkB74CE;IAxHI,wBA0CG;ElB89CT;EkBh5CE;IAxHI,wBA0CG;ElBi+CT;EkBn5CE;IAxHI,oBA0CG;ElBo+CT;EkBt5CE;IAxHI,0BA0CG;ElBu+CT;EkBz5CE;IAxHI,yBA0CG;ElB0+CT;EkB55CE;IAxHI,0BA0CG;ElB6+CT;EkB/5CE;IAxHI,uBA0CG;ElBg/CT;EkBl6CE;IAxHI,0BA0CG;ElBm/CT;EkBr6CE;IAxHI,yBA0CG;ElBs/CT;EkBx6CE;IAxHI,uBA0CG;ElBy/CT;EkB36CE;IAxHI,yBA0CG;ElB4/CT;EkB96CE;IAxHI,uBA0CG;ElB+/CT;EkBj7CE;IAxHI,uBA0CG;ElBkgDT;EkBp7CE;IAxHI,mBA0CG;ElBqgDT;EkBv7CE;IAxHI,yBA0CG;ElBwgDT;EkB17CE;IAxHI,wBA0CG;ElB2gDT;EkB77CE;IAxHI,yBA0CG;ElB8gDT;EkBh8CE;IAxHI,sBA0CG;ElBihDT;EkBn8CE;IAxHI,yBA0CG;ElBohDT;EkBt8CE;IAxHI,wBA0CG;ElBuhDT;EkBz8CE;IAxHI,sBA0CG;ElB0hDT;EkB58CE;IAxHI,wBA0CG;ElB6hDT;EkB/8CE;IAxHI,sBA0CG;ElBgiDT;EkBl9CE;IAxHI,sBA0CG;ElBmiDT;EkBr9CE;IAxHI,sBA0CG;ElBsiDT;EkBx9CE;IAxHI,4BA0CG;ElByiDT;EkB39CE;IAxHI,2BA0CG;ElB4iDT;EkB99CE;IAxHI,4BA0CG;ElB+iDT;EkBj+CE;IAxHI,yBA0CG;ElBkjDT;EkBp+CE;IAxHI,4BA0CG;ElBqjDT;EkBv+CE;IAxHI,2BA0CG;ElBwjDT;EkB1+CE;IAxHI,yBA0CG;ElB2jDT;EkB7+CE;IAxHI,2BA0CG;ElB8jDT;EkBh/CE;IAxHI,yBA0CG;ElBikDT;EkBn/CE;IAxHI,6BA0CG;ElBokDT;EkBt/CE;IAxHI,4BA0CG;ElBukDT;EkBz/CE;IAxHI,yBA0CG;ElB0kDT;EkB5/CE;IAxHI,UA0CG;ElB6kDT;EkB//CE;IAxHI,gBA0CG;ElBglDT;EkBlgDE;IAxHI,eA0CG;ElBmlDT;EkBrgDE;IAxHI,gBA0CG;ElBslDT;EkBxgDE;IAxHI,aA0CG;ElBylDT;EkB3gDE;IAxHI,gBA0CG;ElB4lDT;EkB9gDE;IAxHI,eA0CG;ElB+lDT;EkBjhDE;IAxHI,aA0CG;ElBkmDT;EkBphDE;IAxHI,eA0CG;ElBqmDT;EkBvhDE;IAxHI,aA0CG;ElBwmDT;EkB1hDE;IAxHI,iBA0CG;ElB2mDT;EkB7hDE;IAxHI,uBA0CG;ElB8mDT;EkBhiDE;IAxHI,sBA0CG;ElBinDT;EkBniDE;IAxHI,uBA0CG;ElBonDT;EkBtiDE;IAxHI,oBA0CG;ElBunDT;EkBziDE;IAxHI,uBA0CG;ElB0nDT;EkB5iDE;IAxHI,sBA0CG;ElB6nDT;EkB/iDE;IAxHI,oBA0CG;ElBgoDT;EkBljDE;IAxHI,sBA0CG;ElBmoDT;EkBrjDE;IAxHI,oBA0CG;ElBsoDT;EkBxjDE;IAxHI,gBA0CG;ElByoDT;EkB3jDE;IAxHI,sBA0CG;ElB4oDT;EkB9jDE;IAxHI,qBA0CG;ElB+oDT;EkBjkDE;IAxHI,sBA0CG;ElBkpDT;EkBpkDE;IAxHI,mBA0CG;ElBqpDT;EkBvkDE;IAxHI,sBA0CG;ElBwpDT;EkB1kDE;IAxHI,qBA0CG;ElB2pDT;EkB7kDE;IAxHI,mBA0CG;ElB8pDT;EkBhlDE;IAxHI,qBA0CG;ElBiqDT;EkBnlDE;IAxHI,mBA0CG;ElBoqDT;EkBtlDE;IAxHI,sBA0CG;ElBuqDT;EkBzlDE;IAxHI,4BA0CG;ElB0qDT;EkB5lDE;IAxHI,2BA0CG;ElB6qDT;EkB/lDE;IAxHI,4BA0CG;ElBgrDT;EkBlmDE;IAxHI,yBA0CG;ElBmrDT;EkBrmDE;IAxHI,4BA0CG;ElBsrDT;EkBxmDE;IAxHI,2BA0CG;ElByrDT;EkB3mDE;IAxHI,yBA0CG;ElB4rDT;EkB9mDE;IAxHI,2BA0CG;ElB+rDT;EkBjnDE;IAxHI,yBA0CG;ElBksDT;EkBpnDE;IAxHI,qBA0CG;ElBqsDT;EkBvnDE;IAxHI,2BA0CG;ElBwsDT;EkB1nDE;IAxHI,0BA0CG;ElB2sDT;EkB7nDE;IAxHI,2BA0CG;ElB8sDT;EkBhoDE;IAxHI,wBA0CG;ElBitDT;EkBnoDE;IAxHI,2BA0CG;ElBotDT;EkBtoDE;IAxHI,0BA0CG;ElButDT;EkBzoDE;IAxHI,wBA0CG;ElB0tDT;EkB5oDE;IAxHI,0BA0CG;ElB6tDT;EkB/oDE;IAxHI,wBA0CG;ElBguDT;EkBlpDE;IAxHI,oBA0CG;ElBmuDT;EkBrpDE;IAxHI,0BA0CG;ElBsuDT;EkBxpDE;IAxHI,yBA0CG;ElByuDT;EkB3pDE;IAxHI,0BA0CG;ElB4uDT;EkB9pDE;IAxHI,uBA0CG;ElB+uDT;EkBjqDE;IAxHI,0BA0CG;ElBkvDT;EkBpqDE;IAxHI,yBA0CG;ElBqvDT;EkBvqDE;IAxHI,uBA0CG;ElBwvDT;EkB1qDE;IAxHI,yBA0CG;ElB2vDT;EkB7qDE;IAxHI,uBA0CG;ElB8vDT;EkBhrDE;IAxHI,uBA0CG;ElBiwDT;EkBnrDE;IAxHI,6BA0CG;ElBowDT;EkBtrDE;IAxHI,4BA0CG;ElBuwDT;EkBzrDE;IAxHI,6BA0CG;ElB0wDT;EkB5rDE;IAxHI,0BA0CG;ElB6wDT;EkB/rDE;IAxHI,6BA0CG;ElBgxDT;EkBlsDE;IAxHI,4BA0CG;ElBmxDT;EkBrsDE;IAxHI,0BA0CG;ElBsxDT;EkBxsDE;IAxHI,4BA0CG;ElByxDT;EkB3sDE;IAxHI,0BA0CG;ElB4xDT;EkB9sDE;IAxHI,MA0CG;ElB+xDT;EkBjtDE;IAxHI,YA0CG;ElBkyDT;EkBptDE;IAxHI,WA0CG;ElBqyDT;EkBvtDE;IAxHI,YA0CG;ElBwyDT;EkB1tDE;IAxHI,SA0CG;ElB2yDT;EkB7tDE;IAxHI,YA0CG;ElB8yDT;EkBhuDE;IAxHI,WA0CG;ElBizDT;EkBnuDE;IAxHI,SA0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;ElBkoEf;EkBlkEE;IAjII,wDAmDG;IAnDH,mBAiES;ElBsoEf;EkBtkEE;IAxHI,yDA0CG;ElBupET;EkBzkEE;IAxHI,yDA0CG;ElB0pET;EkB5kEE;IAxHI,yDA0CG;ElB6pET;EkB/kEE;IAxHI,yDA0CG;ElBgqET;EkBllEE;IAxHI,yDA0CG;ElBmqET;EkBrlEE;IAxHI,yDA0CG;ElBsqET;EkBxlEE;IAxHI,yDA0CG;ElByqET;EkB3lEE;IAxHI,yDA0CG;ElB4qET;EkB9lEE;IAxHI,yDA0CG;ElB+qET;EkBjmEE;IAxHI,mBA0CG;ElBkrET;EkBpmEE;IAxHI,iEA0CG;ElBqrET;EkBhlEM;IA/IA,iEA0CG;ElBwrET;EkB1mEE;IAxHI,iEA0CG;ElB2rET;EkBtlEM;IA/IA,iEA0CG;ElB8rET;EkBhnEE;IAxHI,iEA0CG;ElBisET;EkB5lEM;IA/IA,iEA0CG;ElBosET;EkBtnEE;IAxHI,iEA0CG;ElBusET;EkBlmEM;IA/IA,iEA0CG;ElB0sET;EkB5nEE;IAxHI,iEA0CG;ElB6sET;EkBxmEM;IA/IA,iEA0CG;ElBgtET;EkBloEE;IAxHI,iEA0CG;ElBmtET;EkB9mEM;IA/IA,iEA0CG;ElBstET;EkBxoEE;IAxHI,iEA0CG;ElBytET;EkBpnEM;IA/IA,iEA0CG;ElB4tET;EkB9oEE;IAxHI,iEA0CG;ElB+tET;EkB1nEM;IA/IA,iEA0CG;ElBkuET;EkBppEE;IAxHI,iEA0CG;ElBquET;EkBhoEM;IA/IA,iEA0CG;ElBwuET;EkB1pEE;IAxHI,2BA0CG;ElB2uET;EkBtoEM;IA/IA,2BA0CG;ElB8uET;EkBhqEE;IAxHI,8BA0CG;ElBivET;EkB5oEM;IA/IA,8BA0CG;ElBovET;EkBtqEE;IAxHI,6BA0CG;ElBuvET;EkBlpEM;IA/IA,6BA0CG;ElB0vET;EkB5qEE;IAxHI,8BA0CG;ElB6vET;EkBxpEM;IA/IA,8BA0CG;ElBgwET;EkBlrEE;IAxHI,yEA0CG;ElBmwET;EkBrrEE;IAxHI,wHA0CG;ElBswET;EkBxrEE;IAxHI,2EA0CG;ElBywET;EkB3rEE;IAxHI,uEA0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O;IlBi1FX;IkBxwFA;MAxHI,iBA+CO;IlBo1FX;IkB3wFA;MAxHI,uBA+CO;IlBu1FX;IkB9wFA;MAxHI,2BA0CG;IlB+1FP;IkBjxFA;MAxHI,yBA0CG;IlBk2FP;IkBpxFA;MAxHI,uBA0CG;IlBq2FP;IkBvxFA;MAxHI,8BA0CG;IlBw2FP;IkB1xFA;MAxHI,6BA0CG;IlB22FP;IkB7xFA;MAxHI,6BA0CG;IlB82FP;IkBhyFA;MAxHI,oBA0CG;IlBi3FP;IkBnyFA;MAxHI,kBA0CG;IlBo3FP;IkBtyFA;MAxHI,qBA0CG;IlBu3FP;IkBzyFA;MAxHI,sBA0CG;IlB03FP;IkB5yFA;MAxHI,wBA0CG;IlB63FP;IkB/yFA;MAxHI,sBA0CG;IlBg4FP;IkBlzFA;MAxHI,oBA0CG;IlBm4FP;IkBrzFA;MAxHI,uBA0CG;IlBs4FP;IkBxzFA;MAxHI,qBA0CG;IlBy4FP;IkB3zFA;MAxHI,mBA0CG;IlB44FP;IkB9zFA;MAxHI,qBA0CG;IlB+4FP;IkBj0FA;MAxHI,oBA0CG;IlBk5FP;IkBp0FA;MAxHI,yBA0CG;IlBq5FP;IkBv0FA;MAxHI,uBA0CG;IlBw5FP;IkB10FA;MAxHI,qBA0CG;IlB25FP;IkB70FA;MAxHI,4BA0CG;IlB85FP;IkBh1FA;MAxHI,2BA0CG;IlBi6FP;IkBn1FA;MAxHI,sBA0CG;IlBo6FP;IkBt1FA;MAxHI,gBA0CG;IlBu6FP;IkBz1FA;MAxHI,sBA0CG;IlB06FP;IkB51FA;MAxHI,oBA0CG;IlB66FP;IkB/1FA;MAxHI,kBA0CG;IlBg7FP;IkBl2FA;MAxHI,oBA0CG;IlBm7FP;IkBr2FA;MAxHI,mBA0CG;IlBs7FP;IkBx2FA;MAxHI,kBA0CG;IlBy7FP;IkB32FA;MAxHI,gBA0CG;IlB47FP;IkB92FA;MAxHI,mBA0CG;IlB+7FP;IkBj3FA;MAxHI,oBA0CG;IlBk8FP;IkBp3FA;MAxHI,0BA0CG;IlBq8FP;IkBv3FA;MAxHI,qCA0CG;IlBw8FP;IkB13FA;MAxHI,qCA0CG;IlB28FP;IkB73FA;MAxHI,qCA0CG;IlB88FP;IkBh4FA;MAxHI,qCA0CG;IlBi9FP;IkBn4FA;MAxHI,mBA0CG;IlBo9FP;IkBt4FA;MAxHI,mBA+CO;IlBk9FX;IkBz4FA;MAxHI,sBA+CO;IlBq9FX;IkB54FA;MAxHI,qBA+CO;IlBw9FX;IkB/4FA;MAxHI,SA0CG;IlBg+FP;IkBl5FA;MAxHI,QA0CG;IlBm+FP;IkBr5FA;MAxHI,QA0CG;IlBs+FP;IkBx5FA;MAxHI,QA0CG;IlBy+FP;IkB35FA;MAxHI,QA0CG;IlB4+FP;IkB95FA;MAxHI,QA0CG;IlB++FP;IkBj6FA;MAxHI,QA0CG;IlBk/FP;IkBp6FA;MAxHI,QA0CG;IlBq/FP;IkBv6FA;MAxHI,SA0CG;IlBw/FP;IkB16FA;MAxHI,eA0CG;IlB2/FP;IkB76FA;MAxHI,cA0CG;IlB8/FP;IkBh7FA;MAxHI,eA0CG;IlBigGP;IkBn7FA;MAxHI,YA0CG;IlBogGP;IkBt7FA;MAxHI,eA0CG;IlBugGP;IkBz7FA;MAxHI,cA0CG;IlB0gGP;IkB57FA;MAxHI,YA0CG;IlB6gGP;IkB/7FA;MAxHI,cA0CG;IlBghGP;IkBl8FA;MAxHI,YA0CG;IlBmhGP;IkBr8FA;MAxHI,YA0CG;IlBshGP;IkBx8FA;MAxHI,gBA0CG;IlByhGP;IkB38FA;MAxHI,sBA0CG;IlB4hGP;IkB98FA;MAxHI,qBA0CG;IlB+hGP;IkBj9FA;MAxHI,sBA0CG;IlBkiGP;IkBp9FA;MAxHI,mBA0CG;IlBqiGP;IkBv9FA;MAxHI,sBA0CG;IlBwiGP;IkB19FA;MAxHI,qBA0CG;IlB2iGP;IkB79FA;MAxHI,mBA0CG;IlB8iGP;IkBh+FA;MAxHI,qBA0CG;IlBijGP;IkBn+FA;MAxHI,mBA0CG;IlBojGP;IkBt+FA;MAxHI,mBA0CG;IlBujGP;IkBz+FA;MAxHI,eA0CG;IlB0jGP;IkB5+FA;MAxHI,qBA0CG;IlB6jGP;IkB/+FA;MAxHI,oBA0CG;IlBgkGP;IkBl/FA;MAxHI,qBA0CG;IlBmkGP;IkBr/FA;MAxHI,kBA0CG;IlBskGP;IkBx/FA;MAxHI,qBA0CG;IlBykGP;IkB3/FA;MAxHI,oBA0CG;IlB4kGP;IkB9/FA;MAxHI,kBA0CG;IlB+kGP;IkBjgGA;MAxHI,oBA0CG;IlBklGP;IkBpgGA;MAxHI,kBA0CG;IlBqlGP;IkBvgGA;MAxHI,kBA0CG;IlBwlGP;IkB1gGA;MAxHI,qBA0CG;IlB2lGP;IkB7gGA;MAxHI,2BA0CG;IlB8lGP;IkBhhGA;MAxHI,0BA0CG;IlBimGP;IkBnhGA;MAxHI,2BA0CG;IlBomGP;IkBthGA;MAxHI,wBA0CG;IlBumGP;IkBzhGA;MAxHI,2BA0CG;IlB0mGP;IkB5hGA;MAxHI,0BA0CG;IlB6mGP;IkB/hGA;MAxHI,wBA0CG;IlBgnGP;IkBliGA;MAxHI,0BA0CG;IlBmnGP;IkBriGA;MAxHI,wBA0CG;IlBsnGP;IkBxiGA;MAxHI,wBA0CG;IlBynGP;IkB3iGA;MAxHI,oBA0CG;IlB4nGP;IkB9iGA;MAxHI,0BA0CG;IlB+nGP;IkBjjGA;MAxHI,yBA0CG;IlBkoGP;IkBpjGA;MAxHI,0BA0CG;IlBqoGP;IkBvjGA;MAxHI,uBA0CG;IlBwoGP;IkB1jGA;MAxHI,0BA0CG;IlB2oGP;IkB7jGA;MAxHI,yBA0CG;IlB8oGP;IkBhkGA;MAxHI,uBA0CG;IlBipGP;IkBnkGA;MAxHI,yBA0CG;IlBopGP;IkBtkGA;MAxHI,uBA0CG;IlBupGP;IkBzkGA;MAxHI,uBA0CG;IlB0pGP;IkB5kGA;MAxHI,mBA0CG;IlB6pGP;IkB/kGA;MAxHI,yBA0CG;IlBgqGP;IkBllGA;MAxHI,wBA0CG;IlBmqGP;IkBrlGA;MAxHI,yBA0CG;IlBsqGP;IkBxlGA;MAxHI,sBA0CG;IlByqGP;IkB3lGA;MAxHI,yBA0CG;IlB4qGP;IkB9lGA;MAxHI,wBA0CG;IlB+qGP;IkBjmGA;MAxHI,sBA0CG;IlBkrGP;IkBpmGA;MAxHI,wBA0CG;IlBqrGP;IkBvmGA;MAxHI,sBA0CG;IlBwrGP;IkB1mGA;MAxHI,sBA0CG;IlB2rGP;IkB7mGA;MAxHI,sBA0CG;IlB8rGP;IkBhnGA;MAxHI,4BA0CG;IlBisGP;IkBnnGA;MAxHI,2BA0CG;IlBosGP;IkBtnGA;MAxHI,4BA0CG;IlBusGP;IkBznGA;MAxHI,yBA0CG;IlB0sGP;IkB5nGA;MAxHI,4BA0CG;IlB6sGP;IkB/nGA;MAxHI,2BA0CG;IlBgtGP;IkBloGA;MAxHI,yBA0CG;IlBmtGP;IkBroGA;MAxHI,2BA0CG;IlBstGP;IkBxoGA;MAxHI,yBA0CG;IlBytGP;IkB3oGA;MAxHI,6BA0CG;IlB4tGP;IkB9oGA;MAxHI,4BA0CG;IlB+tGP;IkBjpGA;MAxHI,yBA0CG;IlBkuGP;IkBppGA;MAxHI,UA0CG;IlBquGP;IkBvpGA;MAxHI,gBA0CG;IlBwuGP;IkB1pGA;MAxHI,eA0CG;IlB2uGP;IkB7pGA;MAxHI,gBA0CG;IlB8uGP;IkBhqGA;MAxHI,aA0CG;IlBivGP;IkBnqGA;MAxHI,gBA0CG;IlBovGP;IkBtqGA;MAxHI,eA0CG;IlBuvGP;IkBzqGA;MAxHI,aA0CG;IlB0vGP;IkB5qGA;MAxHI,eA0CG;IlB6vGP;IkB/qGA;MAxHI,aA0CG;IlBgwGP;IkBlrGA;MAxHI,iBA0CG;IlBmwGP;IkBrrGA;MAxHI,uBA0CG;IlBswGP;IkBxrGA;MAxHI,sBA0CG;IlBywGP;IkB3rGA;MAxHI,uBA0CG;IlB4wGP;IkB9rGA;MAxHI,oBA0CG;IlB+wGP;IkBjsGA;MAxHI,uBA0CG;IlBkxGP;IkBpsGA;MAxHI,sBA0CG;IlBqxGP;IkBvsGA;MAxHI,oBA0CG;IlBwxGP;IkB1sGA;MAxHI,sBA0CG;IlB2xGP;IkB7sGA;MAxHI,oBA0CG;IlB8xGP;IkBhtGA;MAxHI,gBA0CG;IlBiyGP;IkBntGA;MAxHI,sBA0CG;IlBoyGP;IkBttGA;MAxHI,qBA0CG;IlBuyGP;IkBztGA;MAxHI,sBA0CG;IlB0yGP;IkB5tGA;MAxHI,mBA0CG;IlB6yGP;IkB/tGA;MAxHI,sBA0CG;IlBgzGP;IkBluGA;MAxHI,qBA0CG;IlBmzGP;IkBruGA;MAxHI,mBA0CG;IlBszGP;IkBxuGA;MAxHI,qBA0CG;IlByzGP;IkB3uGA;MAxHI,mBA0CG;IlB4zGP;IkB9uGA;MAxHI,sBA0CG;IlB+zGP;IkBjvGA;MAxHI,4BA0CG;IlBk0GP;IkBpvGA;MAxHI,2BA0CG;IlBq0GP;IkBvvGA;MAxHI,4BA0CG;IlBw0GP;IkB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gBA0CG;IlBijHP;IkBn+GA;MAxHI,eA+CO;IlB+iHX;IkBt+GA;MAxHI,qBA+CO;IlBkjHX;IkBz+GA;MAxHI,cA+CO;IlBqjHX;IkB5+GA;MAxHI,aA+CO;IlBwjHX;IkB/+GA;MAxHI,oBA+CO;IlB2jHX;IkBl/GA;MAxHI,cA+CO;IlB8jHX;IkBr/GA;MAxHI,kBA+CO;IlBikHX;IkBx/GA;MAxHI,mBA+CO;IlBokHX;IkB3/GA;MAxHI,aA+CO;IlBukHX;IkB9/GA;MAxHI,oBA+CO;IlB0kHX;IkBjgHA;MAxHI,iBA+CO;IlB6kHX;IkBpgHA;MAxHI,kBA+CO;IlBglHX;IkBvgHA;MAxHI,aA+CO;IlBmlHX;IkB1gHA;MAxHI,cA0CG;IlB2lHP;IkB7gHA;MAxHI,mBA+CO;IlBylHX;IkBhhHA;MAxHI,sBA+CO;IlB4lHX;IkBnhHA;MAxHI,2BA+CO;IlB+lHX;IkBthHA;MAxHI,8BA+CO;IlBkmHX;IkBzhHA;MAxHI,YA0CG;IlB0mHP;IkB5hHA;MAxHI,YA0CG;IlB6mHP;IkB/hHA;MAxHI,cA0CG;IlBgnHP;IkBliHA;MAxHI,cA0CG;IlBmnHP;IkBriHA;MAxHI,eA+CO;IlBinHX;IkBxiHA;MAxHI,iBA+CO;IlBonHX;IkB3iHA;MAxHI,uBA+CO;IlBunHX;IkB9iHA;MAxHI,2BA0CG;IlB+nHP;IkBjjHA;MAxHI,yBA0CG;IlBkoHP;IkBpjHA;MAxHI,uBA0CG;IlBqoHP;IkBvjHA;MAxHI,8BA0CG;IlBwoHP;IkB1jHA;MAxHI,6BA0CG;IlB2oHP;IkB7jHA;MAxHI,6BA0CG;IlB8oHP;IkBhkHA;MAxHI,oBA0CG;IlBipHP;IkBnkHA;MAxHI,kBA0CG;IlBopHP;IkBtkHA;MAxHI,qBA0CG;IlBupHP;IkBzkHA;MAxHI,sBA0CG;IlB0pHP;IkB5kHA;MAxHI,wBA0CG;IlB6pHP;IkB/kHA;MAxHI,sBA0CG;IlBgqHP;IkBllHA;MAxHI,oBA0CG;IlBmqHP;IkBrlHA;MAxHI,uBA0CG;IlBsqHP;IkBxlHA;MAxHI,qBA0CG;IlByqHP;IkB3lHA;MAxHI,mBA0CG;IlB4qHP;IkB9lHA;MAxHI,qBA0CG;IlB+qHP;IkBjmHA;MAxHI,oBA0CG;IlBkrHP;IkBpmHA;MAxHI,yBA0CG;IlBqrHP;IkBvmHA;MAxHI,uBA0CG;IlBwrHP;IkB1mHA;MAxHI,qBA0CG;IlB2rHP;IkB7mHA;MAxHI,4BA0CG;IlB8rHP;IkBhnHA;MAxHI,2BA0CG;IlBisHP;IkBnnHA;MAxHI,sBA0CG;IlBosHP;IkBtnHA;MAxHI,gBA0CG;IlBusHP;IkBznHA;MAxHI,sBA0CG;IlB0sHP;IkB5nHA;MAxHI,oBA0CG;IlB6sHP;IkB/nHA;MAxHI,kBA0CG;IlBgtHP;IkBloHA;MAxHI,oBA0CG;IlBmtHP;IkBroHA;MAxHI,mBA0CG;IlBstHP;IkBxoHA;MAxHI,kBA0CG;IlBytHP;IkB3oHA;MAxHI,gBA0CG;IlB4tHP;IkB9oHA;MAxHI,mBA0CG;IlB+tHP;IkBjpHA;MAxHI,oBA0CG;IlBkuHP;IkBppHA;MAxHI,0BA0CG;IlBquHP;IkBvpHA;MAxHI,qCA0CG;IlBwuHP;IkB1pHA;MAxHI,qCA0CG;IlB2uHP;IkB7pHA;MAxHI,qCA0CG;IlB8uHP;IkBhqHA;MAxHI,qCA0CG;IlBivHP;IkBnqHA;MAxHI,mBA0CG;IlBovHP;IkBtqHA;MAxHI,mBA+CO;IlBkvHX;IkBzqHA;MAxHI,sBA+CO;IlBqvHX;IkB5qHA;MAxHI,qBA+CO;IlBwvHX;IkB/qHA;MAxHI,SA0CG;IlBgwHP;IkBlrHA;MAxHI,QA0CG;IlBmwHP;IkBrrHA;MAxHI,QA0CG;IlBswHP;IkBxrHA;MAxHI,QA0CG;IlBywHP;IkB3rHA;MAxHI,QA0CG;IlB4wHP;IkB9rHA;MAxHI,QA0CG;IlB+wHP;IkBjsHA;MAxHI,QA0CG;IlBkxHP;IkBpsHA;MAxHI,QA0CG;IlBqxHP;IkBvsHA;MAxHI,SA0CG;IlBwxHP;IkB1sHA;MAxHI,eA0CG;IlB2xHP;IkB7sHA;MAxHI,cA0CG;IlB8xHP;IkBhtHA;MAxHI,eA0CG;IlBiyHP;IkBntHA;MAxHI,YA0CG;IlBoyHP;IkBttHA;MAxHI,eA0CG;IlBuyHP;IkBztHA;MAxHI,cA0CG;IlB0yHP;IkB5tHA;MAxHI,YA0CG;IlB6yHP;IkB/tHA;MAxHI,cA0CG;IlBgzHP;IkBluHA;MAxHI,YA0CG;IlBmzHP;IkBruHA;MAxHI,YA0CG;IlBszHP;IkBxuHA;MAxHI,gBA0CG;IlByzHP;IkB3uHA;MAxHI,sBA0CG;IlB4zHP;IkB9uHA;MAxHI,qBA0CG;IlB+zHP;IkBjvHA;MAxHI,sBA0CG;IlBk0HP;IkBpvHA;MAxHI,mBA0CG;IlBq0HP;IkBvvHA;MAxHI,sBA0CG;IlBw0HP;IkB1vHA;MAxHI,qBA0CG;IlB20HP;IkB7vHA;MAxHI,mBA0CG;IlB80HP;IkBhwHA;MAxHI,qBA0CG;IlBi1HP;IkBnwHA;MAxHI,mBA0CG;IlBo1HP;IkBtwHA;MAxHI,mBA0CG;IlBu1HP;IkBzwHA;MAxHI,eA0CG;IlB01HP;IkB5wHA;MAxHI,qBA0CG;IlB61HP;IkB/wHA;MAxHI,oBA0CG;IlBg2HP;IkBlxHA;MAxHI,qBA0CG;IlBm2HP;IkBrxHA;MAxHI,kBA0CG;IlBs2HP;IkBxxHA;MAxHI,qBA0CG;IlBy2HP;IkB3xHA;MAxHI,oBA0CG;IlB42HP;IkB9xHA;MAxHI,kBA0CG;IlB+2HP;IkBjyHA;MAxHI,oBA0CG;IlBk3HP;IkBpyHA;MAxHI,kBA0CG;IlBq3HP;IkBvyHA;MAxHI,kBA0CG;IlBw3HP;IkB1yHA;MAxHI,qBA0CG;IlB23HP;IkB7yHA;MAxHI,2BA0CG;IlB83HP;IkBhzHA;MAxHI,0BA0CG;IlBi4HP;IkBnzHA;MAxHI,2BA0CG;IlBo4HP;IkBtzHA;MAxHI,wBA0CG;IlBu4HP;IkBzzHA;MAxHI,2BA0CG;IlB04HP;IkB5zHA;MAxHI,0BA0CG;IlB64HP;IkB/zHA;MAxHI,wBA0CG;IlBg5HP;IkBl0HA;MAxHI,0BA0CG;IlBm5HP;IkBr0HA;MAxHI,wBA0CG;IlBs5HP;IkBx0HA;MAxHI,wBA0CG;IlBy5HP;IkB30HA;MAxHI,oBA0CG;IlB45HP;IkB90HA;MAxHI,0BA0CG;IlB+5HP;IkBj1HA;MAxHI,yBA0CG;IlBk6HP;IkBp1HA;MAxHI,0BA0CG;IlBq6HP;IkBv1HA;MAxHI,uBA0CG;IlBw6HP;IkB11HA;MAxHI,0BA0CG;IlB26HP;IkB71HA;MAxHI,yBA0CG;IlB86HP;IkBh2HA;MAxHI,uBA0CG;IlBi7HP;IkBn2HA;MAxHI,yBA0CG;IlBo7HP;IkBt2HA;MAxHI,uBA0CG;IlBu7HP;IkBz2HA;MAxHI,uBA0CG;IlB07HP;IkB52HA;MAxHI,mBA0CG;IlB67HP;IkB/2HA;MAxHI,yBA0CG;IlBg8HP;IkBl3HA;MAxHI,wBA0CG;IlBm8HP;IkBr3HA;MAxHI,yBA0CG;IlBs8HP;IkBx3HA;MAxHI,sBA0CG;IlBy8HP;IkB33HA;MAxHI,yBA0CG;IlB48HP;IkB93HA;MAxHI,wBA0CG;IlB+8HP;IkBj4HA;MAxHI,sBA0CG;IlBk9HP;IkBp4HA;MAxHI,wBA0CG;IlBq9HP;IkBv4HA;MAxHI,sBA0CG;IlBw9HP;IkB14HA;MAxHI,sBA0CG;IlB29HP;IkB74HA;MAxHI,sBA0CG;IlB89HP;IkBh5HA;MAxHI,4BA0CG;IlBi+HP;IkBn5HA;MAxHI,2BA0CG;IlBo+HP;IkBt5HA;MAxHI,4BA0CG;IlBu+HP;IkBz5HA;MAxHI,yBA0CG;IlB0+HP;IkB55HA;MAxHI,4BA0CG;IlB6+HP;IkB/5HA;MAxHI,2BA0CG;IlBg/HP;IkBl6HA;MAxHI,yBA0CG;IlBm/HP;IkBr6HA;MAxHI,2BA0CG;IlBs/HP;IkBx6HA;MAxHI,yBA0CG;IlBy/HP;IkB36HA;MAxHI,6BA0CG;IlB4/HP;IkB96HA;MAxHI,4BA0CG;IlB+/HP;IkBj7HA;MAxHI,yBA0CG;IlBkgIP;IkBp7HA;MAxHI,UA0CG;IlBqgIP;IkBv7HA;MAxHI,gBA0CG;IlBwgIP;IkB17HA;MAxHI,eA0CG;IlB2gIP;IkB77HA;MAxHI,gBA0CG;IlB8gIP;IkBh8HA;MAxHI,aA0CG;IlBihIP;IkBn8HA;MAxHI,gBA0CG;IlBohIP;IkBt8HA;MAxHI,eA0CG;IlBuhIP;IkBz8HA;MAxHI,aA0CG;IlB0hIP;IkB58HA;MAxHI,eA0CG;IlB6hIP;IkB/8HA;MAxHI,aA0CG;IlBgiIP;IkBl9HA;MAxHI,iBA0CG;IlBmiIP;IkBr9HA;MAxHI,uBA0CG;IlBsiIP;IkBx9HA;MAxHI,sBA0CG;IlByiIP;IkB39HA;MAxHI,uBA0CG;IlB4iIP;IkB99HA;MAxHI,oBA0CG;IlB+iIP;IkBj+HA;MAxHI,uBA0CG;IlBkjIP;IkBp+HA;MAxHI,sBA0CG;IlBqjIP;IkBv+HA;MAxHI,oBA0CG;IlBwjIP;IkB1+HA;MAxHI,sBA0CG;IlB2jIP;IkB7+HA;MAxHI,oBA0CG;IlB8jIP;IkBh/HA;MAxHI,gBA0CG;IlBikIP;IkBn/HA;MAxHI,sBA0CG;IlBokIP;IkBt/HA;MAxHI,qBA0CG;IlBukIP;IkBz/HA;MAxHI,sBA0CG;IlB0kIP;IkB5/HA;MAxHI,mBA0CG;IlB6kIP;IkB//HA;MAxHI,sBA0CG;IlBglIP;IkBlgIA;MAxHI,qBA0CG;IlBmlIP;IkBrgIA;MAxHI,mBA0CG;IlBslIP;IkBxgIA;MAxHI,qBA0CG;IlBylIP;IkB3gIA;MAxHI,mBA0CG;IlB4lIP;IkB9gIA;MAxHI,sBA0CG;IlB+lIP;IkBjhIA;MAxHI,4BA0CG;IlBkmIP;IkBphIA;MAxHI,2BA0CG;IlBqmIP;IkBvhIA;MAxHI,4BA0CG;IlBwmIP;IkB1hIA;MAxHI,yBA0CG;IlB2mIP;IkB7hIA;MAxHI,4BA0CG;IlB8mIP;IkBhiIA;MAxHI,2BA0CG;IlBinIP;IkBniIA;MAxHI,yBA0CG;IlBonIP;IkBtiIA;MAxHI,2BA0CG;IlBunIP;IkBziIA;MAxHI,yBA0CG;IlB0nIP;IkB5iIA;MAxHI,qBA0CG;IlB6nIP;IkB/iIA;MAxHI,2BA0CG;IlBgoIP;IkBljIA;MAxHI,0BA0CG;IlBmoIP;IkBrjIA;MAxHI,2BA0CG;IlBsoIP;IkBxjIA;MAxHI,wBA0CG;IlByoIP;IkB3jIA;MAxHI,2BA0CG;IlB4oIP;IkB9jIA;MAxHI,0BA0CG;IlB+oIP;IkBjkIA;MAxHI,wBA0CG;IlBkpIP;IkBpkIA;MAxHI,0BA0CG;IlBqpIP;IkBvkIA;MAxHI,wBA0CG;IlBwpIP;IkB1kIA;MAxHI,oBA0CG;IlB2pIP;IkB7kIA;MAxHI,0BA0CG;IlB8pIP;IkBhlIA;MAxHI,yBA0CG;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xHI,YA0CG;IlB04IP;IkB5zIA;MAxHI,YA0CG;IlB64IP;IkB/zIA;MAxHI,cA0CG;IlBg5IP;IkBl0IA;MAxHI,cA0CG;IlBm5IP;IkBr0IA;MAxHI,eA+CO;IlBi5IX;IkBx0IA;MAxHI,iBA+CO;IlBo5IX;IkB30IA;MAxHI,uBA+CO;IlBu5IX;IkB90IA;MAxHI,2BA0CG;IlB+5IP;IkBj1IA;MAxHI,yBA0CG;IlBk6IP;IkBp1IA;MAxHI,uBA0CG;IlBq6IP;IkBv1IA;MAxHI,8BA0CG;IlBw6IP;IkB11IA;MAxHI,6BA0CG;IlB26IP;IkB71IA;MAxHI,6BA0CG;IlB86IP;IkBh2IA;MAxHI,oBA0CG;IlBi7IP;IkBn2IA;MAxHI,kBA0CG;IlBo7IP;IkBt2IA;MAxHI,qBA0CG;IlBu7IP;IkBz2IA;MAxHI,sBA0CG;IlB07IP;IkB52IA;MAxHI,wBA0CG;IlB67IP;IkB/2IA;MAxHI,sBA0CG;IlBg8IP;IkBl3IA;MAxHI,oBA0CG;IlBm8IP;IkBr3IA;MAxHI,uBA0CG;IlBs8IP;IkBx3IA;MAxHI,qBA0CG;IlBy8IP;IkB33IA;MAxHI,mBA0CG;IlB48IP;IkB93IA;MAxHI,qBA0CG;IlB+8IP;IkBj4IA;MAxHI,oBA0CG;IlBk9IP;IkBp4IA;MAxHI,yBA0CG;IlBq9IP;IkBv4IA;MAxHI,uBA0CG;IlBw9IP;IkB14IA;MAxHI,qBA0CG;IlB29IP;IkB74IA;MAxHI,4BA0CG;IlB89IP;IkBh5IA;MAxHI,2BA0CG;IlBi+IP;IkBn5IA;MAxHI,sBA0CG;IlBo+IP;IkBt5IA;MAxHI,gBA0CG;IlBu+IP;IkBz5IA;MAxHI,sBA0CG;IlB0+IP;IkB55IA;MAxHI,oBA0CG;IlB6+IP;IkB/5IA;MAxHI,kBA0CG;IlBg/IP;IkBl6IA;MAxHI,oBA0CG;IlBm/IP;IkBr6IA;MAxHI,mBA0CG;IlBs/IP;IkBx6IA;MAxHI,kBA0CG;IlBy/IP;IkB36IA;MAxHI,gBA0CG;IlB4/IP;IkB96IA;MAxHI,mBA0CG;IlB+/IP;IkBj7IA;MAxHI,oBA0CG;IlBkgJP;IkBp7IA;MAxHI,0BA0CG;IlBqgJP;IkBv7IA;MAxHI,qCA0CG;IlBwgJP;IkB17IA;MAxHI,qCA0CG;IlB2gJP;IkB77IA;MAxHI,qCA0CG;IlB8gJP;IkBh8IA;MAxHI,qCA0CG;IlBihJP;IkBn8IA;MAxHI,mBA0CG;IlBohJP;IkBt8IA;MAxHI,mBA+CO;IlBkhJX;IkBz8IA;MAxHI,sBA+CO;IlBqhJX;IkB58IA;MAxHI,qBA+CO;IlBwhJX;IkB/8IA;MAxHI,SA0CG;IlBgiJP;IkBl9IA;MAxHI,QA0CG;IlBmiJP;IkBr9IA;MAxHI,QA0CG;IlBsiJP;IkBx9IA;MAxHI,QA0CG;IlByiJP;IkB39IA;MAxHI,QA0CG;IlB4iJP;IkB99IA;MAxHI,QA0CG;IlB+iJP;IkBj+IA;MAxHI,QA0CG;IlBkjJP;IkBp+IA;MAxHI,QA0CG;IlBqjJP;IkBv+IA;MAxHI,SA0CG;IlBwjJP;IkB1+IA;MAxHI,eA0CG;IlB2jJP;IkB7+IA;MAxHI,cA0CG;IlB8jJP;IkBh/IA;MAxHI,eA0CG;IlBikJP;IkBn/IA;MAxHI,YA0CG;IlBokJP;IkBt/IA;MAxHI,eA0CG;IlBukJP;IkBz/IA;MAxHI,cA0CG;IlB0kJP;IkB5/IA;MAxHI,YA0CG;IlB6kJP;IkB//IA;MAxHI,cA0CG;IlBglJP;IkBlgJA;MAxHI,YA0CG;IlBmlJP;IkBrgJA;MAxHI,YA0CG;IlBslJP;IkBxgJA;MAxHI,gBA0CG;IlBylJP;IkB3gJA;MAxHI,sBA0CG;IlB4lJP;IkB9gJA;MAxHI,qBA0CG;IlB+lJP;IkBjhJA;MAxHI,sBA0CG;IlBkmJP;IkBphJA;MAxHI,mBA0CG;IlBqmJP;IkBvhJA;MAxHI,sBA0CG;IlBwmJP;IkB1hJA;MAxHI,qBA0CG;IlB2mJP;IkB7hJA;MAxHI,mBA0CG;IlB8mJP;IkBhiJA;MAxHI,qBA0CG;IlBinJP;IkBniJA;MAxHI,mBA0CG;IlBonJP;IkBtiJA;MAxHI,mBA0CG;IlBunJP;IkBziJA;MAxHI,eA0CG;IlB0nJP;IkB5iJA;MAxHI,qBA0CG;IlB6nJP;IkB/iJA;MAxHI,oBA0CG;IlBgoJP;IkBljJA;MAxHI,qBA0CG;IlBmoJP;IkBrjJA;MAxHI,kBA0CG;IlBsoJP;IkBxjJA;MAxHI,qBA0CG;IlByoJP;IkB3jJA;MAxHI,oBA0CG;IlB4oJP;IkB9jJA;MAxHI,kBA0CG;IlB+oJP;IkBjkJA;MAxHI,oBA0CG;IlBkpJP;IkBpkJA;MAxHI,kBA0CG;IlBqpJP;IkBvkJA;MAxHI,kBA0CG;IlBwpJP;IkB1kJA;MAxHI,qBA0CG;IlB2pJP;IkB7kJA;MAxHI,2BA0CG;IlB8pJP;IkBhlJA;MAxHI,0BA0CG;IlBiqJP;IkBnlJA;MAxHI,2BA0CG;IlBoqJP;IkBtlJA;MAxHI,wBA0CG;IlBuqJP;IkBzlJA;MAxHI,2BA0CG;IlB0qJP;IkB5lJA;MAxHI,0BA0CG;IlB6qJP;IkB/lJA;MAxHI,wBA0CG;IlBgrJP;IkBlmJA;MAxHI,0BA0CG;IlBmrJP;IkBrmJA;MAxHI,wBA0CG;IlBsrJP;IkBxmJA;MAxHI,wBA0CG;IlByrJP;IkB3mJA;MAxHI,oBA0CG;IlB4rJP;IkB9mJA;MAxHI,0BA0CG;IlB+rJP;IkBjnJA;MAxHI,yBA0CG;IlBksJP;IkBpnJA;MAxHI,0BA0CG;IlBqsJP;IkBvnJA;MAxHI,uBA0CG;IlBwsJP;IkB1nJA;MAxHI,0BA0CG;IlB2sJP;IkB7nJA;MAxHI,yBA0CG;IlB8sJP;IkBhoJA;MAxHI,uBA0CG;IlBitJP;IkBnoJA;MAxHI,yBA0CG;IlBotJP;IkBtoJA;MAxHI,uBA0CG;IlButJP;IkBzoJA;MAxHI,uBA0CG;IlB0tJP;IkB5oJA;MAxHI,mBA0CG;IlB6tJP;IkB/oJA;MAxHI,yBA0CG;IlBguJP;IkBlpJA;MAxHI,wBA0CG;IlBmuJP;IkBrpJA;MAxHI,yBA0CG;IlBsuJP;IkBxpJA;MAxHI,sBA0CG;IlByuJP;IkB3pJA;MAxHI,yBA0CG;IlB4uJP;IkB9pJA;MAxHI,wBA0CG;IlB+uJP;IkBjqJA;MAxHI,sBA0CG;IlBkvJP;IkBpqJA;MAxHI,wBA0CG;IlBqvJP;IkBvqJA;MAxHI,sBA0CG;IlBwvJP;IkB1qJA;MAxHI,sBA0CG;IlB2vJP;IkB7qJA;MAxHI,sBA0CG;IlB8vJP;IkBhrJA;MAxHI,4BA0CG;IlBiwJP;IkBnrJA;MAxHI,2BA0CG;IlBowJP;IkBtrJA;MAxHI,4BA0CG;IlBuwJP;IkBzrJA;MAxHI,yBA0CG;IlB0wJP;IkB5rJA;MAxHI,4BA0CG;IlB6wJP;IkB/rJA;MAxHI,2BA0CG;IlBgxJP;IkBlsJA;MAxHI,yBA0CG;IlBmxJP;IkBrsJA;MAxHI,2BA0CG;IlBsxJP;IkBxsJA;MAxHI,yBA0CG;IlByxJP;IkB3sJA;MAxHI,6BA0CG;IlB4xJP;IkB9sJA;MAxHI,4BA0CG;IlB+xJP;IkBjtJA;MAxHI,yBA0CG;IlBkyJP;IkBptJA;MAxHI,UA0CG;IlBqyJP;IkBvtJA;MAxHI,gBA0CG;IlBwyJP;IkB1tJA;MAxHI,eA0CG;IlB2yJP;IkB7tJA;MAxHI,gBA0CG;IlB8yJP;IkBhuJA;MAxHI,aA0CG;IlBizJP;IkBnuJA;MAxHI,gBA0CG;IlBozJP;IkBtuJA;MAxHI,eA0CG;IlBuzJP;IkBzuJA;MAxHI,aA0CG;IlB0zJP;IkB5uJA;MAxHI,eA0CG;IlB6zJP;IkB/uJA;MAxHI,aA0CG;IlBg0JP;IkBlvJA;MAxHI,iBA0CG;IlBm0JP;IkBrvJA;MAxHI,uBA0CG;IlBs0JP;IkBxvJA;MAxHI,sBA0CG;IlBy0JP;IkB3vJA;MAxHI,uBA0CG;IlB40JP;IkB9vJA;MAxHI,oBA0CG;IlB+0JP;IkBjwJA;MAxHI,uBA0CG;IlBk1JP;IkBpwJA;MAxHI,sBA0CG;IlBq1JP;IkBvwJA;MAxHI,oBA0CG;IlBw1JP;IkB1wJA;MAxHI,sBA0CG;IlB21JP;IkB7wJA;MAxHI,oBA0CG;IlB81JP;IkBhxJA;MAxHI,gBA0CG;IlBi2JP;IkBnxJA;MAxHI,sBA0CG;IlBo2JP;IkBtxJA;MAxHI,qBA0CG;IlBu2JP;IkBzxJA;MAxHI,sBA0CG;IlB02JP;IkB5xJA;MAxHI,mBA0CG;IlB62JP;IkB/xJA;MAxHI,sBA0CG;IlBg3JP;IkBlyJA;MAxHI,qBA0CG;IlBm3JP;IkBryJA;MAxHI,mBA0CG;IlBs3JP;IkBxyJA;MAxHI,qBA0CG;IlBy3JP;IkB3yJA;MAxHI,mBA0CG;IlB43JP;IkB9yJA;MAxHI,sBA0CG;IlB+3JP;IkBjzJA;MAxHI,4BA0CG;IlBk4JP;IkBpzJA;MAxHI,2BA0CG;IlBq4JP;IkBvzJA;MAxHI,4BA0CG;IlBw4JP;IkB1zJA;MAxHI,yBA0CG;IlB24JP;IkB7zJA;MAxHI,4BA0CG;IlB84JP;IkBh0JA;MAxHI,2BA0CG;IlBi5JP;IkBn0JA;MAxHI,yBA0CG;IlBo5JP;IkBt0JA;MAxHI,2BA0CG;IlBu5JP;IkBz0JA;MAxHI,yBA0CG;IlB05JP;IkB50JA;MAxHI,qBA0CG;IlB65JP;IkB/0JA;MAxHI,2BA0CG;IlBg6JP;IkBl1JA;MAxHI,0BA0CG;IlBm6JP;IkBr1JA;MAxHI,2BA0CG;IlBs6JP;IkBx1JA;MAxHI,wBA0CG;IlBy6JP;IkB31JA;MAxHI,2BA0CG;IlB46JP;IkB91JA;MAxHI,0BA0CG;IlB+6JP;IkBj2JA;MAxHI,wBA0CG;IlBk7JP;IkBp2JA;MAxHI,0BA0CG;IlBq7JP;IkBv2JA;MAxHI,wBA0CG;IlBw7JP;IkB12JA;MAxHI,oBA0CG;IlB27JP;IkB72JA;MAxHI,0BA0CG;IlB87JP;IkBh3JA;MAxHI,yBA0CG;IlBi8JP;IkBn3JA;MAxHI,0BA0CG;IlBo8JP;IkBt3JA;MAxHI,uBA0CG;IlBu8JP;IkBz3JA;MAxHI,0BA0CG;IlB08JP;IkB53JA;MAxHI,yBA0CG;IlB68JP;IkB/3JA;MAxHI,uBA0CG;IlBg9JP;IkBl4JA;MAxHI,yBA0CG;IlBm9JP;IkBr4JA;MAxHI,uBA0CG;IlBs9JP;IkBx4JA;MAxHI,uBA0CG;IlBy9JP;IkB34JA;MAxHI,6BA0CG;IlB49JP;IkB94JA;MAxHI,4BA0CG;IlB+9JP;IkBj5JA;MAxHI,6BA0CG;IlBk+JP;IkBp5JA;MAxHI,0BA0CG;IlBq+JP;IkBv5JA;MAxHI,6BA0CG;IlBw+JP;IkB15JA;MAxHI,4BA0CG;IlB2+JP;IkB75JA;MAxHI,0BA0CG;IlB8+JP;IkBh6JA;MAxHI,4BA0CG;IlBi/JP;IkBn6JA;MAxHI,0BA0CG;IlBo/JP;IkBt6JA;MAxHI,MA0CG;IlBu/JP;IkBz6JA;MAx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pKA;MAxHI,oBA0CG;IlBmuKP;IkBrpKA;MAxHI,uBA0CG;IlBsuKP;IkBxpKA;MAxHI,qBA0CG;IlByuKP;IkB3pKA;MAxHI,mBA0CG;IlB4uKP;IkB9pKA;MAxHI,qBA0CG;IlB+uKP;IkBjqKA;MAxHI,oBA0CG;IlBkvKP;IkBpqKA;MAxHI,yBA0CG;IlBqvKP;IkBvqKA;MAxHI,uBA0CG;IlBwvKP;IkB1qKA;MAxHI,qBA0CG;IlB2vKP;IkB7qKA;MAxHI,4BA0CG;IlB8vKP;IkBhrKA;MAxHI,2BA0CG;IlBiwKP;IkBnrKA;MAxHI,sBA0CG;IlBowKP;IkBtrKA;MAxHI,gBA0CG;IlBuwKP;IkBzrKA;MAxHI,sBA0CG;IlB0wKP;IkB5rKA;MAxHI,oBA0CG;IlB6wKP;IkB/rKA;MAxHI,kBA0CG;IlBgxKP;IkBlsKA;MAxHI,oBA0CG;IlBmxKP;IkBrsKA;MAxHI,mBA0CG;IlBsxKP;IkBxsKA;MAxHI,kBA0CG;IlByxKP;IkB3sKA;MAxHI,gBA0CG;IlB4xKP;IkB9sKA;MAxHI,mBA0CG;IlB+xKP;IkBjtKA;MAxHI,oBA0CG;IlBkyKP;IkBptKA;MAxHI,0BA0CG;IlBqyKP;IkBvtKA;MAxHI,qCA0CG;IlBwyKP;IkB1tKA;MAxHI,qCA0CG;IlB2yKP;IkB7tKA;MAxHI,qCA0CG;IlB8yKP;IkBhuKA;MAxHI,qCA0CG;IlBizKP;IkBnuKA;MAxHI,mBA0CG;IlBozKP;IkBtuKA;MAxHI,mBA+CO;IlBkzKX;IkBzuKA;MAxHI,sBA+CO;IlBqzKX;IkB5uKA;MAxHI,qBA+CO;IlBwzKX;IkB/uKA;MAxHI,SA0CG;IlBg0KP;IkBlvKA;MAxHI,QA0CG;IlBm0KP;IkBrvKA;MAxHI,QA0CG;IlBs0KP;IkBxvKA;MAxHI,QA0CG;IlBy0KP;IkB3vKA;MAxHI,QA0CG;IlB40KP;IkB9vKA;MAxHI,QA0CG;IlB+0KP;IkBjwKA;MAxHI,QA0CG;IlBk1KP;IkBpwKA;MAxHI,QA0CG;IlBq1KP;IkBvwKA;MAxHI,SA0CG;IlBw1KP;IkB1wKA;MAxHI,eA0CG;IlB21KP;IkB7wKA;MAxHI,cA0CG;IlB81KP;IkBhxKA;MAxHI,eA0CG;IlBi2KP;IkBnxKA;MAxHI,YA0CG;IlBo2KP;IkBtxKA;MAxHI,eA0CG;IlBu2KP;IkBzxKA;MAxHI,cA0CG;IlB02KP;IkB5xKA;MAxHI,YA0CG;IlB62KP;IkB/xKA;MAxHI,cA0CG;IlBg3KP;IkBlyKA;MAxHI,YA0CG;IlBm3KP;IkBryKA;MAxHI,YA0CG;IlBs3KP;IkBxyKA;MAxHI,gBA0CG;IlBy3KP;IkB3yKA;MAxHI,sBA0CG;IlB43KP;IkB9yKA;MAxHI,qBA0CG;IlB+3KP;IkBjzKA;MAxHI,sBA0CG;IlBk4KP;IkBpzKA;MAxHI,mBA0CG;IlBq4KP;IkBvzKA;MAxHI,sBA0CG;IlBw4KP;IkB1zKA;MAxHI,qBA0CG;IlB24KP;IkB7zKA;MAxHI,mBA0CG;IlB84KP;IkBh0KA;MAxHI,qBA0CG;IlBi5KP;IkBn0KA;MAxHI,mBA0CG;IlBo5KP;IkBt0KA;MAxHI,mBA0CG;IlBu5KP;IkBz0KA;MAxHI,eA0CG;IlB05KP;IkB50KA;MAxHI,qBA0CG;IlB65KP;IkB/0KA;MAxHI,oBA0CG;IlBg6KP;IkBl1KA;MAxHI,qBA0CG;IlBm6KP;IkBr1KA;MAxHI,kBA0CG;IlBs6KP;IkBx1KA;MAxHI,qBA0CG;IlBy6KP;IkB31KA;MAxHI,oBA0CG;IlB46KP;IkB91KA;MAxHI,kBA0CG;IlB+6KP;IkBj2KA;MAxHI,oBA0CG;IlBk7KP;IkBp2KA;MAxHI,kBA0CG;IlBq7KP;IkBv2KA;MAxHI,kBA0CG;IlBw7KP;IkB12KA;MAxHI,qBA0CG;IlB27KP;IkB72KA;MAxHI,2BA0CG;IlB87KP;IkBh3KA;MAxHI,0BA0CG;IlBi8KP;IkBn3KA;MAxHI,2BA0CG;IlBo8KP;IkBt3KA;MAxHI,wBA0CG;IlBu8KP;IkBz3KA;MAxHI,2BA0CG;IlB08KP;IkB53KA;MAxHI,0BA0CG;IlB68KP;IkB/3KA;MAxHI,wBA0CG;IlBg9KP;IkBl4KA;MAxHI,0BA0CG;IlBm9KP;IkBr4KA;MAxHI,wBA0CG;IlBs9KP;IkBx4KA;MAxHI,wBA0CG;IlBy9KP;IkB34KA;MAxHI,oBA0CG;IlB49KP;IkB94KA;MAxHI,0BA0CG;IlB+9KP;IkBj5KA;MAxHI,yBA0CG;IlBk+KP;IkBp5KA;MAxHI,0BA0CG;IlBq+KP;IkBv5KA;MAxHI,uBA0CG;IlBw+KP;IkB15KA;MAxHI,0BA0CG;IlB2+KP;IkB75KA;MAxHI,yBA0CG;IlB8+KP;IkBh6KA;MAxHI,uBA0CG;IlBi/KP;IkBn6KA;MAxHI,yBA0CG;IlBo/KP;IkBt6KA;MAxHI,uBA0CG;IlBu/KP;IkBz6KA;MAxHI,uBA0CG;IlB0/KP;IkB56KA;MAxHI,mBA0CG;IlB6/KP;IkB/6KA;MAxHI,yBA0CG;IlBggLP;IkBl7KA;MAxHI,wBA0CG;IlBmgLP;IkBr7KA;MAxHI,yBA0CG;IlBsgLP;IkBx7KA;MAxHI,sBA0CG;IlBygLP;IkB37KA;MAxHI,yBA0CG;IlB4gLP;IkB97KA;MAxHI,wBA0CG;IlB+gLP;IkBj8KA;MAxHI,sBA0CG;IlBkhLP;IkBp8KA;MAxHI,wBA0CG;IlBqhLP;IkBv8KA;MAxHI,sBA0CG;IlBwhLP;IkB18KA;MAxHI,sBA0CG;IlB2hLP;IkB78KA;MAxHI,sBA0CG;IlB8hLP;IkBh9KA;MAxHI,4BA0CG;IlBiiLP;IkBn9KA;MAxHI,2BA0CG;IlBoiLP;IkBt9KA;MAxHI,4BA0CG;IlBuiLP;IkBz9KA;MAxHI,yBA0CG;IlB0iLP;IkB59KA;MAxHI,4BA0CG;IlB6iLP;IkB/9KA;MAxHI,2BA0CG;IlBgjLP;IkBl+KA;MAxHI,yBA0CG;IlBmjLP;IkBr+KA;MAxHI,2BA0CG;IlBsjLP;IkBx+KA;MAxHI,yBA0CG;IlByjLP;IkB3+KA;MAxHI,6BA0CG;IlB4jLP;IkB9+KA;MAxHI,4BA0CG;IlB+jLP;IkBj/KA;MAxHI,yBA0CG;IlBkkLP;IkBp/KA;MAxHI,UA0CG;IlBqkLP;IkBv/KA;MAxHI,gBA0CG;IlBwkLP;IkB1/KA;MAxHI,eA0CG;IlB2kLP;IkB7/KA;MAxHI,gBA0CG;IlB8kLP;IkBhgLA;MAxHI,aA0CG;IlBilLP;IkBngLA;MAxHI,gBA0CG;IlBolLP;IkBtgLA;MAxHI,eA0CG;IlBulLP;IkBzgLA;MAxHI,aA0CG;IlB0lLP;IkB5gLA;MAxHI,eA0CG;IlB6lLP;IkB/gLA;MAxHI,aA0CG;IlBgmLP;IkBlhLA;MAxHI,iBA0CG;IlBmmLP;IkBrhLA;MAxHI,uBA0CG;IlBsmLP;IkBxhLA;MAxHI,sBA0CG;IlBymLP;IkB3hLA;MAxHI,uBA0CG;IlB4mLP;IkB9hLA;MAxHI,oBA0CG;IlB+mLP;IkBjiLA;MAxHI,uBA0CG;IlBknLP;IkBpiLA;MAxHI,sBA0CG;IlBqnLP;IkBviLA;MAxHI,oBA0CG;IlBwnLP;IkB1iLA;MAxHI,sBA0CG;IlB2nLP;IkB7iLA;MAxHI,oBA0CG;IlB8nLP;IkBhjLA;MAxHI,gBA0CG;IlBioLP;IkBnjLA;MAxHI,sBA0CG;IlBooLP;IkBtjLA;MAxHI,qBA0CG;IlBuoLP;IkBzjLA;MAxHI,sBA0CG;IlB0oLP;IkB5jLA;MAxHI,mBA0CG;IlB6oLP;IkB/jLA;MAxHI,sBA0CG;IlBgpLP;IkBlkLA;MAxHI,qBA0CG;IlBmpLP;IkBrkLA;MAxHI,mBA0CG;IlBspLP;IkBxkLA;MAxHI,qBA0CG;IlBypLP;IkB3kLA;MAxHI,mBA0CG;IlB4pLP;IkB9kLA;MAxHI,sBA0CG;IlB+pLP;IkBjlLA;MAxHI,4BA0CG;IlBkqLP;IkBplLA;MAxHI,2BA0CG;IlBqqLP;IkBvlLA;MAxHI,4BA0CG;IlBwqLP;IkB1lLA;MAxHI,yBA0CG;IlB2qLP;IkB7lLA;MAxHI,4BA0CG;IlB8qLP;IkBhmLA;MAxHI,2BA0CG;IlBirLP;IkBnmLA;MAxHI,yBA0CG;IlBorLP;IkBtmLA;MAxHI,2BA0CG;IlBurLP;IkBzmLA;MAxHI,yBA0CG;IlB0rLP;IkB5mLA;MAxHI,qBA0CG;IlB6rLP;IkB/mLA;MAxHI,2BA0CG;IlBgsLP;IkBlnLA;MAxHI,0BA0CG;IlBmsLP;IkBrnLA;MAxHI,2BA0CG;IlBssLP;IkBxnLA;MAxHI,wBA0CG;IlBysLP;IkB3nLA;MAxHI,2BA0CG;IlB4sLP;IkB9nLA;MAxHI,0BA0CG;IlB+sLP;IkBjoLA;MAxHI,wBA0CG;IlBktLP;IkBpoLA;MAxHI,0BA0CG;IlBqtLP;IkBvoLA;MAxHI,wBA0CG;IlBwtLP;IkB1oLA;MAxHI,oBA0CG;IlB2tLP;IkB7oLA;MAxHI,0BA0CG;IlB8tLP;IkBhpLA;MAxHI,yBA0CG;IlBiuLP;IkBnpLA;MAxHI,0BA0CG;IlBouLP;IkBtpLA;MAxHI,uBA0CG;IlBuuLP;IkBzpLA;MAxHI,0BA0CG;IlB0uLP;IkB5pLA;MAxHI,yBA0CG;IlB6uLP;IkB/pLA;MAxHI,uBA0CG;IlBgvLP;IkBlqLA;MAxHI,yBA0CG;IlBmvLP;IkBrqLA;MAxHI,uBA0CG;IlBsvLP;IkBxqLA;MAxHI,uBA0CG;IlByvLP;IkB3qLA;MAxHI,6BA0CG;IlB4vLP;IkB9qLA;MAxHI,4BA0CG;IlB+vLP;IkBjrLA;MAxHI,6BA0CG;IlBkwLP;IkBprLA;MAxHI,0BA0CG;IlBqwLP;IkBvrLA;MAxHI,6BA0CG;IlBwwLP;IkB1rLA;MAxHI,4BA0CG;IlB2wLP;IkB7rLA;MAxHI,0BA0CG;IlB8wLP;IkBhsLA;MAxHI,4BA0CG;IlBixLP;IkBnsLA;MAxHI,0BA0CG;IlBoxLP;IkBtsLA;MAxHI,MA0CG;IlBuxLP;IkBzsLA;MAxHI,YA0CG;IlB0xLP;IkB5sLA;MAxHI,WA0CG;IlB6xLP;IkB/sLA;MAxHI,YA0CG;IlBgyLP;IkBltLA;MAxHI,SA0CG;IlBmyLP;IkBrtLA;MAxHI,YA0CG;IlBsyLP;IkBxtLA;MAxHI,WA0CG;IlByyLP;IkB3tLA;MAxHI,SA0CG;IlB4yLP;IkB9tLA;MAxHI,WA0CG;IlB+yLP;IkBjuLA;MAxHI,SA0CG;IlBkzLP;IkBpuLA;MAxHI,UA0CG;IlBqzLP;IkBvuLA;MAxHI,gBA0CG;IlBwzLP;IkB1uLA;MAxHI,eA0CG;IlB2zLP;IkB7uLA;MAxHI,gBA0CG;IlB8zLP;IkBhvLA;MAxHI,aA0CG;IlBi0LP;IkBnvLA;MAxHI,gBA0CG;IlBo0LP;IkBtvLA;MAxHI,eA0CG;IlBu0LP;IkBzvLA;MAxHI,aA0CG;IlB00LP;IkB5vLA;MAxHI,eA0CG;IlB60LP;IkB/vLA;MAxHI,aA0CG;IlBg1LP;IkBlwLA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBm1LP;IkBrwLA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBs1LP;IkBxwLA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBy1LP;IkB3wLA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlB41LP;IkB9wLA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB+1LP;IkBjxLA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBk2LP;IkBpxLA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBq2LP;IkBvxLA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBw2LP;IkB1xLA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB22LP;IkB7xLA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB82LP;IkBhyLA;MAxHI,iBA0CG;IlBi3LP;IkBnyLA;MAxHI,eA0CG;IlBo3LP;IkBtyLA;MAxHI,kBA0CG;IlBu3LP;EACF;EO/2LE;IWqEA;MAxHI,mBA0CG;IlB43LP;IkB9yLA;MAxHI,iBA0CG;IlB+3LP;IkBjzLA;MAxHI,WA0CG;IlBk4LP;IkBpzLA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlBq4LP;IkBvzLA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlBw4LP;IkB1zLA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlB24LP;IkB7zLA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlB84LP;IkBh0LA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlBi5LP;IkBn0LA;MAxHI,eA+CO;IlB+4LX;IkBt0LA;MAxHI,qBA+CO;IlBk5LX;IkBz0LA;MAxHI,cA+CO;IlBq5LX;IkB50LA;MAxHI,aA+CO;IlBw5LX;IkB/0LA;MAxHI,oBA+CO;IlB25LX;IkBl1LA;MAxHI,cA+CO;IlB85LX;IkBr1LA;MAxHI,kBA+CO;IlBi6LX;IkBx1LA;MAxHI,mBA+CO;IlBo6LX;IkB31LA;MAxHI,aA+CO;IlBu6LX;IkB91LA;MAxHI,oBA+CO;IlB06LX;IkBj2LA;MAxHI,iBA+CO;IlB66LX;IkBp2LA;MAxHI,kBA+CO;IlBg7LX;IkBv2LA;MAxHI,aA+CO;IlBm7LX;IkB12LA;MAxHI,cA0CG;IlB27LP;IkB72LA;MAxHI,mBA+CO;IlBy7LX;IkBh3LA;MAxHI,sBA+CO;IlB47LX;IkBn3LA;MAxHI,2BA+CO;IlB+7LX;IkBt3LA;MAxHI,8BA+CO;IlBk8LX;IkBz3LA;MAxHI,YA0CG;IlB08LP;IkB53LA;MAxHI,YA0CG;IlB68LP;IkB/3LA;MAxHI,cA0CG;IlBg9LP;IkBl4LA;MAxHI,cA0CG;IlBm9LP;IkBr4LA;MAxHI,eA+CO;IlBi9LX;IkBx4LA;MAxHI,iBA+CO;IlBo9LX;IkB34LA;MAxHI,uBA+CO;IlBu9LX;IkB94LA;MAxHI,2BA0CG;IlB+9LP;IkBj5LA;MAxHI,yBA0CG;IlBk+LP;IkBp5LA;MAxHI,uBA0CG;IlBq+LP;IkBv5LA;MAxHI,8BA0CG;IlBw+LP;IkB15LA;MAxHI,6BA0CG;IlB2+LP;IkB75LA;MAxHI,6BA0CG;IlB8+LP;IkBh6LA;MAxHI,oBA0CG;IlBi/LP;IkBn6LA;MAxHI,kBA0CG;IlBo/LP;IkBt6LA;MAxHI,qBA0CG;IlBu/LP;IkBz6LA;MAxHI,sBA0CG;IlB0/LP;IkB56LA;MAxHI,wBA0CG;IlB6/LP;IkB/6LA;MAxHI,sBA0CG;IlBggMP;IkBl7LA;MAxHI,oBA0CG;IlBmgMP;IkBr7LA;MAxHI,uBA0CG;IlBsgMP;IkBx7LA;MAxHI,qBA0CG;IlBygMP;IkB37LA;MAxHI,mBA0CG;IlB4gMP;IkB97LA;MAxHI,qBA0CG;IlB+gMP;IkBj8LA;MAxHI,oBA0CG;IlBkhMP;IkBp8LA;MAxHI,yBA0CG;IlBqhMP;IkBv8LA;MAxHI,uBA0CG;IlBwhMP;IkB18LA;MAxHI,qBA0CG;IlB2hMP;IkB78LA;MAxHI,4BA0CG;IlB8hMP;IkBh9LA;MAxHI,2BA0CG;IlBiiMP;IkBn9LA;MAxHI,sBA0CG;IlBoiMP;IkBt9LA;MAxHI,gBA0CG;IlBuiMP;IkBz9LA;MAxHI,sBA0CG;IlB0iMP;IkB59LA;MAxHI,oBA0CG;IlB6iMP;IkB/9LA;MAxHI,kBA0CG;IlBgjMP;IkBl+LA;MAxHI,oBA0CG;IlBmjMP;IkBr+LA;MAxHI,mBA0CG;IlBsjMP;IkBx+LA;MAxHI,kBA0CG;IlByjMP;IkB3+LA;MAxHI,gBA0CG;IlB4jMP;IkB9+LA;MAxHI,mBA0CG;IlB+jMP;IkBj/LA;MAxHI,oBA0CG;IlBkkMP;IkBp/LA;MAxHI,0BA0CG;IlBqkMP;IkBv/LA;MAxHI,qCA0CG;IlBwkMP;IkB1/LA;MAxHI,qCA0CG;IlB2kMP;IkB7/LA;MAxHI,qCA0CG;IlB8kMP;IkBhgMA;MAxHI,qCA0CG;IlBilMP;IkBngMA;MAxHI,mBA0CG;IlBolMP;IkBtgMA;MAxHI,mBA+CO;IlBklMX;IkBzgMA;MAxHI,sBA+CO;IlBqlMX;IkB5gMA;MAxHI,qBA+CO;IlBwlMX;IkB/gMA;MAxHI,SA0CG;IlBgmMP;IkBlhMA;MAxHI,QA0CG;IlBmmMP;IkBrhMA;MAxHI,QA0CG;IlBsmMP;IkBxhMA;MAxHI,QA0CG;IlBymMP;IkB3hMA;MAxHI,QA0CG;IlB4mMP;IkB9hMA;MAxHI,QA0CG;IlB+mMP;IkBjiMA;MAxHI,QA0CG;IlBknMP;IkBpiMA;MAxHI,QA0CG;IlBqnMP;IkBviMA;MAxHI,SA0CG;IlBwnMP;IkB1iMA;MAxHI,eA0CG;IlB2nMP;IkB7iMA;MAxHI,cA0CG;IlB8nMP;IkBhjMA;MAxHI,eA0CG;IlBioMP;IkBnjMA;MAxHI,YA0CG;IlBooMP;IkBtjMA;MAxHI,eA0CG;IlBuoMP;IkBzjMA;MAxHI,cA0CG;IlB0oMP;IkB5jMA;MAxHI,YA0CG;IlB6oMP;IkB/jMA;MAxHI,cA0CG;IlBgpMP;IkBlkMA;MAxHI,YA0CG;IlBmpMP;IkBrkMA;MAxHI,YA0CG;IlBspMP;IkBxkMA;MAxHI,gBA0CG;IlBypMP;IkB3kMA;MAxHI,sBA0CG;IlB4pMP;IkB9kMA;MAxHI,qBA0CG;IlB+pMP;IkBjlMA;MAxHI,sBA0CG;IlBkqMP;IkBplMA;MAxHI,mBA0CG;IlBqqMP;IkBvlMA;MAxHI,sBA0CG;IlBwqMP;IkB1lMA;MAxHI,qBA0CG;IlB2qMP;IkB7lMA;MAxHI,mBA0CG;IlB8qMP;IkBhmMA;MAxHI,qBA0CG;IlBirMP;IkBnmMA;MAxHI,mBA0CG;IlBorMP;IkBtmMA;MAxHI,mBA0CG;IlBurMP;IkBzmMA;MAxHI,eA0CG;IlB0rMP;IkB5mMA;MAxHI,qBA0CG;IlB6rMP;IkB/mMA;MAxHI,oBA0CG;IlBgsMP;IkBlnMA;MAxHI,qBA0CG;IlBmsMP;IkBrnMA;MAxHI,kBA0CG;IlBssMP;IkBxnMA;MAxHI,qBA0CG;IlBysMP;IkB3nMA;MAxHI,oBA0CG;IlB4sMP;IkB9nMA;MAxHI,kBA0CG;IlB+sMP;IkBjoMA;MAxHI,oBA0CG;IlBktMP;IkBpoMA;MAxHI,kBA0CG;IlBqtMP;IkBvoMA;MAxHI,kBA0CG;IlBwtMP;IkB1oMA;MAxHI,qBA0CG;IlB2tMP;IkB7oMA;MAxHI,2BA0CG;IlB8tMP;IkBhpMA;MAxHI,0BA0CG;IlBiuMP;IkBnpMA;MAxHI,2BA0CG;IlBouMP;IkBtpMA;MAxHI,wBA0CG;IlBuuMP;IkBzpMA;MAxHI,2BA0CG;IlB0uMP;IkB5pMA;MAxHI,0BA0CG;IlB6uMP;IkB/pMA;MAxHI,wBA0CG;IlBgvMP;IkBlqMA;MAxHI,0BA0CG;IlBmvMP;IkBrqMA;MAxHI,wBA0CG;IlBsvMP;IkBxqMA;MAxHI,wBA0CG;IlByvMP;IkB3qMA;MAxHI,oBA0CG;IlB4vMP;IkB9qMA;MAxHI,0BA0CG;IlB+vMP;IkBjrMA;MAxHI,yBA0CG;IlBkwMP;IkBprMA;MAxHI,0BA0CG;IlBqwMP;IkBvrMA;MAxHI,uBA0CG;IlBwwMP;IkB1rMA;MAxHI,0BA0CG;IlB2wMP;IkB7rMA;MAxHI,yBA0CG;IlB8wMP;IkBhsMA;MAxHI,uBA0CG;IlBixMP;IkBnsMA;MAxHI,yBA0CG;IlBoxMP;IkBtsMA;MAxHI,uBA0CG;IlBuxMP;IkBzsMA;MAxHI,uBA0CG;IlB0xMP;IkB5sMA;MAxHI,mBA0CG;IlB6xMP;IkB/sMA;MAxHI,yBA0CG;IlBgyMP;IkBltMA;MAxHI,wBA0CG;IlBmyMP;IkBrtMA;MAxHI,yBA0CG;IlBsyMP;IkBxtMA;MAxHI,sBA0CG;IlByyMP;IkB3tMA;MAxHI,yBA0CG;IlB4yMP;IkB9tMA;MAxHI,wBA0CG;IlB+yMP;IkBjuMA;MAxHI,sBA0CG;IlBkzMP;IkBpuMA;MAxHI,wBA0CG;IlBqzMP;IkBvuMA;MAxHI,sBA0CG;IlBwzMP;IkB1uMA;MAxHI,sBA0CG;IlB2zMP;IkB7uMA;MAxHI,sBA0CG;IlB8zMP;IkBhvMA;MAxHI,4BA0CG;IlBi0MP;IkBnvMA;MAxHI,2BA0CG;IlBo0MP;IkBtvMA;MAxHI,4BA0CG;IlBu0MP;IkBzvMA;MAxHI,yBA0CG;IlB00MP;IkB5vMA;MAxHI,4BA0CG;IlB60MP;IkB/vMA;MAxHI,2BA0CG;IlBg1MP;IkBlwMA;MAxHI,yBA0CG;IlBm1MP;IkBrwMA;MAxHI,2BA0CG;IlBs1MP;IkBxwMA;MAxHI,yBA0CG;IlBy1MP;IkB3wMA;MAxHI,6BA0CG;IlB41MP;IkB9wMA;MAxHI,4BA0CG;IlB+1MP;IkBjxMA;MAxHI,yBA0CG;IlBk2MP;IkBpxMA;MAxHI,UA0CG;IlBq2MP;IkBvxMA;MAxHI,gBA0CG;IlBw2MP;IkB1xMA;MAxHI,eA0CG;IlB22MP;IkB7xMA;MAxHI,gBA0CG;IlB82MP;IkBhyMA;MAxHI,aA0CG;IlBi3MP;IkBnyMA;MAxHI,gBA0CG;IlBo3MP;IkBtyMA;MAxHI,eA0CG;IlBu3MP;IkBzyMA;MAxHI,aA0CG;IlB03MP;IkB5yMA;MAxHI,eA0CG;IlB63MP;IkB/yMA;MAxHI,aA0CG;IlBg4MP;IkBlzMA;MAxHI,iBA0CG;IlBm4MP;IkBrzMA;MAxHI,uBA0CG;IlBs4MP;IkBxzMA;MAxHI,sBA0CG;IlBy4MP;IkB3zMA;MAxHI,uBA0CG;IlB44MP;IkB9zMA;MAxHI,oBA0CG;IlB+4MP;IkBj0MA;MAxHI,uBA0CG;IlBk5MP;IkBp0MA;MAxHI,sBA0CG;IlBq5MP;IkBv0MA;MAxHI,oBA0CG;IlBw5MP;IkB10MA;MAxHI,sBA0CG;IlB25MP;IkB70MA;MAxHI,oBA0CG;IlB85MP;IkBh1MA;MAxHI,gBA0CG;IlBi6MP;IkBn1MA;MAxHI,sBA0CG;IlBo6MP;IkBt1MA;MAxHI,qBA0CG;IlBu6MP;IkBz1MA;MAxHI,sBA0CG;IlB06MP;IkB51MA;MAxHI,mBA0CG;IlB66MP;IkB/1MA;MAxHI,sBA0CG;IlBg7MP;IkBl2MA;MAxHI,qBA0CG;IlBm7MP;IkBr2MA;MAxHI,mBA0CG;IlBs7MP;IkBx2MA;MAxHI,qBA0CG;IlBy7MP;IkB32MA;MAxHI,mBA0CG;IlB47MP;IkB92MA;MAxHI,sBA0CG;IlB+7MP;IkBj3MA;MAxHI,4BA0CG;IlBk8MP;IkBp3MA;MAxHI,2BA0CG;IlBq8MP;IkBv3MA;MAxHI,4BA0CG;IlBw8MP;IkB13MA;MAxHI,yBA0CG;IlB28MP;IkB73MA;MAxHI,4BA0CG;IlB88MP;IkBh4MA;MAxHI,2BA0CG;IlBi9MP;IkBn4MA;MAxHI,yBA0CG;IlBo9MP;IkBt4MA;MAxHI,2BA0CG;IlBu9MP;IkBz4MA;MAxHI,yBA0CG;IlB09MP;IkB54MA;MAxHI,qBA0CG;IlB69MP;IkB/4MA;MAxHI,2BA0CG;IlBg+MP;IkBl5MA;MAxHI,0BA0CG;IlBm+MP;IkBr5MA;MAxHI,2BA0CG;IlBs+MP;IkBx5MA;MAxHI,wBA0CG;IlBy+MP;IkB35MA;MAxHI,2BA0CG;IlB4+MP;IkB95MA;MAxHI,0BA0CG;IlB++MP;IkBj6MA;MAxHI,wBA0CG;IlBk/MP;IkBp6MA;MAxHI,0BA0CG;IlBq/MP;IkBv6MA;MAxHI,wBA0CG;IlBw/MP;IkB16MA;MAxHI,oBA0CG;IlB2/MP;IkB76MA;MAxHI,0BA0CG;IlB8/MP;IkBh7MA;MAxHI,yBA0CG;IlBigNP;IkBn7MA;MAxHI,0BA0CG;IlBogNP;IkBt7MA;MAxHI,uBA0CG;IlBugNP;IkBz7MA;MAxHI,0BA0CG;IlB0gNP;IkB57MA;MAxHI,yBA0CG;IlB6gNP;IkB/7MA;MAxHI,uBA0CG;IlBghNP;IkBl8MA;MAxHI,yBA0CG;IlBmhNP;IkBr8MA;MAxHI,uBA0CG;IlBshNP;IkBx8MA;MAxHI,uBA0CG;IlByhNP;IkB38MA;MAxHI,6BA0CG;IlB4hNP;IkB98MA;MAxHI,4BA0CG;IlB+hNP;IkBj9MA;MAxHI,6BA0CG;IlBkiNP;IkBp9MA;MAxHI,0BA0CG;IlBqiNP;IkBv9MA;MAxHI,6BA0CG;IlBwiNP;IkB19MA;MAxHI,4BA0CG;IlB2iNP;IkB79MA;MAxHI,0BA0CG;IlB8iNP;IkBh+MA;MAxHI,4BA0CG;IlBijNP;IkBn+MA;MAxHI,0BA0CG;IlBojNP;IkBt+MA;MAxHI,MA0CG;IlBujNP;IkBz+MA;MAxHI,YA0CG;IlB0jNP;IkB5+MA;MAxHI,WA0CG;IlB6jNP;IkB/+MA;MAxHI,YA0CG;IlBgkNP;IkBl/MA;MAxHI,SA0CG;IlBmkNP;IkBr/MA;MAxHI,YA0CG;IlBskNP;IkBx/MA;MAxHI,WA0CG;IlBykNP;IkB3/MA;MAxHI,SA0CG;IlB4kNP;IkB9/MA;MAxHI,WA0CG;IlB+kNP;IkBjgNA;MAxHI,SA0CG;IlBklNP;IkBpgNA;MAxHI,UA0CG;IlBqlNP;IkBvgNA;MAxHI,gBA0CG;IlBwlNP;IkB1gNA;MAxHI,eA0CG;IlB2lNP;IkB7gNA;MAxHI,gBA0CG;IlB8lNP;IkBhhNA;MAxHI,aA0CG;IlBimNP;IkBnhNA;MAxHI,gBA0CG;IlBomNP;IkBthNA;MAxHI,eA0CG;IlBumNP;IkBzhNA;MAxHI,aA0CG;IlB0mNP;IkB5hNA;MAxHI,eA0CG;IlB6mNP;IkB/hNA;MAxHI,aA0CG;IlBgnNP;IkBliNA;MAxHI,kBA0CG;MA1CH,aA0CG;IlBmnNP;IkBriNA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBsnNP;IkBxiNA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBynNP;IkB3iNA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlB4nNP;IkB9iNA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB+nNP;IkBjjNA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlBkoNP;IkBpjNA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlBqoNP;IkBvjNA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlBwoNP;IkB1jNA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlB2oNP;IkB7jNA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlB8oNP;IkBhkNA;MAxHI,iBA0CG;IlBipNP;IkBnkNA;MAxHI,eA0CG;IlBopNP;IkBtkNA;MAxHI,kBA0CG;IlBupNP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-1 {\n    grid-template-columns: 1fr;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 0.75rem;\n  }\n  .m-4 {\n    margin: 1rem;\n  }\n  .m-5 {\n    margin: 1.25rem;\n  }\n  .m-6 {\n    margin: 1.5rem;\n  }\n  .m-7 {\n    margin: 2rem;\n  }\n  .m-8 {\n    margin: 2.5rem;\n  }\n  .m-9 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 0.75rem;\n  }\n  .mx-4 {\n    margin-inline: 1rem;\n  }\n  .mx-5 {\n    margin-inline: 1.25rem;\n  }\n  .mx-6 {\n    margin-inline: 1.5rem;\n  }\n  .mx-7 {\n    margin-inline: 2rem;\n  }\n  .mx-8 {\n    margin-inline: 2.5rem;\n  }\n  .mx-9 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 0.75rem;\n  }\n  .my-4 {\n    margin-block: 1rem;\n  }\n  .my-5 {\n    margin-block: 1.25rem;\n  }\n  .my-6 {\n    margin-block: 1.5rem;\n  }\n  .my-7 {\n    margin-block: 2rem;\n  }\n  .my-8 {\n    margin-block: 2.5rem;\n  }\n  .my-9 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 0.75rem;\n  }\n  .mt-4 {\n    margin-block-start: 1rem;\n  }\n  .mt-5 {\n    margin-block-start: 1.25rem;\n  }\n  .mt-6 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-7 {\n    margin-block-start: 2rem;\n  }\n  .mt-8 {\n    margin-block-start: 2.5rem;\n  }\n  .mt-9 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 0.75rem;\n  }\n  .me-4 {\n    margin-inline-end: 1rem;\n  }\n  .me-5 {\n    margin-inline-end: 1.25rem;\n  }\n  .me-6 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-7 {\n    margin-inline-end: 2rem;\n  }\n  .me-8 {\n    margin-inline-end: 2.5rem;\n  }\n  .me-9 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 0.75rem;\n  }\n  .mb-4 {\n    margin-block-end: 1rem;\n  }\n  .mb-5 {\n    margin-block-end: 1.25rem;\n  }\n  .mb-6 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-7 {\n    margin-block-end: 2rem;\n  }\n  .mb-8 {\n    margin-block-end: 2.5rem;\n  }\n  .mb-9 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 0.75rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1rem;\n  }\n  .ms-5 {\n    margin-inline-start: 1.25rem;\n  }\n  .ms-6 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-7 {\n    margin-inline-start: 2rem;\n  }\n  .ms-8 {\n    margin-inline-start: 2.5rem;\n  }\n  .ms-9 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 0.75rem;\n  }\n  .p-4 {\n    padding: 1rem;\n  }\n  .p-5 {\n    padding: 1.25rem;\n  }\n  .p-6 {\n    padding: 1.5rem;\n  }\n  .p-7 {\n    padding: 2rem;\n  }\n  .p-8 {\n    padding: 2.5rem;\n  }\n  .p-9 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 0.75rem;\n  }\n  .px-4 {\n    padding-inline: 1rem;\n  }\n  .px-5 {\n    padding-inline: 1.25rem;\n  }\n  .px-6 {\n    padding-inline: 1.5rem;\n  }\n  .px-7 {\n    padding-inline: 2rem;\n  }\n  .px-8 {\n    padding-inline: 2.5rem;\n  }\n  .px-9 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 0.75rem;\n  }\n  .py-4 {\n    padding-block: 1rem;\n  }\n  .py-5 {\n    padding-block: 1.25rem;\n  }\n  .py-6 {\n    padding-block: 1.5rem;\n  }\n  .py-7 {\n    padding-block: 2rem;\n  }\n  .py-8 {\n    padding-block: 2.5rem;\n  }\n  .py-9 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 0.75rem;\n  }\n  .pt-4 {\n    padding-block-start: 1rem;\n  }\n  .pt-5 {\n    padding-block-start: 1.25rem;\n  }\n  .pt-6 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-7 {\n    padding-block-start: 2rem;\n  }\n  .pt-8 {\n    padding-block-start: 2.5rem;\n  }\n  .pt-9 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1rem;\n  }\n  .pe-5 {\n    padding-inline-end: 1.25rem;\n  }\n  .pe-6 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-7 {\n    padding-inline-end: 2rem;\n  }\n  .pe-8 {\n    padding-inline-end: 2.5rem;\n  }\n  .pe-9 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 0.75rem;\n  }\n  .pb-4 {\n    padding-block-end: 1rem;\n  }\n  .pb-5 {\n    padding-block-end: 1.25rem;\n  }\n  .pb-6 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-7 {\n    padding-block-end: 2rem;\n  }\n  .pb-8 {\n    padding-block-end: 2.5rem;\n  }\n  .pb-9 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 0.75rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1rem;\n  }\n  .ps-5 {\n    padding-inline-start: 1.25rem;\n  }\n  .ps-6 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-7 {\n    padding-inline-start: 2rem;\n  }\n  .ps-8 {\n    padding-inline-start: 2.5rem;\n  }\n  .ps-9 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 0.75rem;\n  }\n  .gap-4 {\n    gap: 1rem;\n  }\n  .gap-5 {\n    gap: 1.25rem;\n  }\n  .gap-6 {\n    gap: 1.5rem;\n  }\n  .gap-7 {\n    gap: 2rem;\n  }\n  .gap-8 {\n    gap: 2.5rem;\n  }\n  .gap-9 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 0.75rem;\n  }\n  .row-gap-4 {\n    row-gap: 1rem;\n  }\n  .row-gap-5 {\n    row-gap: 1.25rem;\n  }\n  .row-gap-6 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-7 {\n    row-gap: 2rem;\n  }\n  .row-gap-8 {\n    row-gap: 2.5rem;\n  }\n  .row-gap-9 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 0.75rem;\n  }\n  .column-gap-4 {\n    column-gap: 1rem;\n  }\n  .column-gap-5 {\n    column-gap: 1.25rem;\n  }\n  .column-gap-6 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-7 {\n    column-gap: 2rem;\n  }\n  .column-gap-8 {\n    column-gap: 2.5rem;\n  }\n  .column-gap-9 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 0.75rem;\n    }\n    .sm\\:m-4 {\n      margin: 1rem;\n    }\n    .sm\\:m-5 {\n      margin: 1.25rem;\n    }\n    .sm\\:m-6 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-7 {\n      margin: 2rem;\n    }\n    .sm\\:m-8 {\n      margin: 2.5rem;\n    }\n    .sm\\:m-9 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .sm\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .sm\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .sm\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .sm\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-7 {\n      margin-block: 2rem;\n    }\n    .sm\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .sm\\:my-9 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .sm\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .sm\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .sm\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .sm\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .sm\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .sm\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .sm\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .sm\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .sm\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .sm\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .sm\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .sm\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 0.75rem;\n    }\n    .sm\\:p-4 {\n      padding: 1rem;\n    }\n    .sm\\:p-5 {\n      padding: 1.25rem;\n    }\n    .sm\\:p-6 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-7 {\n      padding: 2rem;\n    }\n    .sm\\:p-8 {\n      padding: 2.5rem;\n    }\n    .sm\\:p-9 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .sm\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .sm\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .sm\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .sm\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-7 {\n      padding-block: 2rem;\n    }\n    .sm\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .sm\\:py-9 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .sm\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .sm\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .sm\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .sm\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .sm\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .sm\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .sm\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .sm\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .sm\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .sm\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .sm\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .sm\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1rem;\n    }\n    .sm\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .sm\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-7 {\n      gap: 2rem;\n    }\n    .sm\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .sm\\:gap-9 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .sm\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .sm\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .sm\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .sm\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .sm\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .sm\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 0.75rem;\n    }\n    .md\\:m-4 {\n      margin: 1rem;\n    }\n    .md\\:m-5 {\n      margin: 1.25rem;\n    }\n    .md\\:m-6 {\n      margin: 1.5rem;\n    }\n    .md\\:m-7 {\n      margin: 2rem;\n    }\n    .md\\:m-8 {\n      margin: 2.5rem;\n    }\n    .md\\:m-9 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .md\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .md\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .md\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1rem;\n    }\n    .md\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .md\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-7 {\n      margin-block: 2rem;\n    }\n    .md\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .md\\:my-9 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .md\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .md\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .md\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .md\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .md\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .md\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .md\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .md\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .md\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .md\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .md\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .md\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 0.75rem;\n    }\n    .md\\:p-4 {\n      padding: 1rem;\n    }\n    .md\\:p-5 {\n      padding: 1.25rem;\n    }\n    .md\\:p-6 {\n      padding: 1.5rem;\n    }\n    .md\\:p-7 {\n      padding: 2rem;\n    }\n    .md\\:p-8 {\n      padding: 2.5rem;\n    }\n    .md\\:p-9 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .md\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .md\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .md\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1rem;\n    }\n    .md\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .md\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-7 {\n      padding-block: 2rem;\n    }\n    .md\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .md\\:py-9 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .md\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .md\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .md\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .md\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .md\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .md\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .md\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .md\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .md\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .md\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .md\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .md\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .md\\:gap-4 {\n      gap: 1rem;\n    }\n    .md\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .md\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-7 {\n      gap: 2rem;\n    }\n    .md\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .md\\:gap-9 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .md\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .md\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .md\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .md\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .md\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .md\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 0.75rem;\n    }\n    .lg\\:m-4 {\n      margin: 1rem;\n    }\n    .lg\\:m-5 {\n      margin: 1.25rem;\n    }\n    .lg\\:m-6 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-7 {\n      margin: 2rem;\n    }\n    .lg\\:m-8 {\n      margin: 2.5rem;\n    }\n    .lg\\:m-9 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .lg\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .lg\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .lg\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .lg\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-7 {\n      margin-block: 2rem;\n    }\n    .lg\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .lg\\:my-9 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .lg\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .lg\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .lg\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .lg\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .lg\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .lg\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .lg\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .lg\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .lg\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .lg\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .lg\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .lg\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 0.75rem;\n    }\n    .lg\\:p-4 {\n      padding: 1rem;\n    }\n    .lg\\:p-5 {\n      padding: 1.25rem;\n    }\n    .lg\\:p-6 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-7 {\n      padding: 2rem;\n    }\n    .lg\\:p-8 {\n      padding: 2.5rem;\n    }\n    .lg\\:p-9 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .lg\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .lg\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .lg\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .lg\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-7 {\n      padding-block: 2rem;\n    }\n    .lg\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .lg\\:py-9 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .lg\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .lg\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .lg\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .lg\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .lg\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .lg\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .lg\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .lg\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .lg\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .lg\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .lg\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .lg\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1rem;\n    }\n    .lg\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .lg\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-7 {\n      gap: 2rem;\n    }\n    .lg\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .lg\\:gap-9 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .lg\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .lg\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .lg\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .lg\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .lg\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .lg\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .xl\\:m-4 {\n      margin: 1rem;\n    }\n    .xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-7 {\n      margin: 2rem;\n    }\n    .xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .xl\\:m-9 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .xl\\:p-4 {\n      padding: 1rem;\n    }\n    .xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-7 {\n      padding: 2rem;\n    }\n    .xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .xl\\:p-9 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .\\32 xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-7 {\n      margin: 2rem;\n    }\n    .\\32 xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .\\32 xl\\:m-9 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .\\32 xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .\\32 xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .\\32 xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .\\32 xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .\\32 xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .\\32 xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .\\32 xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .\\32 xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .\\32 xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .\\32 xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .\\32 xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .\\32 xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .\\32 xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .\\32 xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .\\32 xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-7 {\n      padding: 2rem;\n    }\n    .\\32 xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .\\32 xl\\:p-9 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .\\32 xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .\\32 xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .\\32 xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .\\32 xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .\\32 xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .\\32 xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .\\32 xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .\\32 xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .\\32 xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .\\32 xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .\\32 xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .\\32 xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .\\32 xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .\\32 xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .\\32 xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .\\32 xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .\\32 xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .\\32 xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .\\32 xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .\\32 xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .\\32 xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .\\32 xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .\\32 xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 7a327a175de7f21cea7de13664fd05ffe8932786..03dab1a58077191d7e1916ede655cee930360772 100644 (file)
       "class": "grid-cols",
       "property": "grid-template-columns",
       "classes": [
+        "grid-cols-1",
         "grid-cols-2",
         "grid-cols-3",
         "grid-cols-4",
         "m-3",
         "m-4",
         "m-5",
+        "m-6",
+        "m-7",
+        "m-8",
+        "m-9",
         "m-auto"
       ]
     },
         "mx-3",
         "mx-4",
         "mx-5",
+        "mx-6",
+        "mx-7",
+        "mx-8",
+        "mx-9",
         "mx-auto"
       ]
     },
         "my-3",
         "my-4",
         "my-5",
+        "my-6",
+        "my-7",
+        "my-8",
+        "my-9",
         "my-auto"
       ]
     },
         "mt-3",
         "mt-4",
         "mt-5",
+        "mt-6",
+        "mt-7",
+        "mt-8",
+        "mt-9",
         "mt-auto"
       ]
     },
         "me-3",
         "me-4",
         "me-5",
+        "me-6",
+        "me-7",
+        "me-8",
+        "me-9",
         "me-auto"
       ]
     },
         "mb-3",
         "mb-4",
         "mb-5",
+        "mb-6",
+        "mb-7",
+        "mb-8",
+        "mb-9",
         "mb-auto"
       ]
     },
         "ms-3",
         "ms-4",
         "ms-5",
+        "ms-6",
+        "ms-7",
+        "ms-8",
+        "ms-9",
         "ms--1",
         "ms--2",
         "ms-auto"
         "p-2",
         "p-3",
         "p-4",
-        "p-5"
+        "p-5",
+        "p-6",
+        "p-7",
+        "p-8",
+        "p-9"
       ]
     },
     "padding-x": {
         "px-2",
         "px-3",
         "px-4",
-        "px-5"
+        "px-5",
+        "px-6",
+        "px-7",
+        "px-8",
+        "px-9"
       ]
     },
     "padding-y": {
         "py-2",
         "py-3",
         "py-4",
-        "py-5"
+        "py-5",
+        "py-6",
+        "py-7",
+        "py-8",
+        "py-9"
       ]
     },
     "padding-top": {
         "pt-2",
         "pt-3",
         "pt-4",
-        "pt-5"
+        "pt-5",
+        "pt-6",
+        "pt-7",
+        "pt-8",
+        "pt-9"
       ]
     },
     "padding-end": {
         "pe-2",
         "pe-3",
         "pe-4",
-        "pe-5"
+        "pe-5",
+        "pe-6",
+        "pe-7",
+        "pe-8",
+        "pe-9"
       ]
     },
     "padding-bottom": {
         "pb-2",
         "pb-3",
         "pb-4",
-        "pb-5"
+        "pb-5",
+        "pb-6",
+        "pb-7",
+        "pb-8",
+        "pb-9"
       ]
     },
     "padding-start": {
         "ps-2",
         "ps-3",
         "ps-4",
-        "ps-5"
+        "ps-5",
+        "ps-6",
+        "ps-7",
+        "ps-8",
+        "ps-9"
       ]
     },
     "gap": {
         "gap-2",
         "gap-3",
         "gap-4",
-        "gap-5"
+        "gap-5",
+        "gap-6",
+        "gap-7",
+        "gap-8",
+        "gap-9"
       ]
     },
     "row-gap": {
         "row-gap-2",
         "row-gap-3",
         "row-gap-4",
-        "row-gap-5"
+        "row-gap-5",
+        "row-gap-6",
+        "row-gap-7",
+        "row-gap-8",
+        "row-gap-9"
       ]
     },
     "column-gap": {
         "column-gap-2",
         "column-gap-3",
         "column-gap-4",
-        "column-gap-5"
+        "column-gap-5",
+        "column-gap-6",
+        "column-gap-7",
+        "column-gap-8",
+        "column-gap-9"
       ]
     },
     "font-family": {
index 8483844cdaa0ce24ceacad1e0ee2fb039e19f6da..1ee8cc1ebc0c22e11a3ce8a4f806ab161ca31547 100644 (file)
@@ -3,5 +3,5 @@
   * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root,reboot,layout,content,forms,components,custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (min-width:576px){.sm\:sticky-top{z-index:1020;position:sticky;top:0}.sm\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:768px){.md\:sticky-top{z-index:1020;position:sticky;top:0}.md\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1024px){.lg\:sticky-top{z-index:1020;position:sticky;top:0}.lg\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1280px){.xl\:sticky-top{z-index:1020;position:sticky;top:0}.xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1536px){.\32 xl\:sticky-top{z-index:1020;position:sticky;top:0}.\32 xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.sm\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.sm\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.md\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.md\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.lg\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.lg\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.\32 xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.\32 xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-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}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self: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 stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400))}.underline-accent{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400))}.underline-danger{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400))}.underline-warning{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400))}.underline-info{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400))}.underline-inverse{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200))}.underline-secondary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{-webkit-text-decoration-color:var(--bs-link-color);text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-text{-webkit-user-select:text;user-select:text}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (min-width:576px){.sm\:float-start{float:inline-start}.sm\:float-end{float:inline-end}.sm\:float-none{float:none}.sm\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-fit-none{-o-object-fit:none;object-fit:none}.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-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\:justify-self-start{justify-self:flex-start}.sm\:justify-self-end{justify-self:flex-end}.sm\:justify-self-center{justify-self:center}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self: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 stretch}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.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-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:1rem}.sm\:m-4{margin:1.5rem}.sm\:m-5{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:1rem}.sm\:mx-4{margin-inline:1.5rem}.sm\:mx-5{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:1rem}.sm\:my-4{margin-block:1.5rem}.sm\:my-5{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:1rem}.sm\:mt-4{margin-block-start:1.5rem}.sm\:mt-5{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:1rem}.sm\:me-4{margin-inline-end:1.5rem}.sm\:me-5{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:1rem}.sm\:mb-4{margin-block-end:1.5rem}.sm\:mb-5{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:1rem}.sm\:ms-4{margin-inline-start:1.5rem}.sm\:ms-5{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:1rem}.sm\:p-4{padding:1.5rem}.sm\:p-5{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:1rem}.sm\:px-4{padding-inline:1.5rem}.sm\:px-5{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:1rem}.sm\:py-4{padding-block:1.5rem}.sm\:py-5{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:1rem}.sm\:pt-4{padding-block-start:1.5rem}.sm\:pt-5{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:1rem}.sm\:pe-4{padding-inline-end:1.5rem}.sm\:pe-5{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:1rem}.sm\:pb-4{padding-block-end:1.5rem}.sm\:pb-5{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:1rem}.sm\:ps-4{padding-inline-start:1.5rem}.sm\:ps-5{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:1rem}.sm\:gap-4{gap:1.5rem}.sm\:gap-5{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:1rem}.sm\:row-gap-4{row-gap:1.5rem}.sm\:row-gap-5{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.sm\:text-start{text-align:start}.sm\:text-end{text-align:end}.sm\:text-center{text-align:center}}@media (min-width:768px){.md\:float-start{float:inline-start}.md\:float-end{float:inline-end}.md\:float-none{float:none}.md\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.md\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.md\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-fit-none{-o-object-fit:none;object-fit:none}.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-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\:justify-self-start{justify-self:flex-start}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-center{justify-self:center}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self: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 stretch}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.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-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:1rem}.md\:m-4{margin:1.5rem}.md\:m-5{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:1rem}.md\:mx-4{margin-inline:1.5rem}.md\:mx-5{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:1rem}.md\:my-4{margin-block:1.5rem}.md\:my-5{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:1rem}.md\:mt-4{margin-block-start:1.5rem}.md\:mt-5{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:1rem}.md\:me-4{margin-inline-end:1.5rem}.md\:me-5{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:1rem}.md\:mb-4{margin-block-end:1.5rem}.md\:mb-5{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:1rem}.md\:ms-4{margin-inline-start:1.5rem}.md\:ms-5{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:1rem}.md\:p-4{padding:1.5rem}.md\:p-5{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:1rem}.md\:px-4{padding-inline:1.5rem}.md\:px-5{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:1rem}.md\:py-4{padding-block:1.5rem}.md\:py-5{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:1rem}.md\:pt-4{padding-block-start:1.5rem}.md\:pt-5{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:1rem}.md\:pe-4{padding-inline-end:1.5rem}.md\:pe-5{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:1rem}.md\:pb-4{padding-block-end:1.5rem}.md\:pb-5{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:1rem}.md\:ps-4{padding-inline-start:1.5rem}.md\:ps-5{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:1rem}.md\:gap-4{gap:1.5rem}.md\:gap-5{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:1rem}.md\:row-gap-4{row-gap:1.5rem}.md\:row-gap-5{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.md\:text-start{text-align:start}.md\:text-end{text-align:end}.md\:text-center{text-align:center}}@media (min-width:1024px){.lg\:float-start{float:inline-start}.lg\:float-end{float:inline-end}.lg\:float-none{float:none}.lg\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-fit-none{-o-object-fit:none;object-fit:none}.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-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\:justify-self-start{justify-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-center{justify-self:center}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self: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 stretch}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.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-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:1rem}.lg\:m-4{margin:1.5rem}.lg\:m-5{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:1rem}.lg\:mx-4{margin-inline:1.5rem}.lg\:mx-5{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:1rem}.lg\:my-4{margin-block:1.5rem}.lg\:my-5{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:1rem}.lg\:mt-4{margin-block-start:1.5rem}.lg\:mt-5{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:1rem}.lg\:me-4{margin-inline-end:1.5rem}.lg\:me-5{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:1rem}.lg\:mb-4{margin-block-end:1.5rem}.lg\:mb-5{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:1rem}.lg\:ms-4{margin-inline-start:1.5rem}.lg\:ms-5{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:1rem}.lg\:p-4{padding:1.5rem}.lg\:p-5{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:1rem}.lg\:px-4{padding-inline:1.5rem}.lg\:px-5{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:1rem}.lg\:py-4{padding-block:1.5rem}.lg\:py-5{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:1rem}.lg\:pt-4{padding-block-start:1.5rem}.lg\:pt-5{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:1rem}.lg\:pe-4{padding-inline-end:1.5rem}.lg\:pe-5{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:1rem}.lg\:pb-4{padding-block-end:1.5rem}.lg\:pb-5{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:1rem}.lg\:ps-4{padding-inline-start:1.5rem}.lg\:ps-5{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:1rem}.lg\:gap-4{gap:1.5rem}.lg\:gap-5{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:1rem}.lg\:row-gap-4{row-gap:1.5rem}.lg\:row-gap-5{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.lg\:text-start{text-align:start}.lg\:text-end{text-align:end}.lg\:text-center{text-align:center}}@media (min-width:1280px){.xl\:float-start{float:inline-start}.xl\:float-end{float:inline-end}.xl\:float-none{float:none}.xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-fit-none{-o-object-fit:none;object-fit:none}.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-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\:justify-self-start{justify-self:flex-start}.xl\:justify-self-end{justify-self:flex-end}.xl\:justify-self-center{justify-self:center}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self: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 stretch}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.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-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:1rem}.xl\:m-4{margin:1.5rem}.xl\:m-5{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:1rem}.xl\:mx-4{margin-inline:1.5rem}.xl\:mx-5{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:1rem}.xl\:my-4{margin-block:1.5rem}.xl\:my-5{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:1rem}.xl\:mt-4{margin-block-start:1.5rem}.xl\:mt-5{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:1rem}.xl\:me-4{margin-inline-end:1.5rem}.xl\:me-5{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:1rem}.xl\:mb-4{margin-block-end:1.5rem}.xl\:mb-5{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:1rem}.xl\:ms-4{margin-inline-start:1.5rem}.xl\:ms-5{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:1rem}.xl\:p-4{padding:1.5rem}.xl\:p-5{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:1rem}.xl\:px-4{padding-inline:1.5rem}.xl\:px-5{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:1rem}.xl\:py-4{padding-block:1.5rem}.xl\:py-5{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:1rem}.xl\:pt-4{padding-block-start:1.5rem}.xl\:pt-5{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:1rem}.xl\:pe-4{padding-inline-end:1.5rem}.xl\:pe-5{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:1rem}.xl\:pb-4{padding-block-end:1.5rem}.xl\:pb-5{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:1rem}.xl\:ps-4{padding-inline-start:1.5rem}.xl\:ps-5{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:1rem}.xl\:gap-4{gap:1.5rem}.xl\:gap-5{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:1rem}.xl\:row-gap-4{row-gap:1.5rem}.xl\:row-gap-5{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.xl\:text-start{text-align:start}.xl\:text-end{text-align:end}.xl\:text-center{text-align:center}}@media (min-width:1536px){.\32 xl\:float-start{float:inline-start}.\32 xl\:float-end{float:inline-end}.\32 xl\:float-none{float:none}.\32 xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.\32 xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.\32 xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.\32 xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.\32 xl\:object-fit-none{-o-object-fit:none;object-fit:none}.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:justify-self-start{justify-self:flex-start}.\32 xl\:justify-self-end{justify-self:flex-end}.\32 xl\:justify-self-center{justify-self:center}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:1rem}.\32 xl\:m-4{margin:1.5rem}.\32 xl\:m-5{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:1rem}.\32 xl\:mx-4{margin-inline:1.5rem}.\32 xl\:mx-5{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:1rem}.\32 xl\:my-4{margin-block:1.5rem}.\32 xl\:my-5{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:1rem}.\32 xl\:mt-4{margin-block-start:1.5rem}.\32 xl\:mt-5{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:1rem}.\32 xl\:me-4{margin-inline-end:1.5rem}.\32 xl\:me-5{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:1rem}.\32 xl\:mb-4{margin-block-end:1.5rem}.\32 xl\:mb-5{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:1rem}.\32 xl\:ms-4{margin-inline-start:1.5rem}.\32 xl\:ms-5{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:1rem}.\32 xl\:p-4{padding:1.5rem}.\32 xl\:p-5{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:1rem}.\32 xl\:px-4{padding-inline:1.5rem}.\32 xl\:px-5{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:1rem}.\32 xl\:py-4{padding-block:1.5rem}.\32 xl\:py-5{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:1rem}.\32 xl\:pt-4{padding-block-start:1.5rem}.\32 xl\:pt-5{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:1rem}.\32 xl\:pe-4{padding-inline-end:1.5rem}.\32 xl\:pe-5{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:1rem}.\32 xl\:pb-4{padding-block-end:1.5rem}.\32 xl\:pb-5{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:1rem}.\32 xl\:ps-4{padding-inline-start:1.5rem}.\32 xl\:ps-5{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:1rem}.\32 xl\:gap-4{gap:1.5rem}.\32 xl\:gap-5{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:1rem}.\32 xl\:row-gap-4{row-gap:1.5rem}.\32 xl\:row-gap-5{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.\32 xl\:text-start{text-align:start}.\32 xl\:text-end{text-align:end}.\32 xl\:text-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
+:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root,reboot,layout,content,forms,components,custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (min-width:576px){.sm\:sticky-top{z-index:1020;position:sticky;top:0}.sm\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:768px){.md\:sticky-top{z-index:1020;position:sticky;top:0}.md\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1024px){.lg\:sticky-top{z-index:1020;position:sticky;top:0}.lg\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1280px){.xl\:sticky-top{z-index:1020;position:sticky;top:0}.xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1536px){.\32 xl\:sticky-top{z-index:1020;position:sticky;top:0}.\32 xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.sm\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.sm\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.md\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.md\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.lg\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.lg\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.\32 xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.\32 xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-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}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self: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 stretch}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:2rem}.m-8{margin:2.5rem}.m-9{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:.75rem}.mx-4{margin-inline:1rem}.mx-5{margin-inline:1.25rem}.mx-6{margin-inline:1.5rem}.mx-7{margin-inline:2rem}.mx-8{margin-inline:2.5rem}.mx-9{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:.75rem}.my-4{margin-block:1rem}.my-5{margin-block:1.25rem}.my-6{margin-block:1.5rem}.my-7{margin-block:2rem}.my-8{margin-block:2.5rem}.my-9{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:.75rem}.mt-4{margin-block-start:1rem}.mt-5{margin-block-start:1.25rem}.mt-6{margin-block-start:1.5rem}.mt-7{margin-block-start:2rem}.mt-8{margin-block-start:2.5rem}.mt-9{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:.75rem}.me-4{margin-inline-end:1rem}.me-5{margin-inline-end:1.25rem}.me-6{margin-inline-end:1.5rem}.me-7{margin-inline-end:2rem}.me-8{margin-inline-end:2.5rem}.me-9{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:.75rem}.mb-4{margin-block-end:1rem}.mb-5{margin-block-end:1.25rem}.mb-6{margin-block-end:1.5rem}.mb-7{margin-block-end:2rem}.mb-8{margin-block-end:2.5rem}.mb-9{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.ms-5{margin-inline-start:1.25rem}.ms-6{margin-inline-start:1.5rem}.ms-7{margin-inline-start:2rem}.ms-8{margin-inline-start:2.5rem}.ms-9{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:2rem}.p-8{padding:2.5rem}.p-9{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-5{padding-inline:1.25rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:2rem}.px-8{padding-inline:2.5rem}.px-9{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-4{padding-block:1rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-7{padding-block:2rem}.py-8{padding-block:2.5rem}.py-9{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:.75rem}.pt-4{padding-block-start:1rem}.pt-5{padding-block-start:1.25rem}.pt-6{padding-block-start:1.5rem}.pt-7{padding-block-start:2rem}.pt-8{padding-block-start:2.5rem}.pt-9{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-5{padding-inline-end:1.25rem}.pe-6{padding-inline-end:1.5rem}.pe-7{padding-inline-end:2rem}.pe-8{padding-inline-end:2.5rem}.pe-9{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:.75rem}.pb-4{padding-block-end:1rem}.pb-5{padding-block-end:1.25rem}.pb-6{padding-block-end:1.5rem}.pb-7{padding-block-end:2rem}.pb-8{padding-block-end:2.5rem}.pb-9{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-6{padding-inline-start:1.5rem}.ps-7{padding-inline-start:2rem}.ps-8{padding-inline-start:2.5rem}.ps-9{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:2rem}.gap-8{gap:2.5rem}.gap-9{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:.75rem}.row-gap-4{row-gap:1rem}.row-gap-5{row-gap:1.25rem}.row-gap-6{row-gap:1.5rem}.row-gap-7{row-gap:2rem}.row-gap-8{row-gap:2.5rem}.row-gap-9{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400))}.underline-accent{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400))}.underline-danger{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400))}.underline-warning{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400))}.underline-info{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400))}.underline-inverse{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200))}.underline-secondary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{-webkit-text-decoration-color:var(--bs-link-color);text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-text{-webkit-user-select:text;user-select:text}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (min-width:576px){.sm\:float-start{float:inline-start}.sm\:float-end{float:inline-end}.sm\:float-none{float:none}.sm\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-fit-none{-o-object-fit:none;object-fit:none}.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-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\:justify-self-start{justify-self:flex-start}.sm\:justify-self-end{justify-self:flex-end}.sm\:justify-self-center{justify-self:center}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self: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 stretch}.sm\:grid-cols-1{grid-template-columns:1fr}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.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-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-7{margin:2rem}.sm\:m-8{margin:2.5rem}.sm\:m-9{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:.75rem}.sm\:mx-4{margin-inline:1rem}.sm\:mx-5{margin-inline:1.25rem}.sm\:mx-6{margin-inline:1.5rem}.sm\:mx-7{margin-inline:2rem}.sm\:mx-8{margin-inline:2.5rem}.sm\:mx-9{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:.75rem}.sm\:my-4{margin-block:1rem}.sm\:my-5{margin-block:1.25rem}.sm\:my-6{margin-block:1.5rem}.sm\:my-7{margin-block:2rem}.sm\:my-8{margin-block:2.5rem}.sm\:my-9{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:.75rem}.sm\:mt-4{margin-block-start:1rem}.sm\:mt-5{margin-block-start:1.25rem}.sm\:mt-6{margin-block-start:1.5rem}.sm\:mt-7{margin-block-start:2rem}.sm\:mt-8{margin-block-start:2.5rem}.sm\:mt-9{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:.75rem}.sm\:me-4{margin-inline-end:1rem}.sm\:me-5{margin-inline-end:1.25rem}.sm\:me-6{margin-inline-end:1.5rem}.sm\:me-7{margin-inline-end:2rem}.sm\:me-8{margin-inline-end:2.5rem}.sm\:me-9{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:.75rem}.sm\:mb-4{margin-block-end:1rem}.sm\:mb-5{margin-block-end:1.25rem}.sm\:mb-6{margin-block-end:1.5rem}.sm\:mb-7{margin-block-end:2rem}.sm\:mb-8{margin-block-end:2.5rem}.sm\:mb-9{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:.75rem}.sm\:ms-4{margin-inline-start:1rem}.sm\:ms-5{margin-inline-start:1.25rem}.sm\:ms-6{margin-inline-start:1.5rem}.sm\:ms-7{margin-inline-start:2rem}.sm\:ms-8{margin-inline-start:2.5rem}.sm\:ms-9{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:2rem}.sm\:p-8{padding:2.5rem}.sm\:p-9{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:.75rem}.sm\:px-4{padding-inline:1rem}.sm\:px-5{padding-inline:1.25rem}.sm\:px-6{padding-inline:1.5rem}.sm\:px-7{padding-inline:2rem}.sm\:px-8{padding-inline:2.5rem}.sm\:px-9{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:.75rem}.sm\:py-4{padding-block:1rem}.sm\:py-5{padding-block:1.25rem}.sm\:py-6{padding-block:1.5rem}.sm\:py-7{padding-block:2rem}.sm\:py-8{padding-block:2.5rem}.sm\:py-9{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:.75rem}.sm\:pt-4{padding-block-start:1rem}.sm\:pt-5{padding-block-start:1.25rem}.sm\:pt-6{padding-block-start:1.5rem}.sm\:pt-7{padding-block-start:2rem}.sm\:pt-8{padding-block-start:2.5rem}.sm\:pt-9{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-4{padding-inline-end:1rem}.sm\:pe-5{padding-inline-end:1.25rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:pe-7{padding-inline-end:2rem}.sm\:pe-8{padding-inline-end:2.5rem}.sm\:pe-9{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:.75rem}.sm\:pb-4{padding-block-end:1rem}.sm\:pb-5{padding-block-end:1.25rem}.sm\:pb-6{padding-block-end:1.5rem}.sm\:pb-7{padding-block-end:2rem}.sm\:pb-8{padding-block-end:2.5rem}.sm\:pb-9{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-4{padding-inline-start:1rem}.sm\:ps-5{padding-inline-start:1.25rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:ps-7{padding-inline-start:2rem}.sm\:ps-8{padding-inline-start:2.5rem}.sm\:ps-9{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-7{gap:2rem}.sm\:gap-8{gap:2.5rem}.sm\:gap-9{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:.75rem}.sm\:row-gap-4{row-gap:1rem}.sm\:row-gap-5{row-gap:1.25rem}.sm\:row-gap-6{row-gap:1.5rem}.sm\:row-gap-7{row-gap:2rem}.sm\:row-gap-8{row-gap:2.5rem}.sm\:row-gap-9{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.sm\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.sm\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.sm\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.sm\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.sm\:text-start{text-align:start}.sm\:text-end{text-align:end}.sm\:text-center{text-align:center}}@media (min-width:768px){.md\:float-start{float:inline-start}.md\:float-end{float:inline-end}.md\:float-none{float:none}.md\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.md\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.md\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-fit-none{-o-object-fit:none;object-fit:none}.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-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\:justify-self-start{justify-self:flex-start}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-center{justify-self:center}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self: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 stretch}.md\:grid-cols-1{grid-template-columns:1fr}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.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-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-7{margin:2rem}.md\:m-8{margin:2.5rem}.md\:m-9{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:.75rem}.md\:mx-4{margin-inline:1rem}.md\:mx-5{margin-inline:1.25rem}.md\:mx-6{margin-inline:1.5rem}.md\:mx-7{margin-inline:2rem}.md\:mx-8{margin-inline:2.5rem}.md\:mx-9{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:.75rem}.md\:my-4{margin-block:1rem}.md\:my-5{margin-block:1.25rem}.md\:my-6{margin-block:1.5rem}.md\:my-7{margin-block:2rem}.md\:my-8{margin-block:2.5rem}.md\:my-9{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:.75rem}.md\:mt-4{margin-block-start:1rem}.md\:mt-5{margin-block-start:1.25rem}.md\:mt-6{margin-block-start:1.5rem}.md\:mt-7{margin-block-start:2rem}.md\:mt-8{margin-block-start:2.5rem}.md\:mt-9{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:.75rem}.md\:me-4{margin-inline-end:1rem}.md\:me-5{margin-inline-end:1.25rem}.md\:me-6{margin-inline-end:1.5rem}.md\:me-7{margin-inline-end:2rem}.md\:me-8{margin-inline-end:2.5rem}.md\:me-9{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:.75rem}.md\:mb-4{margin-block-end:1rem}.md\:mb-5{margin-block-end:1.25rem}.md\:mb-6{margin-block-end:1.5rem}.md\:mb-7{margin-block-end:2rem}.md\:mb-8{margin-block-end:2.5rem}.md\:mb-9{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:.75rem}.md\:ms-4{margin-inline-start:1rem}.md\:ms-5{margin-inline-start:1.25rem}.md\:ms-6{margin-inline-start:1.5rem}.md\:ms-7{margin-inline-start:2rem}.md\:ms-8{margin-inline-start:2.5rem}.md\:ms-9{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:2rem}.md\:p-8{padding:2.5rem}.md\:p-9{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:.75rem}.md\:px-4{padding-inline:1rem}.md\:px-5{padding-inline:1.25rem}.md\:px-6{padding-inline:1.5rem}.md\:px-7{padding-inline:2rem}.md\:px-8{padding-inline:2.5rem}.md\:px-9{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:.75rem}.md\:py-4{padding-block:1rem}.md\:py-5{padding-block:1.25rem}.md\:py-6{padding-block:1.5rem}.md\:py-7{padding-block:2rem}.md\:py-8{padding-block:2.5rem}.md\:py-9{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:.75rem}.md\:pt-4{padding-block-start:1rem}.md\:pt-5{padding-block-start:1.25rem}.md\:pt-6{padding-block-start:1.5rem}.md\:pt-7{padding-block-start:2rem}.md\:pt-8{padding-block-start:2.5rem}.md\:pt-9{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:.75rem}.md\:pe-4{padding-inline-end:1rem}.md\:pe-5{padding-inline-end:1.25rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:pe-7{padding-inline-end:2rem}.md\:pe-8{padding-inline-end:2.5rem}.md\:pe-9{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:.75rem}.md\:pb-4{padding-block-end:1rem}.md\:pb-5{padding-block-end:1.25rem}.md\:pb-6{padding-block-end:1.5rem}.md\:pb-7{padding-block-end:2rem}.md\:pb-8{padding-block-end:2.5rem}.md\:pb-9{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:.75rem}.md\:ps-4{padding-inline-start:1rem}.md\:ps-5{padding-inline-start:1.25rem}.md\:ps-6{padding-inline-start:1.5rem}.md\:ps-7{padding-inline-start:2rem}.md\:ps-8{padding-inline-start:2.5rem}.md\:ps-9{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-7{gap:2rem}.md\:gap-8{gap:2.5rem}.md\:gap-9{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:.75rem}.md\:row-gap-4{row-gap:1rem}.md\:row-gap-5{row-gap:1.25rem}.md\:row-gap-6{row-gap:1.5rem}.md\:row-gap-7{row-gap:2rem}.md\:row-gap-8{row-gap:2.5rem}.md\:row-gap-9{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.md\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.md\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.md\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.md\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.md\:text-start{text-align:start}.md\:text-end{text-align:end}.md\:text-center{text-align:center}}@media (min-width:1024px){.lg\:float-start{float:inline-start}.lg\:float-end{float:inline-end}.lg\:float-none{float:none}.lg\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-fit-none{-o-object-fit:none;object-fit:none}.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-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\:justify-self-start{justify-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-center{justify-self:center}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self: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 stretch}.lg\:grid-cols-1{grid-template-columns:1fr}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.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-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-7{margin:2rem}.lg\:m-8{margin:2.5rem}.lg\:m-9{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:.75rem}.lg\:mx-4{margin-inline:1rem}.lg\:mx-5{margin-inline:1.25rem}.lg\:mx-6{margin-inline:1.5rem}.lg\:mx-7{margin-inline:2rem}.lg\:mx-8{margin-inline:2.5rem}.lg\:mx-9{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:.75rem}.lg\:my-4{margin-block:1rem}.lg\:my-5{margin-block:1.25rem}.lg\:my-6{margin-block:1.5rem}.lg\:my-7{margin-block:2rem}.lg\:my-8{margin-block:2.5rem}.lg\:my-9{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:.75rem}.lg\:mt-4{margin-block-start:1rem}.lg\:mt-5{margin-block-start:1.25rem}.lg\:mt-6{margin-block-start:1.5rem}.lg\:mt-7{margin-block-start:2rem}.lg\:mt-8{margin-block-start:2.5rem}.lg\:mt-9{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:.75rem}.lg\:me-4{margin-inline-end:1rem}.lg\:me-5{margin-inline-end:1.25rem}.lg\:me-6{margin-inline-end:1.5rem}.lg\:me-7{margin-inline-end:2rem}.lg\:me-8{margin-inline-end:2.5rem}.lg\:me-9{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:.75rem}.lg\:mb-4{margin-block-end:1rem}.lg\:mb-5{margin-block-end:1.25rem}.lg\:mb-6{margin-block-end:1.5rem}.lg\:mb-7{margin-block-end:2rem}.lg\:mb-8{margin-block-end:2.5rem}.lg\:mb-9{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:.75rem}.lg\:ms-4{margin-inline-start:1rem}.lg\:ms-5{margin-inline-start:1.25rem}.lg\:ms-6{margin-inline-start:1.5rem}.lg\:ms-7{margin-inline-start:2rem}.lg\:ms-8{margin-inline-start:2.5rem}.lg\:ms-9{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:2rem}.lg\:p-8{padding:2.5rem}.lg\:p-9{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:.75rem}.lg\:px-4{padding-inline:1rem}.lg\:px-5{padding-inline:1.25rem}.lg\:px-6{padding-inline:1.5rem}.lg\:px-7{padding-inline:2rem}.lg\:px-8{padding-inline:2.5rem}.lg\:px-9{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:.75rem}.lg\:py-4{padding-block:1rem}.lg\:py-5{padding-block:1.25rem}.lg\:py-6{padding-block:1.5rem}.lg\:py-7{padding-block:2rem}.lg\:py-8{padding-block:2.5rem}.lg\:py-9{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:.75rem}.lg\:pt-4{padding-block-start:1rem}.lg\:pt-5{padding-block-start:1.25rem}.lg\:pt-6{padding-block-start:1.5rem}.lg\:pt-7{padding-block-start:2rem}.lg\:pt-8{padding-block-start:2.5rem}.lg\:pt-9{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:.75rem}.lg\:pe-4{padding-inline-end:1rem}.lg\:pe-5{padding-inline-end:1.25rem}.lg\:pe-6{padding-inline-end:1.5rem}.lg\:pe-7{padding-inline-end:2rem}.lg\:pe-8{padding-inline-end:2.5rem}.lg\:pe-9{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:.75rem}.lg\:pb-4{padding-block-end:1rem}.lg\:pb-5{padding-block-end:1.25rem}.lg\:pb-6{padding-block-end:1.5rem}.lg\:pb-7{padding-block-end:2rem}.lg\:pb-8{padding-block-end:2.5rem}.lg\:pb-9{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:.75rem}.lg\:ps-4{padding-inline-start:1rem}.lg\:ps-5{padding-inline-start:1.25rem}.lg\:ps-6{padding-inline-start:1.5rem}.lg\:ps-7{padding-inline-start:2rem}.lg\:ps-8{padding-inline-start:2.5rem}.lg\:ps-9{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:.75rem}.lg\:gap-4{gap:1rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-7{gap:2rem}.lg\:gap-8{gap:2.5rem}.lg\:gap-9{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:.75rem}.lg\:row-gap-4{row-gap:1rem}.lg\:row-gap-5{row-gap:1.25rem}.lg\:row-gap-6{row-gap:1.5rem}.lg\:row-gap-7{row-gap:2rem}.lg\:row-gap-8{row-gap:2.5rem}.lg\:row-gap-9{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.lg\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.lg\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.lg\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.lg\:text-start{text-align:start}.lg\:text-end{text-align:end}.lg\:text-center{text-align:center}}@media (min-width:1280px){.xl\:float-start{float:inline-start}.xl\:float-end{float:inline-end}.xl\:float-none{float:none}.xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-fit-none{-o-object-fit:none;object-fit:none}.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-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\:justify-self-start{justify-self:flex-start}.xl\:justify-self-end{justify-self:flex-end}.xl\:justify-self-center{justify-self:center}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self: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 stretch}.xl\:grid-cols-1{grid-template-columns:1fr}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.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-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-7{margin:2rem}.xl\:m-8{margin:2.5rem}.xl\:m-9{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:.75rem}.xl\:mx-4{margin-inline:1rem}.xl\:mx-5{margin-inline:1.25rem}.xl\:mx-6{margin-inline:1.5rem}.xl\:mx-7{margin-inline:2rem}.xl\:mx-8{margin-inline:2.5rem}.xl\:mx-9{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:.75rem}.xl\:my-4{margin-block:1rem}.xl\:my-5{margin-block:1.25rem}.xl\:my-6{margin-block:1.5rem}.xl\:my-7{margin-block:2rem}.xl\:my-8{margin-block:2.5rem}.xl\:my-9{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:.75rem}.xl\:mt-4{margin-block-start:1rem}.xl\:mt-5{margin-block-start:1.25rem}.xl\:mt-6{margin-block-start:1.5rem}.xl\:mt-7{margin-block-start:2rem}.xl\:mt-8{margin-block-start:2.5rem}.xl\:mt-9{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:.75rem}.xl\:me-4{margin-inline-end:1rem}.xl\:me-5{margin-inline-end:1.25rem}.xl\:me-6{margin-inline-end:1.5rem}.xl\:me-7{margin-inline-end:2rem}.xl\:me-8{margin-inline-end:2.5rem}.xl\:me-9{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:.75rem}.xl\:mb-4{margin-block-end:1rem}.xl\:mb-5{margin-block-end:1.25rem}.xl\:mb-6{margin-block-end:1.5rem}.xl\:mb-7{margin-block-end:2rem}.xl\:mb-8{margin-block-end:2.5rem}.xl\:mb-9{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:.75rem}.xl\:ms-4{margin-inline-start:1rem}.xl\:ms-5{margin-inline-start:1.25rem}.xl\:ms-6{margin-inline-start:1.5rem}.xl\:ms-7{margin-inline-start:2rem}.xl\:ms-8{margin-inline-start:2.5rem}.xl\:ms-9{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-7{padding:2rem}.xl\:p-8{padding:2.5rem}.xl\:p-9{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:.75rem}.xl\:px-4{padding-inline:1rem}.xl\:px-5{padding-inline:1.25rem}.xl\:px-6{padding-inline:1.5rem}.xl\:px-7{padding-inline:2rem}.xl\:px-8{padding-inline:2.5rem}.xl\:px-9{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:.75rem}.xl\:py-4{padding-block:1rem}.xl\:py-5{padding-block:1.25rem}.xl\:py-6{padding-block:1.5rem}.xl\:py-7{padding-block:2rem}.xl\:py-8{padding-block:2.5rem}.xl\:py-9{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:.75rem}.xl\:pt-4{padding-block-start:1rem}.xl\:pt-5{padding-block-start:1.25rem}.xl\:pt-6{padding-block-start:1.5rem}.xl\:pt-7{padding-block-start:2rem}.xl\:pt-8{padding-block-start:2.5rem}.xl\:pt-9{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:.75rem}.xl\:pe-4{padding-inline-end:1rem}.xl\:pe-5{padding-inline-end:1.25rem}.xl\:pe-6{padding-inline-end:1.5rem}.xl\:pe-7{padding-inline-end:2rem}.xl\:pe-8{padding-inline-end:2.5rem}.xl\:pe-9{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:.75rem}.xl\:pb-4{padding-block-end:1rem}.xl\:pb-5{padding-block-end:1.25rem}.xl\:pb-6{padding-block-end:1.5rem}.xl\:pb-7{padding-block-end:2rem}.xl\:pb-8{padding-block-end:2.5rem}.xl\:pb-9{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:.75rem}.xl\:ps-4{padding-inline-start:1rem}.xl\:ps-5{padding-inline-start:1.25rem}.xl\:ps-6{padding-inline-start:1.5rem}.xl\:ps-7{padding-inline-start:2rem}.xl\:ps-8{padding-inline-start:2.5rem}.xl\:ps-9{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:.75rem}.xl\:gap-4{gap:1rem}.xl\:gap-5{gap:1.25rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-7{gap:2rem}.xl\:gap-8{gap:2.5rem}.xl\:gap-9{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:.75rem}.xl\:row-gap-4{row-gap:1rem}.xl\:row-gap-5{row-gap:1.25rem}.xl\:row-gap-6{row-gap:1.5rem}.xl\:row-gap-7{row-gap:2rem}.xl\:row-gap-8{row-gap:2.5rem}.xl\:row-gap-9{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.xl\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.xl\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.xl\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.xl\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.xl\:text-start{text-align:start}.xl\:text-end{text-align:end}.xl\:text-center{text-align:center}}@media (min-width:1536px){.\32 xl\:float-start{float:inline-start}.\32 xl\:float-end{float:inline-end}.\32 xl\:float-none{float:none}.\32 xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.\32 xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.\32 xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.\32 xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.\32 xl\:object-fit-none{-o-object-fit:none;object-fit:none}.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:justify-self-start{justify-self:flex-start}.\32 xl\:justify-self-end{justify-self:flex-end}.\32 xl\:justify-self-center{justify-self:center}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-1{grid-template-columns:1fr}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:.75rem}.\32 xl\:m-4{margin:1rem}.\32 xl\:m-5{margin:1.25rem}.\32 xl\:m-6{margin:1.5rem}.\32 xl\:m-7{margin:2rem}.\32 xl\:m-8{margin:2.5rem}.\32 xl\:m-9{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:.75rem}.\32 xl\:mx-4{margin-inline:1rem}.\32 xl\:mx-5{margin-inline:1.25rem}.\32 xl\:mx-6{margin-inline:1.5rem}.\32 xl\:mx-7{margin-inline:2rem}.\32 xl\:mx-8{margin-inline:2.5rem}.\32 xl\:mx-9{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:.75rem}.\32 xl\:my-4{margin-block:1rem}.\32 xl\:my-5{margin-block:1.25rem}.\32 xl\:my-6{margin-block:1.5rem}.\32 xl\:my-7{margin-block:2rem}.\32 xl\:my-8{margin-block:2.5rem}.\32 xl\:my-9{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:.75rem}.\32 xl\:mt-4{margin-block-start:1rem}.\32 xl\:mt-5{margin-block-start:1.25rem}.\32 xl\:mt-6{margin-block-start:1.5rem}.\32 xl\:mt-7{margin-block-start:2rem}.\32 xl\:mt-8{margin-block-start:2.5rem}.\32 xl\:mt-9{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:.75rem}.\32 xl\:me-4{margin-inline-end:1rem}.\32 xl\:me-5{margin-inline-end:1.25rem}.\32 xl\:me-6{margin-inline-end:1.5rem}.\32 xl\:me-7{margin-inline-end:2rem}.\32 xl\:me-8{margin-inline-end:2.5rem}.\32 xl\:me-9{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:.75rem}.\32 xl\:mb-4{margin-block-end:1rem}.\32 xl\:mb-5{margin-block-end:1.25rem}.\32 xl\:mb-6{margin-block-end:1.5rem}.\32 xl\:mb-7{margin-block-end:2rem}.\32 xl\:mb-8{margin-block-end:2.5rem}.\32 xl\:mb-9{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:.75rem}.\32 xl\:ms-4{margin-inline-start:1rem}.\32 xl\:ms-5{margin-inline-start:1.25rem}.\32 xl\:ms-6{margin-inline-start:1.5rem}.\32 xl\:ms-7{margin-inline-start:2rem}.\32 xl\:ms-8{margin-inline-start:2.5rem}.\32 xl\:ms-9{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:.75rem}.\32 xl\:p-4{padding:1rem}.\32 xl\:p-5{padding:1.25rem}.\32 xl\:p-6{padding:1.5rem}.\32 xl\:p-7{padding:2rem}.\32 xl\:p-8{padding:2.5rem}.\32 xl\:p-9{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:.75rem}.\32 xl\:px-4{padding-inline:1rem}.\32 xl\:px-5{padding-inline:1.25rem}.\32 xl\:px-6{padding-inline:1.5rem}.\32 xl\:px-7{padding-inline:2rem}.\32 xl\:px-8{padding-inline:2.5rem}.\32 xl\:px-9{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:.75rem}.\32 xl\:py-4{padding-block:1rem}.\32 xl\:py-5{padding-block:1.25rem}.\32 xl\:py-6{padding-block:1.5rem}.\32 xl\:py-7{padding-block:2rem}.\32 xl\:py-8{padding-block:2.5rem}.\32 xl\:py-9{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:.75rem}.\32 xl\:pt-4{padding-block-start:1rem}.\32 xl\:pt-5{padding-block-start:1.25rem}.\32 xl\:pt-6{padding-block-start:1.5rem}.\32 xl\:pt-7{padding-block-start:2rem}.\32 xl\:pt-8{padding-block-start:2.5rem}.\32 xl\:pt-9{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:.75rem}.\32 xl\:pe-4{padding-inline-end:1rem}.\32 xl\:pe-5{padding-inline-end:1.25rem}.\32 xl\:pe-6{padding-inline-end:1.5rem}.\32 xl\:pe-7{padding-inline-end:2rem}.\32 xl\:pe-8{padding-inline-end:2.5rem}.\32 xl\:pe-9{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:.75rem}.\32 xl\:pb-4{padding-block-end:1rem}.\32 xl\:pb-5{padding-block-end:1.25rem}.\32 xl\:pb-6{padding-block-end:1.5rem}.\32 xl\:pb-7{padding-block-end:2rem}.\32 xl\:pb-8{padding-block-end:2.5rem}.\32 xl\:pb-9{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:.75rem}.\32 xl\:ps-4{padding-inline-start:1rem}.\32 xl\:ps-5{padding-inline-start:1.25rem}.\32 xl\:ps-6{padding-inline-start:1.5rem}.\32 xl\:ps-7{padding-inline-start:2rem}.\32 xl\:ps-8{padding-inline-start:2.5rem}.\32 xl\:ps-9{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:.75rem}.\32 xl\:gap-4{gap:1rem}.\32 xl\:gap-5{gap:1.25rem}.\32 xl\:gap-6{gap:1.5rem}.\32 xl\:gap-7{gap:2rem}.\32 xl\:gap-8{gap:2.5rem}.\32 xl\:gap-9{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:.75rem}.\32 xl\:row-gap-4{row-gap:1rem}.\32 xl\:row-gap-5{row-gap:1.25rem}.\32 xl\:row-gap-6{row-gap:1.5rem}.\32 xl\:row-gap-7{row-gap:2rem}.\32 xl\:row-gap-8{row-gap:2.5rem}.\32 xl\:row-gap-9{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.\32 xl\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.\32 xl\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.\32 xl\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.\32 xl\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.\32 xl\:text-start{text-align:start}.\32 xl\:text-end{text-align:end}.\32 xl\:text-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
 /*# sourceMappingURL=bootstrap-utilities.min.css.map */
\ No newline at end of file
index 80f17fab84ad41ddf6a523a3807f1ef0e325ee87..3c5903371ccb913b03449e10d177b96f82f1d1d2 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-utilities.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 1rem;\n    }\n    .sm\\:m-4 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-5 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 1rem;\n    }\n    .sm\\:p-4 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-5 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 1rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-5 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 1rem;\n    }\n    .md\\:m-4 {\n      margin: 1.5rem;\n    }\n    .md\\:m-5 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 1rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-5 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 1rem;\n    }\n    .md\\:p-4 {\n      padding: 1.5rem;\n    }\n    .md\\:p-5 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 1rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-5 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 1rem;\n    }\n    .md\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-5 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 1rem;\n    }\n    .lg\\:m-4 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-5 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 1rem;\n    }\n    .lg\\:p-4 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-5 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 1rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-5 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 1rem;\n    }\n    .xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-5 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 1rem;\n    }\n    .xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-5 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap-utilities.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_config.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-1 {\n    grid-template-columns: 1fr;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 0.75rem;\n  }\n  .m-4 {\n    margin: 1rem;\n  }\n  .m-5 {\n    margin: 1.25rem;\n  }\n  .m-6 {\n    margin: 1.5rem;\n  }\n  .m-7 {\n    margin: 2rem;\n  }\n  .m-8 {\n    margin: 2.5rem;\n  }\n  .m-9 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 0.75rem;\n  }\n  .mx-4 {\n    margin-inline: 1rem;\n  }\n  .mx-5 {\n    margin-inline: 1.25rem;\n  }\n  .mx-6 {\n    margin-inline: 1.5rem;\n  }\n  .mx-7 {\n    margin-inline: 2rem;\n  }\n  .mx-8 {\n    margin-inline: 2.5rem;\n  }\n  .mx-9 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 0.75rem;\n  }\n  .my-4 {\n    margin-block: 1rem;\n  }\n  .my-5 {\n    margin-block: 1.25rem;\n  }\n  .my-6 {\n    margin-block: 1.5rem;\n  }\n  .my-7 {\n    margin-block: 2rem;\n  }\n  .my-8 {\n    margin-block: 2.5rem;\n  }\n  .my-9 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 0.75rem;\n  }\n  .mt-4 {\n    margin-block-start: 1rem;\n  }\n  .mt-5 {\n    margin-block-start: 1.25rem;\n  }\n  .mt-6 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-7 {\n    margin-block-start: 2rem;\n  }\n  .mt-8 {\n    margin-block-start: 2.5rem;\n  }\n  .mt-9 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 0.75rem;\n  }\n  .me-4 {\n    margin-inline-end: 1rem;\n  }\n  .me-5 {\n    margin-inline-end: 1.25rem;\n  }\n  .me-6 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-7 {\n    margin-inline-end: 2rem;\n  }\n  .me-8 {\n    margin-inline-end: 2.5rem;\n  }\n  .me-9 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 0.75rem;\n  }\n  .mb-4 {\n    margin-block-end: 1rem;\n  }\n  .mb-5 {\n    margin-block-end: 1.25rem;\n  }\n  .mb-6 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-7 {\n    margin-block-end: 2rem;\n  }\n  .mb-8 {\n    margin-block-end: 2.5rem;\n  }\n  .mb-9 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 0.75rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1rem;\n  }\n  .ms-5 {\n    margin-inline-start: 1.25rem;\n  }\n  .ms-6 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-7 {\n    margin-inline-start: 2rem;\n  }\n  .ms-8 {\n    margin-inline-start: 2.5rem;\n  }\n  .ms-9 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 0.75rem;\n  }\n  .p-4 {\n    padding: 1rem;\n  }\n  .p-5 {\n    padding: 1.25rem;\n  }\n  .p-6 {\n    padding: 1.5rem;\n  }\n  .p-7 {\n    padding: 2rem;\n  }\n  .p-8 {\n    padding: 2.5rem;\n  }\n  .p-9 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 0.75rem;\n  }\n  .px-4 {\n    padding-inline: 1rem;\n  }\n  .px-5 {\n    padding-inline: 1.25rem;\n  }\n  .px-6 {\n    padding-inline: 1.5rem;\n  }\n  .px-7 {\n    padding-inline: 2rem;\n  }\n  .px-8 {\n    padding-inline: 2.5rem;\n  }\n  .px-9 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 0.75rem;\n  }\n  .py-4 {\n    padding-block: 1rem;\n  }\n  .py-5 {\n    padding-block: 1.25rem;\n  }\n  .py-6 {\n    padding-block: 1.5rem;\n  }\n  .py-7 {\n    padding-block: 2rem;\n  }\n  .py-8 {\n    padding-block: 2.5rem;\n  }\n  .py-9 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 0.75rem;\n  }\n  .pt-4 {\n    padding-block-start: 1rem;\n  }\n  .pt-5 {\n    padding-block-start: 1.25rem;\n  }\n  .pt-6 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-7 {\n    padding-block-start: 2rem;\n  }\n  .pt-8 {\n    padding-block-start: 2.5rem;\n  }\n  .pt-9 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1rem;\n  }\n  .pe-5 {\n    padding-inline-end: 1.25rem;\n  }\n  .pe-6 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-7 {\n    padding-inline-end: 2rem;\n  }\n  .pe-8 {\n    padding-inline-end: 2.5rem;\n  }\n  .pe-9 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 0.75rem;\n  }\n  .pb-4 {\n    padding-block-end: 1rem;\n  }\n  .pb-5 {\n    padding-block-end: 1.25rem;\n  }\n  .pb-6 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-7 {\n    padding-block-end: 2rem;\n  }\n  .pb-8 {\n    padding-block-end: 2.5rem;\n  }\n  .pb-9 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 0.75rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1rem;\n  }\n  .ps-5 {\n    padding-inline-start: 1.25rem;\n  }\n  .ps-6 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-7 {\n    padding-inline-start: 2rem;\n  }\n  .ps-8 {\n    padding-inline-start: 2.5rem;\n  }\n  .ps-9 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 0.75rem;\n  }\n  .gap-4 {\n    gap: 1rem;\n  }\n  .gap-5 {\n    gap: 1.25rem;\n  }\n  .gap-6 {\n    gap: 1.5rem;\n  }\n  .gap-7 {\n    gap: 2rem;\n  }\n  .gap-8 {\n    gap: 2.5rem;\n  }\n  .gap-9 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 0.75rem;\n  }\n  .row-gap-4 {\n    row-gap: 1rem;\n  }\n  .row-gap-5 {\n    row-gap: 1.25rem;\n  }\n  .row-gap-6 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-7 {\n    row-gap: 2rem;\n  }\n  .row-gap-8 {\n    row-gap: 2.5rem;\n  }\n  .row-gap-9 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 0.75rem;\n  }\n  .column-gap-4 {\n    column-gap: 1rem;\n  }\n  .column-gap-5 {\n    column-gap: 1.25rem;\n  }\n  .column-gap-6 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-7 {\n    column-gap: 2rem;\n  }\n  .column-gap-8 {\n    column-gap: 2.5rem;\n  }\n  .column-gap-9 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 0.75rem;\n    }\n    .sm\\:m-4 {\n      margin: 1rem;\n    }\n    .sm\\:m-5 {\n      margin: 1.25rem;\n    }\n    .sm\\:m-6 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-7 {\n      margin: 2rem;\n    }\n    .sm\\:m-8 {\n      margin: 2.5rem;\n    }\n    .sm\\:m-9 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .sm\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .sm\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .sm\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .sm\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-7 {\n      margin-block: 2rem;\n    }\n    .sm\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .sm\\:my-9 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .sm\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .sm\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .sm\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .sm\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .sm\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .sm\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .sm\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .sm\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .sm\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .sm\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .sm\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .sm\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 0.75rem;\n    }\n    .sm\\:p-4 {\n      padding: 1rem;\n    }\n    .sm\\:p-5 {\n      padding: 1.25rem;\n    }\n    .sm\\:p-6 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-7 {\n      padding: 2rem;\n    }\n    .sm\\:p-8 {\n      padding: 2.5rem;\n    }\n    .sm\\:p-9 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .sm\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .sm\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .sm\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .sm\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-7 {\n      padding-block: 2rem;\n    }\n    .sm\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .sm\\:py-9 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .sm\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .sm\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .sm\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .sm\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .sm\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .sm\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .sm\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .sm\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .sm\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .sm\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .sm\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .sm\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1rem;\n    }\n    .sm\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .sm\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-7 {\n      gap: 2rem;\n    }\n    .sm\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .sm\\:gap-9 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .sm\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .sm\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .sm\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .sm\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .sm\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .sm\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 0.75rem;\n    }\n    .md\\:m-4 {\n      margin: 1rem;\n    }\n    .md\\:m-5 {\n      margin: 1.25rem;\n    }\n    .md\\:m-6 {\n      margin: 1.5rem;\n    }\n    .md\\:m-7 {\n      margin: 2rem;\n    }\n    .md\\:m-8 {\n      margin: 2.5rem;\n    }\n    .md\\:m-9 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .md\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .md\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .md\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1rem;\n    }\n    .md\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .md\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-7 {\n      margin-block: 2rem;\n    }\n    .md\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .md\\:my-9 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .md\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .md\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .md\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .md\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .md\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .md\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .md\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .md\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .md\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .md\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .md\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .md\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 0.75rem;\n    }\n    .md\\:p-4 {\n      padding: 1rem;\n    }\n    .md\\:p-5 {\n      padding: 1.25rem;\n    }\n    .md\\:p-6 {\n      padding: 1.5rem;\n    }\n    .md\\:p-7 {\n      padding: 2rem;\n    }\n    .md\\:p-8 {\n      padding: 2.5rem;\n    }\n    .md\\:p-9 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .md\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .md\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .md\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1rem;\n    }\n    .md\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .md\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-7 {\n      padding-block: 2rem;\n    }\n    .md\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .md\\:py-9 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .md\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .md\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .md\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .md\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .md\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .md\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .md\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .md\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .md\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .md\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .md\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .md\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .md\\:gap-4 {\n      gap: 1rem;\n    }\n    .md\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .md\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-7 {\n      gap: 2rem;\n    }\n    .md\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .md\\:gap-9 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .md\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .md\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .md\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .md\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .md\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .md\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 0.75rem;\n    }\n    .lg\\:m-4 {\n      margin: 1rem;\n    }\n    .lg\\:m-5 {\n      margin: 1.25rem;\n    }\n    .lg\\:m-6 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-7 {\n      margin: 2rem;\n    }\n    .lg\\:m-8 {\n      margin: 2.5rem;\n    }\n    .lg\\:m-9 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .lg\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .lg\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .lg\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .lg\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-7 {\n      margin-block: 2rem;\n    }\n    .lg\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .lg\\:my-9 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .lg\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .lg\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .lg\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .lg\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .lg\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .lg\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .lg\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .lg\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .lg\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .lg\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .lg\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .lg\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 0.75rem;\n    }\n    .lg\\:p-4 {\n      padding: 1rem;\n    }\n    .lg\\:p-5 {\n      padding: 1.25rem;\n    }\n    .lg\\:p-6 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-7 {\n      padding: 2rem;\n    }\n    .lg\\:p-8 {\n      padding: 2.5rem;\n    }\n    .lg\\:p-9 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .lg\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .lg\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .lg\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .lg\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-7 {\n      padding-block: 2rem;\n    }\n    .lg\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .lg\\:py-9 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .lg\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .lg\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .lg\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .lg\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .lg\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .lg\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .lg\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .lg\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .lg\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .lg\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .lg\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .lg\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1rem;\n    }\n    .lg\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .lg\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-7 {\n      gap: 2rem;\n    }\n    .lg\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .lg\\:gap-9 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .lg\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .lg\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .lg\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .lg\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .lg\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .lg\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .xl\\:m-4 {\n      margin: 1rem;\n    }\n    .xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-7 {\n      margin: 2rem;\n    }\n    .xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .xl\\:m-9 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .xl\\:p-4 {\n      padding: 1rem;\n    }\n    .xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-7 {\n      padding: 2rem;\n    }\n    .xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .xl\\:p-9 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .\\32 xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-7 {\n      margin: 2rem;\n    }\n    .\\32 xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .\\32 xl\\:m-9 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .\\32 xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .\\32 xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .\\32 xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .\\32 xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .\\32 xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .\\32 xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .\\32 xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .\\32 xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .\\32 xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .\\32 xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .\\32 xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .\\32 xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .\\32 xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .\\32 xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .\\32 xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-7 {\n      padding: 2rem;\n    }\n    .\\32 xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .\\32 xl\\:p-9 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .\\32 xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .\\32 xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .\\32 xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .\\32 xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .\\32 xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .\\32 xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .\\32 xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .\\32 xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .\\32 xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .\\32 xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .\\32 xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .\\32 xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .\\32 xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .\\32 xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .\\32 xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .\\32 xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .\\32 xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .\\32 xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .\\32 xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .\\32 xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .\\32 xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .\\32 xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .\\32 xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"],"names":[]}
\ No newline at end of file
index 977f146d35f127097f7c1812e8b1fb1cafaccb7e..50d60bf2cebc61fb3f379e4cc1e1f90a11f79163 100644 (file)
     font-size: inherit;
     line-height: inherit;
   }
-  button,
-  select {
-    text-transform: none;
-  }
   [role=button] {
     cursor: pointer;
   }
   [type=submit]:not(:disabled) {
     cursor: pointer;
   }
-  ::-moz-focus-inner {
-    padding: 0;
-    border-style: none;
-  }
   textarea {
     resize: vertical;
   }
   ::-webkit-datetime-edit-year-field {
     padding: 0;
   }
-  ::-webkit-inner-spin-button {
+  ::-webkit-inner-spin-button,
+  ::-webkit-outer-spin-button {
     height: auto;
   }
   [type=search] {
     --bs-table-border-color: var(--bs-border-color);
     --bs-table-group-separator-color: currentcolor;
     --bs-table-striped-color: var(--bs-table-color);
-    --bs-table-striped-bg-factor: 0.05;
+    --bs-table-striped-bg-factor: 5%;
     --bs-table-striped-bg: color-mix(in srgb, var(--bs-table-color) var(--bs-table-striped-bg-factor), transparent);
     --bs-table-active-color: var(--bs-table-color);
-    --bs-table-active-bg-factor: 0.1;
+    --bs-table-active-bg-factor: 10%;
     --bs-table-active-bg: color-mix(in srgb, var(--bs-table-color) var(--bs-table-active-bg-factor), transparent);
     --bs-table-hover-color: var(--bs-table-color);
-    --bs-table-hover-bg-factor: 0.075;
+    --bs-table-hover-bg-factor: 7.5%;
     --bs-table-hover-bg: color-mix(in srgb, var(--bs-table-color) var(--bs-table-hover-bg-factor), transparent);
     --bs-table-color-type: initial;
     --bs-table-bg-type: initial;
     --bs-table-bg-state: color-mix(in srgb, var(--bs-theme-text, var(--bs-table-color)) var(--bs-table-hover-bg-factor), transparent);
   }
   .table-responsive {
+    container-type: inline-size;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
   }
+  .sm\:table-responsive {
+    container-type: inline-size;
+  }
   @media (width < 576px) {
     .sm\:table-responsive {
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
+  .md\:table-responsive {
+    container-type: inline-size;
+  }
   @media (width < 768px) {
     .md\:table-responsive {
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
+  .lg\:table-responsive {
+    container-type: inline-size;
+  }
   @media (width < 1024px) {
     .lg\:table-responsive {
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
+  .xl\:table-responsive {
+    container-type: inline-size;
+  }
   @media (width < 1280px) {
     .xl\:table-responsive {
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
+  .\32 xl\:table-responsive {
+    container-type: inline-size;
+  }
   @media (width < 1536px) {
     .\32 xl\:table-responsive {
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
     }
   }
+  .table-stacked > thead {
+    position: absolute;
+    width: 1px;
+    height: 1px;
+    padding: 0;
+    margin: -1px;
+    overflow: hidden;
+    clip: rect(0, 0, 0, 0);
+    white-space: nowrap;
+    border: 0;
+  }
+  .table-stacked > tbody > tr {
+    display: block;
+    padding-block: var(--bs-table-cell-padding-y);
+  }
+  .table-stacked > tbody > tr + tr {
+    border-block-start: var(--bs-table-border-width) solid var(--bs-table-border-color);
+  }
+  .table-stacked > tbody > tr > td {
+    display: block;
+    padding: calc(var(--bs-table-cell-padding-y) * 0.25) calc(var(--bs-table-cell-padding-x) * 2);
+    border: 0;
+  }
+  .table-stacked > tbody > tr > td:first-child {
+    font-weight: var(--bs-font-weight-bold);
+  }
+  .table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {
+    display: block;
+    font-weight: var(--bs-font-weight-semibold);
+    content: attr(data-cell);
+  }
+  .table-stacked > tbody > tr > td:not(:first-child) + td::before {
+    margin-block-start: 0.25rem;
+  }
+  @container (width < 576px) {
+    .sm\:table-stacked > thead {
+      position: absolute;
+      width: 1px;
+      height: 1px;
+      padding: 0;
+      margin: -1px;
+      overflow: hidden;
+      clip: rect(0, 0, 0, 0);
+      white-space: nowrap;
+      border: 0;
+    }
+    .sm\:table-stacked > tbody > tr {
+      display: block;
+      padding-block: var(--bs-table-cell-padding-y);
+    }
+    .sm\:table-stacked > tbody > tr + tr {
+      border-block-start: var(--bs-table-border-width) solid var(--bs-table-border-color);
+    }
+    .sm\:table-stacked > tbody > tr > td {
+      display: block;
+      padding: calc(var(--bs-table-cell-padding-y) * 0.25) calc(var(--bs-table-cell-padding-x) * 2);
+      border: 0;
+    }
+    .sm\:table-stacked > tbody > tr > td:first-child {
+      font-weight: var(--bs-font-weight-bold);
+    }
+    .sm\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {
+      display: block;
+      font-weight: var(--bs-font-weight-semibold);
+      content: attr(data-cell);
+    }
+    .sm\:table-stacked > tbody > tr > td:not(:first-child) + td::before {
+      margin-block-start: 0.25rem;
+    }
+  }
+  @container (width < 768px) {
+    .md\:table-stacked > thead {
+      position: absolute;
+      width: 1px;
+      height: 1px;
+      padding: 0;
+      margin: -1px;
+      overflow: hidden;
+      clip: rect(0, 0, 0, 0);
+      white-space: nowrap;
+      border: 0;
+    }
+    .md\:table-stacked > tbody > tr {
+      display: block;
+      padding-block: var(--bs-table-cell-padding-y);
+    }
+    .md\:table-stacked > tbody > tr + tr {
+      border-block-start: var(--bs-table-border-width) solid var(--bs-table-border-color);
+    }
+    .md\:table-stacked > tbody > tr > td {
+      display: block;
+      padding: calc(var(--bs-table-cell-padding-y) * 0.25) calc(var(--bs-table-cell-padding-x) * 2);
+      border: 0;
+    }
+    .md\:table-stacked > tbody > tr > td:first-child {
+      font-weight: var(--bs-font-weight-bold);
+    }
+    .md\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {
+      display: block;
+      font-weight: var(--bs-font-weight-semibold);
+      content: attr(data-cell);
+    }
+    .md\:table-stacked > tbody > tr > td:not(:first-child) + td::before {
+      margin-block-start: 0.25rem;
+    }
+  }
+  @container (width < 1024px) {
+    .lg\:table-stacked > thead {
+      position: absolute;
+      width: 1px;
+      height: 1px;
+      padding: 0;
+      margin: -1px;
+      overflow: hidden;
+      clip: rect(0, 0, 0, 0);
+      white-space: nowrap;
+      border: 0;
+    }
+    .lg\:table-stacked > tbody > tr {
+      display: block;
+      padding-block: var(--bs-table-cell-padding-y);
+    }
+    .lg\:table-stacked > tbody > tr + tr {
+      border-block-start: var(--bs-table-border-width) solid var(--bs-table-border-color);
+    }
+    .lg\:table-stacked > tbody > tr > td {
+      display: block;
+      padding: calc(var(--bs-table-cell-padding-y) * 0.25) calc(var(--bs-table-cell-padding-x) * 2);
+      border: 0;
+    }
+    .lg\:table-stacked > tbody > tr > td:first-child {
+      font-weight: var(--bs-font-weight-bold);
+    }
+    .lg\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {
+      display: block;
+      font-weight: var(--bs-font-weight-semibold);
+      content: attr(data-cell);
+    }
+    .lg\:table-stacked > tbody > tr > td:not(:first-child) + td::before {
+      margin-block-start: 0.25rem;
+    }
+  }
+  @container (width < 1280px) {
+    .xl\:table-stacked > thead {
+      position: absolute;
+      width: 1px;
+      height: 1px;
+      padding: 0;
+      margin: -1px;
+      overflow: hidden;
+      clip: rect(0, 0, 0, 0);
+      white-space: nowrap;
+      border: 0;
+    }
+    .xl\:table-stacked > tbody > tr {
+      display: block;
+      padding-block: var(--bs-table-cell-padding-y);
+    }
+    .xl\:table-stacked > tbody > tr + tr {
+      border-block-start: var(--bs-table-border-width) solid var(--bs-table-border-color);
+    }
+    .xl\:table-stacked > tbody > tr > td {
+      display: block;
+      padding: calc(var(--bs-table-cell-padding-y) * 0.25) calc(var(--bs-table-cell-padding-x) * 2);
+      border: 0;
+    }
+    .xl\:table-stacked > tbody > tr > td:first-child {
+      font-weight: var(--bs-font-weight-bold);
+    }
+    .xl\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {
+      display: block;
+      font-weight: var(--bs-font-weight-semibold);
+      content: attr(data-cell);
+    }
+    .xl\:table-stacked > tbody > tr > td:not(:first-child) + td::before {
+      margin-block-start: 0.25rem;
+    }
+  }
+  @container (width < 1536px) {
+    .\32 xl\:table-stacked > thead {
+      position: absolute;
+      width: 1px;
+      height: 1px;
+      padding: 0;
+      margin: -1px;
+      overflow: hidden;
+      clip: rect(0, 0, 0, 0);
+      white-space: nowrap;
+      border: 0;
+    }
+    .\32 xl\:table-stacked > tbody > tr {
+      display: block;
+      padding-block: var(--bs-table-cell-padding-y);
+    }
+    .\32 xl\:table-stacked > tbody > tr + tr {
+      border-block-start: var(--bs-table-border-width) solid var(--bs-table-border-color);
+    }
+    .\32 xl\:table-stacked > tbody > tr > td {
+      display: block;
+      padding: calc(var(--bs-table-cell-padding-y) * 0.25) calc(var(--bs-table-cell-padding-x) * 2);
+      border: 0;
+    }
+    .\32 xl\:table-stacked > tbody > tr > td:first-child {
+      font-weight: var(--bs-font-weight-bold);
+    }
+    .\32 xl\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {
+      display: block;
+      font-weight: var(--bs-font-weight-semibold);
+      content: attr(data-cell);
+    }
+    .\32 xl\:table-stacked > tbody > tr > td:not(:first-child) + td::before {
+      margin-block-start: 0.25rem;
+    }
+  }
 }
 @layer content {
   .img-fluid {
   }
   .g-3,
   .gx-3 {
-    --bs-gutter-x: 1rem;
+    --bs-gutter-x: 0.75rem;
   }
   .g-3,
   .gy-3 {
-    --bs-gutter-y: 1rem;
+    --bs-gutter-y: 0.75rem;
   }
   .g-4,
   .gx-4 {
-    --bs-gutter-x: 1.5rem;
+    --bs-gutter-x: 1rem;
   }
   .g-4,
   .gy-4 {
-    --bs-gutter-y: 1.5rem;
+    --bs-gutter-y: 1rem;
   }
   .g-5,
   .gx-5 {
-    --bs-gutter-x: 3rem;
+    --bs-gutter-x: 1.25rem;
   }
   .g-5,
   .gy-5 {
+    --bs-gutter-y: 1.25rem;
+  }
+  .g-6,
+  .gx-6 {
+    --bs-gutter-x: 1.5rem;
+  }
+  .g-6,
+  .gy-6 {
+    --bs-gutter-y: 1.5rem;
+  }
+  .g-7,
+  .gx-7 {
+    --bs-gutter-x: 2rem;
+  }
+  .g-7,
+  .gy-7 {
+    --bs-gutter-y: 2rem;
+  }
+  .g-8,
+  .gx-8 {
+    --bs-gutter-x: 2.5rem;
+  }
+  .g-8,
+  .gy-8 {
+    --bs-gutter-y: 2.5rem;
+  }
+  .g-9,
+  .gx-9 {
+    --bs-gutter-x: 3rem;
+  }
+  .g-9,
+  .gy-9 {
     --bs-gutter-y: 3rem;
   }
   @media (width >= 576px) {
     }
     .sm\:g-3,
     .sm\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .sm\:g-3,
     .sm\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .sm\:g-4,
     .sm\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .sm\:g-4,
     .sm\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .sm\:g-5,
     .sm\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .sm\:g-5,
     .sm\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .sm\:g-6,
+    .sm\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .sm\:g-6,
+    .sm\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .sm\:g-7,
+    .sm\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .sm\:g-7,
+    .sm\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .sm\:g-8,
+    .sm\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .sm\:g-8,
+    .sm\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .sm\:g-9,
+    .sm\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .sm\:g-9,
+    .sm\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .md\:g-3,
     .md\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .md\:g-3,
     .md\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .md\:g-4,
     .md\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .md\:g-4,
     .md\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .md\:g-5,
     .md\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .md\:g-5,
     .md\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .md\:g-6,
+    .md\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .md\:g-6,
+    .md\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .md\:g-7,
+    .md\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .md\:g-7,
+    .md\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .md\:g-8,
+    .md\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .md\:g-8,
+    .md\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .md\:g-9,
+    .md\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .md\:g-9,
+    .md\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .lg\:g-3,
     .lg\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .lg\:g-3,
     .lg\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .lg\:g-4,
     .lg\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .lg\:g-4,
     .lg\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .lg\:g-5,
     .lg\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .lg\:g-5,
     .lg\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .lg\:g-6,
+    .lg\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .lg\:g-6,
+    .lg\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .lg\:g-7,
+    .lg\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .lg\:g-7,
+    .lg\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .lg\:g-8,
+    .lg\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .lg\:g-8,
+    .lg\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .lg\:g-9,
+    .lg\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .lg\:g-9,
+    .lg\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .xl\:g-3,
     .xl\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .xl\:g-3,
     .xl\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .xl\:g-4,
     .xl\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .xl\:g-4,
     .xl\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .xl\:g-5,
     .xl\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .xl\:g-5,
     .xl\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .xl\:g-6,
+    .xl\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .xl\:g-6,
+    .xl\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .xl\:g-7,
+    .xl\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .xl\:g-7,
+    .xl\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .xl\:g-8,
+    .xl\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .xl\:g-8,
+    .xl\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .xl\:g-9,
+    .xl\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .xl\:g-9,
+    .xl\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     }
     .\32 xl\:g-3,
     .\32 xl\:gx-3 {
-      --bs-gutter-x: 1rem;
+      --bs-gutter-x: 0.75rem;
     }
     .\32 xl\:g-3,
     .\32 xl\:gy-3 {
-      --bs-gutter-y: 1rem;
+      --bs-gutter-y: 0.75rem;
     }
     .\32 xl\:g-4,
     .\32 xl\:gx-4 {
-      --bs-gutter-x: 1.5rem;
+      --bs-gutter-x: 1rem;
     }
     .\32 xl\:g-4,
     .\32 xl\:gy-4 {
-      --bs-gutter-y: 1.5rem;
+      --bs-gutter-y: 1rem;
     }
     .\32 xl\:g-5,
     .\32 xl\:gx-5 {
-      --bs-gutter-x: 3rem;
+      --bs-gutter-x: 1.25rem;
     }
     .\32 xl\:g-5,
     .\32 xl\:gy-5 {
+      --bs-gutter-y: 1.25rem;
+    }
+    .\32 xl\:g-6,
+    .\32 xl\:gx-6 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .\32 xl\:g-6,
+    .\32 xl\:gy-6 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .\32 xl\:g-7,
+    .\32 xl\:gx-7 {
+      --bs-gutter-x: 2rem;
+    }
+    .\32 xl\:g-7,
+    .\32 xl\:gy-7 {
+      --bs-gutter-y: 2rem;
+    }
+    .\32 xl\:g-8,
+    .\32 xl\:gx-8 {
+      --bs-gutter-x: 2.5rem;
+    }
+    .\32 xl\:g-8,
+    .\32 xl\:gy-8 {
+      --bs-gutter-y: 2.5rem;
+    }
+    .\32 xl\:g-9,
+    .\32 xl\:gx-9 {
+      --bs-gutter-x: 3rem;
+    }
+    .\32 xl\:g-9,
+    .\32 xl\:gy-9 {
       --bs-gutter-y: 3rem;
     }
   }
     margin-inline-end: var(--bs-control-padding-x);
     color: var(--bs-control-fg);
     background-color: var(--bs-control-action-bg);
+    background-image: var(--bs-gradient);
     pointer-events: none;
     border-color: inherit;
     border-style: solid;
     --bs-range-thumb-width: 1rem;
     --bs-range-thumb-height: var(--bs-range-thumb-width);
     --bs-range-thumb-bg: var(--bs-primary-base);
-    --bs-range-thumb-border: 0;
+    --bs-range-thumb-border: var(--bs-range-thumb-bg) solid var(--bs-border-color);
     --bs-range-thumb-border-radius: 1rem;
-    --bs-range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
+    --bs-range-thumb-box-shadow: 0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%);
     --bs-range-thumb-active-bg: color-mix(in oklch, var(--bs-primary-base) 70%, var(--bs-bg-body));
     --bs-range-thumb-disabled-bg: var(--bs-fg-3);
     --bs-range-thumb-transition-property: background-color, border-color, box-shadow;
     appearance: none;
     background-color: transparent;
   }
-  .form-range:focus {
+  .form-range:hover::-webkit-slider-thumb {
+    outline: var(--bs-focus-ring-width) solid color-mix(in oklch, var(--bs-primary-focus-ring), transparent);
+  }
+  .form-range:hover::-moz-range-thumb {
+    outline: var(--bs-focus-ring-width) solid color-mix(in oklch, var(--bs-primary-focus-ring), transparent);
+  }
+  .form-range:focus-visible {
     outline: 0;
   }
-  .form-range:focus::-webkit-slider-thumb {
+  .form-range:focus-visible::-webkit-slider-thumb {
     outline: var(--bs-focus-ring);
     outline-offset: var(--bs-focus-ring-offset);
-    --bs-focus-ring-offset: 1px;
+    --bs-focus-ring-offset: 0;
   }
-  .form-range:focus::-moz-range-thumb {
+  .form-range:focus-visible::-moz-range-thumb {
     outline: var(--bs-focus-ring);
     outline-offset: var(--bs-focus-ring-offset);
-    --bs-focus-ring-offset: 1px;
+    --bs-focus-ring-offset: 0;
   }
   .form-range::-moz-focus-outer {
     border: 0;
     -webkit-appearance: none;
     appearance: none;
     background-color: var(--bs-range-thumb-bg);
+    background-image: var(--bs-gradient);
     border: var(--bs-range-thumb-border);
     border-radius: var(--bs-range-thumb-border-radius);
     box-shadow: var(--bs-range-thumb-box-shadow);
   }
   .form-range::-webkit-slider-thumb:active {
     background-color: var(--bs-range-thumb-active-bg);
+    background-image: var(--bs-gradient);
   }
   .form-range::-webkit-slider-thumb {
     margin-top: calc((var(--bs-range-track-height) - var(--bs-range-thumb-height)) * 0.5);
     height: var(--bs-range-thumb-height);
     appearance: none;
     background-color: var(--bs-range-thumb-bg);
+    background-image: var(--bs-gradient);
     border: var(--bs-range-thumb-border);
     border-radius: var(--bs-range-thumb-border-radius);
     box-shadow: var(--bs-range-thumb-box-shadow);
   }
   .form-range::-moz-range-thumb:active {
     background-color: var(--bs-range-thumb-active-bg);
+    background-image: var(--bs-gradient);
   }
   .form-range::-webkit-slider-runnable-track {
     width: var(--bs-range-track-width);
     color: var(--bs-btn-disabled-color);
     pointer-events: none;
     background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));
+    background-image: none;
     border-color: var(--bs-btn-disabled-border-color);
     opacity: var(--bs-btn-disabled-opacity);
   }
     color: var(--bs-theme-text, var(--bs-btn-color));
     -webkit-text-decoration: var(--bs-link-decoration);
     text-decoration: var(--bs-link-decoration);
+    background-image: none;
   }
   .btn-link:focus-visible {
     color: var(--bs-theme-text, var(--bs-btn-color));
   .btn-check:has(input:checked) {
     color: var(--bs-btn-active-color);
     background-color: var(--bs-btn-active-bg, var(--bs-bg-3));
+    background-image: none;
     border-color: var(--bs-btn-active-border-color);
     box-shadow: var(--bs-btn-active-shadow);
   }
     color: var(--bs-btn-disabled-color);
     pointer-events: none;
     background-color: var(--bs-btn-disabled-bg, var(--bs-bg-1));
+    background-image: none;
     border-color: var(--bs-btn-disabled-border-color);
     opacity: var(--bs-btn-disabled-opacity);
     box-shadow: none;
     background-color: var(--bs-theme-bg, var(--bs-badge-bg));
     border: var(--bs-badge-border-width) solid var(--bs-badge-border-color);
     border-radius: var(--bs-badge-border-radius);
+    background-image: var(--bs-gradient);
   }
   .badge:empty {
     display: none;
   }
   .carousel-control-prev {
     inset-inline-start: 0;
+    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
   }
   .carousel-control-next {
     inset-inline-end: 0;
+    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
   }
   .carousel-control-prev-icon,
   .carousel-control-next-icon {
     color-scheme: light dark;
     background-color: var(--bs-datepicker-bg);
     border: var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);
-    border-radius: var(--bs-datepicker-border-radius);
     box-shadow: var(--bs-datepicker-box-shadow);
     opacity: 1;
+    border-radius: var(--bs-datepicker-border-radius);
   }
   [data-vc=calendar][data-bs-theme=light] {
     color-scheme: light;
     --bs-dialog-border-width: var(--bs-border-width);
     --bs-dialog-border-radius: var(--bs-border-radius-lg);
     --bs-dialog-box-shadow: var(--bs-box-shadow-lg);
+    --bs-dialog-transition-duration: 0.3s;
+    --bs-dialog-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
     --bs-dialog-backdrop-bg: rgba(0, 0, 0, 0.5);
     --bs-dialog-backdrop-blur: 8px;
     --bs-dialog-header-padding: 1rem;
     --bs-dialog-footer-border-color: var(--bs-border-color);
     --bs-dialog-footer-border-width: var(--bs-border-width);
     --bs-dialog-footer-gap: 0.5rem;
+    display: flex;
+    flex-direction: column;
     width: var(--bs-dialog-width);
     max-width: 100%;
     max-height: calc(100% - var(--bs-dialog-margin) * 2);
     margin: auto;
     overflow: visible;
     color: var(--bs-dialog-color);
+    visibility: hidden;
     background-color: var(--bs-dialog-bg);
     background-clip: padding-box;
     border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);
     border-radius: var(--bs-dialog-border-radius);
     box-shadow: var(--bs-dialog-box-shadow);
+  }
+  .dialog:not(.dialog-instant) {
     opacity: 0;
-    transition: opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), display var(--bs-dialog-transition-duration) allow-discrete, overlay var(--bs-dialog-transition-duration) allow-discrete;
+    transition: opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), visibility 0s var(--bs-dialog-transition-duration);
   }
   @media (prefers-reduced-motion: reduce) {
-    .dialog {
+    .dialog:not(.dialog-instant) {
       transition: none;
     }
   }
-  .dialog.dialog-slide-down {
+  .dialog:not(.dialog-instant).dialog-slide-down {
     transform: translateY(3rem);
   }
-  .dialog.dialog-slide-up {
+  .dialog:not(.dialog-instant).dialog-slide-up {
     transform: translateY(-3rem);
   }
-  .dialog[open] {
-    display: flex;
-    flex-direction: column;
+  .dialog:not(.dialog-instant)[open] {
     overflow: visible;
+    visibility: visible;
     opacity: 1;
+    transition: opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), visibility 0s;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .dialog:not(.dialog-instant)[open] {
+      transition: none;
+    }
+  }
+  .dialog:not(.dialog-instant)[open] {
     transform: none;
   }
-  .dialog::backdrop {
+  .dialog:not(.dialog-instant).dialog-static {
+    transform: scale(1.02);
+  }
+  .dialog:not(.dialog-instant)::backdrop {
     background-color: var(--bs-dialog-backdrop-bg);
     -webkit-backdrop-filter: blur(var(--bs-dialog-backdrop-blur));
     backdrop-filter: blur(var(--bs-dialog-backdrop-blur));
     transition: background-color var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), backdrop-filter var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), display var(--bs-dialog-transition-duration) allow-discrete, overlay var(--bs-dialog-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .dialog::backdrop {
+    .dialog:not(.dialog-instant)::backdrop {
       transition: none;
     }
   }
-  .dialog.dialog-static {
-    transform: scale(1.02);
+  .dialog.dialog-instant::backdrop {
+    background-color: var(--bs-dialog-backdrop-bg);
+    -webkit-backdrop-filter: blur(var(--bs-dialog-backdrop-blur));
+    backdrop-filter: blur(var(--bs-dialog-backdrop-blur));
+  }
+  .dialog[open] {
+    overflow: visible;
+    visibility: visible;
+    opacity: 1;
+    transform: none;
   }
   .dialog.dialog-nonmodal {
     position: fixed;
     box-shadow: var(--bs-dialog-box-shadow);
   }
   .dialog.dialog-scrollable[open] {
-    display: flex;
-    flex-direction: column;
     max-height: calc(100% - var(--bs-dialog-margin) * 2);
   }
   .dialog.dialog-scrollable[open] .dialog-body {
     overflow-y: auto;
   }
   @starting-style {
-    .dialog[open] {
-      opacity: 0;
-    }
-    .dialog.dialog-slide-down[open] {
+    .dialog:not(.dialog-instant).dialog-slide-down[open] {
       opacity: 0;
       transform: translateY(-3rem);
     }
-    .dialog.dialog-slide-up[open] {
+    .dialog:not(.dialog-instant).dialog-slide-up[open] {
       opacity: 0;
       transform: translateY(3rem);
     }
-    .dialog::backdrop {
+    .dialog:not(.dialog-instant)::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
   }
   .dialog-title {
     margin-bottom: 0;
-    font-size: var(--bs-font-size-md);
     line-height: 1.5;
+    font-size: var(--bs-font-size-md);
   }
   .dialog-body {
     position: relative;
     --bs-menu-header-color: var(--bs-fg-3);
     --bs-menu-header-padding-x: 0.75rem;
     --bs-menu-header-padding-y: 0.25rem;
+    --bs-menu-transition-duration: 0.15s;
+    --bs-menu-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
     position: absolute;
     z-index: var(--bs-menu-zindex);
     display: none;
     border: var(--bs-menu-border-width, var(--bs-border-width)) solid var(--bs-menu-border-color, var(--bs-border-color-translucent));
     border-radius: var(--bs-menu-border-radius, var(--bs-border-radius-lg));
     box-shadow: var(--bs-menu-box-shadow);
+    opacity: 0;
+    transform: scale(0.95);
+    transform-origin: top start;
+  }
+  .menu[data-bs-placement^=top] {
+    transform-origin: bottom start;
+  }
+  .menu[data-bs-placement=bottom-end] {
+    transform-origin: top end;
+  }
+  .menu[data-bs-placement=top-end] {
+    transform-origin: bottom end;
+  }
+  .menu[data-bs-placement^=left] {
+    transform-origin: top end;
+  }
+  .menu {
+    transition: opacity var(--bs-menu-transition-duration) var(--bs-menu-transition-timing), transform var(--bs-menu-transition-duration) var(--bs-menu-transition-timing), display var(--bs-menu-transition-duration) allow-discrete;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .menu {
+      transition: none;
+    }
   }
   .menu.show {
     display: flex;
+    opacity: 1;
+    transform: none;
+  }
+  @starting-style {
+    .menu.show {
+      opacity: 0;
+      transform: scale(0.95);
+    }
   }
   .menu-scrollable {
     --bs-menu-max-height: 80dvh;
   .menu-item:hover, .menu-item:focus {
     color: var(--bs-theme-text, var(--bs-menu-item-hover-color));
     background-color: var(--bs-theme-bg-subtle, var(--bs-menu-item-hover-bg));
+    background-image: var(--bs-gradient);
   }
   .menu-item.active, .menu-item:active {
     color: var(--bs-theme-contrast, var(--bs-menu-item-active-color));
     background-color: var(--bs-theme-bg, var(--bs-menu-item-active-bg));
+    background-image: var(--bs-gradient);
   }
   .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {
     color: inherit !important;
     color: var(--bs-menu-item-disabled-color);
     pointer-events: none;
     background-color: transparent;
+    background-image: none;
   }
   .menu-item-icon {
     flex-shrink: 0;
     border-start-end-radius: 0;
   }
   .nav-pills {
+    --bs-nav-pills-bg: var(--bs-bg-1);
+    --bs-nav-pills-padding: 0.25rem;
     --bs-nav-pills-link-active-color: var(--bs-primary-contrast);
     --bs-nav-pills-link-active-bg: var(--bs-primary-bg);
+    display: inline-flex;
+    padding: var(--bs-nav-pills-padding);
+    background-color: var(--bs-nav-pills-bg);
+    border-radius: var(--bs-border-radius-pill);
+  }
+  .nav-pills .nav-link {
+    border-radius: var(--bs-border-radius-pill);
   }
   .nav-pills .nav-link.active,
   .nav-pills .show > .nav-link {
     color: var(--bs-nav-pills-link-active-color);
     background-color: var(--bs-nav-pills-link-active-bg);
+    background-image: var(--bs-gradient);
   }
   .nav-underline {
     --bs-nav-gap: 1rem;
   .navbar-expand .navbar-toggler {
     display: none !important;
   }
-  .navbar-expand [class*=offcanvas] {
+  .navbar-expand [class*=drawer] {
     position: static !important;
     inset: auto !important;
     z-index: auto;
     box-shadow: none;
     transition: none;
   }
-  .navbar-expand [class*=offcanvas] .offcanvas-header {
+  .navbar-expand [class*=drawer] .drawer-header {
     display: none !important;
   }
-  .navbar-expand [class*=offcanvas] .offcanvas-body {
+  .navbar-expand [class*=drawer] .drawer-body {
     display: flex;
     flex-grow: 1;
     flex-direction: row;
     .sm\:navbar-expand .navbar-toggler {
       display: none !important;
     }
-    .sm\:navbar-expand [class*=offcanvas] {
+    .sm\:navbar-expand [class*=drawer] {
       position: static !important;
       inset: auto !important;
       z-index: auto;
       box-shadow: none;
       transition: none;
     }
-    .sm\:navbar-expand [class*=offcanvas] .offcanvas-header {
+    .sm\:navbar-expand [class*=drawer] .drawer-header {
       display: none !important;
     }
-    .sm\:navbar-expand [class*=offcanvas] .offcanvas-body {
+    .sm\:navbar-expand [class*=drawer] .drawer-body {
       display: flex;
       flex-grow: 1;
       flex-direction: row;
     .md\:navbar-expand .navbar-toggler {
       display: none !important;
     }
-    .md\:navbar-expand [class*=offcanvas] {
+    .md\:navbar-expand [class*=drawer] {
       position: static !important;
       inset: auto !important;
       z-index: auto;
       box-shadow: none;
       transition: none;
     }
-    .md\:navbar-expand [class*=offcanvas] .offcanvas-header {
+    .md\:navbar-expand [class*=drawer] .drawer-header {
       display: none !important;
     }
-    .md\:navbar-expand [class*=offcanvas] .offcanvas-body {
+    .md\:navbar-expand [class*=drawer] .drawer-body {
       display: flex;
       flex-grow: 1;
       flex-direction: row;
     .lg\:navbar-expand .navbar-toggler {
       display: none !important;
     }
-    .lg\:navbar-expand [class*=offcanvas] {
+    .lg\:navbar-expand [class*=drawer] {
       position: static !important;
       inset: auto !important;
       z-index: auto;
       box-shadow: none;
       transition: none;
     }
-    .lg\:navbar-expand [class*=offcanvas] .offcanvas-header {
+    .lg\:navbar-expand [class*=drawer] .drawer-header {
       display: none !important;
     }
-    .lg\:navbar-expand [class*=offcanvas] .offcanvas-body {
+    .lg\:navbar-expand [class*=drawer] .drawer-body {
       display: flex;
       flex-grow: 1;
       flex-direction: row;
     .xl\:navbar-expand .navbar-toggler {
       display: none !important;
     }
-    .xl\:navbar-expand [class*=offcanvas] {
+    .xl\:navbar-expand [class*=drawer] {
       position: static !important;
       inset: auto !important;
       z-index: auto;
       box-shadow: none;
       transition: none;
     }
-    .xl\:navbar-expand [class*=offcanvas] .offcanvas-header {
+    .xl\:navbar-expand [class*=drawer] .drawer-header {
       display: none !important;
     }
-    .xl\:navbar-expand [class*=offcanvas] .offcanvas-body {
+    .xl\:navbar-expand [class*=drawer] .drawer-body {
       display: flex;
       flex-grow: 1;
       flex-direction: row;
     .\32 xl\:navbar-expand .navbar-toggler {
       display: none !important;
     }
-    .\32 xl\:navbar-expand [class*=offcanvas] {
+    .\32 xl\:navbar-expand [class*=drawer] {
       position: static !important;
       inset: auto !important;
       z-index: auto;
       box-shadow: none;
       transition: none;
     }
-    .\32 xl\:navbar-expand [class*=offcanvas] .offcanvas-header {
+    .\32 xl\:navbar-expand [class*=drawer] .drawer-header {
       display: none !important;
     }
-    .\32 xl\:navbar-expand [class*=offcanvas] .offcanvas-body {
+    .\32 xl\:navbar-expand [class*=drawer] .drawer-body {
       display: flex;
       flex-grow: 1;
       flex-direction: row;
       overflow-y: visible;
     }
   }
-  .navbar [class*=offcanvas]:not([open]) {
+  .navbar [class*=drawer]:not([open]):not(.hiding) {
     transition: none !important;
   }
   @media (prefers-reduced-motion: reduce) {
-    .navbar [class*=offcanvas]:not([open]) {
+    .navbar [class*=drawer]:not([open]):not(.hiding) {
       transition: none;
     }
   }
     --bs-navbar-toggler-border-color: color-mix(in oklch, var(--bs-white) 0.1, transparent);
   }
 }
-.offcanvas, .\32 xl\:offcanvas, .xl\:offcanvas, .lg\:offcanvas, .md\:offcanvas, .sm\:offcanvas {
-  --bs-offcanvas-inset: var(--bs-spacer);
-  --bs-offcanvas-zindex: 1045;
-  --bs-offcanvas-width: 400px;
-  --bs-offcanvas-height: 30vh;
-  --bs-offcanvas-padding-x: var(--bs-spacer);
-  --bs-offcanvas-padding-y: var(--bs-spacer);
-  --bs-offcanvas-color: var(--bs-fg-body);
-  --bs-offcanvas-bg: var(--bs-bg-body);
-  --bs-offcanvas-border-width: var(--bs-border-width);
-  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-  --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-  --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-  --bs-offcanvas-transition-duration: 0.3s;
-  --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-  --bs-offcanvas-title-line-height: 1.5;
+.drawer, .\32 xl\:drawer, .xl\:drawer, .lg\:drawer, .md\:drawer, .sm\:drawer {
+  --bs-drawer-inset: var(--bs-spacer);
+  --bs-drawer-zindex: 1045;
+  --bs-drawer-width: 400px;
+  --bs-drawer-height: 30vh;
+  --bs-drawer-padding-x: var(--bs-spacer);
+  --bs-drawer-padding-y: var(--bs-spacer);
+  --bs-drawer-color: var(--bs-fg-body);
+  --bs-drawer-bg: var(--bs-bg-body);
+  --bs-drawer-border-width: var(--bs-border-width);
+  --bs-drawer-border-color: var(--bs-border-color-translucent);
+  --bs-drawer-border-radius: var(--bs-border-radius-lg);
+  --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+  --bs-drawer-transition-duration: 0.3s;
+  --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+  --bs-drawer-title-line-height: 1.5;
 }
 
 @layer components {
   @media (width < 576px) {
-    .sm\:offcanvas {
+    .sm\:drawer {
       position: fixed;
       inset: auto;
-      z-index: var(--bs-offcanvas-zindex);
+      z-index: var(--bs-drawer-zindex);
       display: flex;
       flex-direction: column;
       width: auto;
-      max-width: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-width: calc(100% - var(--bs-drawer-inset) * 2);
       height: auto;
-      max-height: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-height: calc(100% - var(--bs-drawer-inset) * 2);
       padding: 0;
       margin: 0;
-      color: var(--bs-offcanvas-color);
+      color: var(--bs-drawer-color);
       visibility: hidden;
-      background-color: var(--bs-offcanvas-bg);
+      background-color: var(--bs-drawer-bg);
       background-clip: padding-box;
-      border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      border: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
       outline: 0;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);
-      border-radius: var(--bs-offcanvas-border-radius);
-      box-shadow: var(--bs-offcanvas-box-shadow);
+      border-radius: var(--bs-drawer-border-radius);
+      box-shadow: var(--bs-drawer-box-shadow);
+    }
+    .sm\:drawer:where(.drawer-start) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-start: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .sm\:drawer:where(.drawer-end) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-end: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .sm\:drawer:where(.drawer-top) {
+      inset: var(--bs-drawer-inset) var(--bs-drawer-inset) auto;
+      height: var(--bs-drawer-height);
+    }
+    .sm\:drawer:where(.drawer-bottom) {
+      inset: auto var(--bs-drawer-inset) var(--bs-drawer-inset);
+      height: var(--bs-drawer-height);
+    }
+    .sm\:drawer:where(.drawer-fullscreen) {
+      inset: var(--bs-drawer-inset);
+      width: auto;
+      max-width: none;
+      height: auto;
+      max-height: none;
+    }
+    .sm\:drawer:not(.drawer-instant) {
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration);
     }
   }
   @media (width < 576px) and (prefers-reduced-motion: reduce) {
-    .sm\:offcanvas {
+    .sm\:drawer:not(.drawer-instant) {
       transition: none;
     }
   }
   @media (width < 576px) {
-    .sm\:offcanvas:where(.offcanvas-start) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-start: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .sm\:offcanvas:where(.offcanvas-start) {
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .sm\:offcanvas:where(.offcanvas-end) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-end: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .sm\:offcanvas:where(.offcanvas-end) {
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .sm\:offcanvas:where(.offcanvas-top) {
-      inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .sm\:offcanvas:where(.offcanvas-bottom) {
-      inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .sm\:offcanvas:where(.offcanvas-fullscreen) {
-      inset: var(--bs-offcanvas-inset);
-      width: auto;
-      max-width: none;
-      height: auto;
-      max-height: none;
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
+    .sm\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .sm\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    .sm\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
     }
-    .sm\:offcanvas[open] {
+    :root:dir(rtl) .sm\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .sm\:drawer:not(.drawer-instant):where(.drawer-top) {
+      transform: translateY(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .sm\:drawer:not(.drawer-instant):where(.drawer-bottom) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .sm\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .sm\:drawer:not(.drawer-instant)[open] {
       visibility: visible;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;
       transform: none;
     }
   }
   @media (width < 576px) and (prefers-reduced-motion: reduce) {
-    .sm\:offcanvas[open] {
+    .sm\:drawer:not(.drawer-instant)[open] {
       transition: none;
     }
   }
+  @media (width < 576px) {
+    .sm\:drawer[open] {
+      visibility: visible;
+      transform: none;
+    }
+  }
   @media (width >= 576px) {
-    .sm\:offcanvas {
-      --bs-offcanvas-height: auto;
-      --bs-offcanvas-border-width: 0;
+    .sm\:drawer {
+      --bs-drawer-height: auto;
+      --bs-drawer-border-width: 0;
       position: static !important;
       inset: auto;
       z-index: auto;
     }
   }
   @media (width >= 576px) and (prefers-reduced-motion: reduce) {
-    .sm\:offcanvas {
+    .sm\:drawer {
       transition: none;
     }
   }
   @media (width >= 576px) {
-    .sm\:offcanvas .offcanvas-header {
+    .sm\:drawer .drawer-header {
       display: none;
     }
-    .sm\:offcanvas .offcanvas-body {
+    .sm\:drawer .drawer-body {
       display: flex;
       flex-grow: 0;
       flex-direction: row;
-      align-items: center;
       width: 100%;
       padding: 0;
       overflow-y: visible;
     }
   }
   @media (width < 768px) {
-    .md\:offcanvas {
+    .md\:drawer {
       position: fixed;
       inset: auto;
-      z-index: var(--bs-offcanvas-zindex);
+      z-index: var(--bs-drawer-zindex);
       display: flex;
       flex-direction: column;
       width: auto;
-      max-width: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-width: calc(100% - var(--bs-drawer-inset) * 2);
       height: auto;
-      max-height: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-height: calc(100% - var(--bs-drawer-inset) * 2);
       padding: 0;
       margin: 0;
-      color: var(--bs-offcanvas-color);
+      color: var(--bs-drawer-color);
       visibility: hidden;
-      background-color: var(--bs-offcanvas-bg);
+      background-color: var(--bs-drawer-bg);
       background-clip: padding-box;
-      border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      border: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
       outline: 0;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);
-      border-radius: var(--bs-offcanvas-border-radius);
-      box-shadow: var(--bs-offcanvas-box-shadow);
+      border-radius: var(--bs-drawer-border-radius);
+      box-shadow: var(--bs-drawer-box-shadow);
+    }
+    .md\:drawer:where(.drawer-start) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-start: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .md\:drawer:where(.drawer-end) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-end: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .md\:drawer:where(.drawer-top) {
+      inset: var(--bs-drawer-inset) var(--bs-drawer-inset) auto;
+      height: var(--bs-drawer-height);
+    }
+    .md\:drawer:where(.drawer-bottom) {
+      inset: auto var(--bs-drawer-inset) var(--bs-drawer-inset);
+      height: var(--bs-drawer-height);
+    }
+    .md\:drawer:where(.drawer-fullscreen) {
+      inset: var(--bs-drawer-inset);
+      width: auto;
+      max-width: none;
+      height: auto;
+      max-height: none;
+    }
+    .md\:drawer:not(.drawer-instant) {
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration);
     }
   }
   @media (width < 768px) and (prefers-reduced-motion: reduce) {
-    .md\:offcanvas {
+    .md\:drawer:not(.drawer-instant) {
       transition: none;
     }
   }
   @media (width < 768px) {
-    .md\:offcanvas:where(.offcanvas-start) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-start: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .md\:offcanvas:where(.offcanvas-start) {
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .md\:offcanvas:where(.offcanvas-end) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-end: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .md\:offcanvas:where(.offcanvas-end) {
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .md\:offcanvas:where(.offcanvas-top) {
-      inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .md\:offcanvas:where(.offcanvas-bottom) {
-      inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .md\:offcanvas:where(.offcanvas-fullscreen) {
-      inset: var(--bs-offcanvas-inset);
-      width: auto;
-      max-width: none;
-      height: auto;
-      max-height: none;
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
+    .md\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
     }
-    .md\:offcanvas[open] {
+    :root:dir(rtl) .md\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    .md\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .md\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .md\:drawer:not(.drawer-instant):where(.drawer-top) {
+      transform: translateY(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .md\:drawer:not(.drawer-instant):where(.drawer-bottom) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .md\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .md\:drawer:not(.drawer-instant)[open] {
       visibility: visible;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;
       transform: none;
     }
   }
   @media (width < 768px) and (prefers-reduced-motion: reduce) {
-    .md\:offcanvas[open] {
+    .md\:drawer:not(.drawer-instant)[open] {
       transition: none;
     }
   }
+  @media (width < 768px) {
+    .md\:drawer[open] {
+      visibility: visible;
+      transform: none;
+    }
+  }
   @media (width >= 768px) {
-    .md\:offcanvas {
-      --bs-offcanvas-height: auto;
-      --bs-offcanvas-border-width: 0;
+    .md\:drawer {
+      --bs-drawer-height: auto;
+      --bs-drawer-border-width: 0;
       position: static !important;
       inset: auto;
       z-index: auto;
     }
   }
   @media (width >= 768px) and (prefers-reduced-motion: reduce) {
-    .md\:offcanvas {
+    .md\:drawer {
       transition: none;
     }
   }
   @media (width >= 768px) {
-    .md\:offcanvas .offcanvas-header {
+    .md\:drawer .drawer-header {
       display: none;
     }
-    .md\:offcanvas .offcanvas-body {
+    .md\:drawer .drawer-body {
       display: flex;
       flex-grow: 0;
       flex-direction: row;
-      align-items: center;
       width: 100%;
       padding: 0;
       overflow-y: visible;
     }
   }
   @media (width < 1024px) {
-    .lg\:offcanvas {
+    .lg\:drawer {
       position: fixed;
       inset: auto;
-      z-index: var(--bs-offcanvas-zindex);
+      z-index: var(--bs-drawer-zindex);
       display: flex;
       flex-direction: column;
       width: auto;
-      max-width: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-width: calc(100% - var(--bs-drawer-inset) * 2);
       height: auto;
-      max-height: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-height: calc(100% - var(--bs-drawer-inset) * 2);
       padding: 0;
       margin: 0;
-      color: var(--bs-offcanvas-color);
+      color: var(--bs-drawer-color);
       visibility: hidden;
-      background-color: var(--bs-offcanvas-bg);
+      background-color: var(--bs-drawer-bg);
       background-clip: padding-box;
-      border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      border: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
       outline: 0;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);
-      border-radius: var(--bs-offcanvas-border-radius);
-      box-shadow: var(--bs-offcanvas-box-shadow);
+      border-radius: var(--bs-drawer-border-radius);
+      box-shadow: var(--bs-drawer-box-shadow);
+    }
+    .lg\:drawer:where(.drawer-start) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-start: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .lg\:drawer:where(.drawer-end) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-end: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .lg\:drawer:where(.drawer-top) {
+      inset: var(--bs-drawer-inset) var(--bs-drawer-inset) auto;
+      height: var(--bs-drawer-height);
+    }
+    .lg\:drawer:where(.drawer-bottom) {
+      inset: auto var(--bs-drawer-inset) var(--bs-drawer-inset);
+      height: var(--bs-drawer-height);
+    }
+    .lg\:drawer:where(.drawer-fullscreen) {
+      inset: var(--bs-drawer-inset);
+      width: auto;
+      max-width: none;
+      height: auto;
+      max-height: none;
+    }
+    .lg\:drawer:not(.drawer-instant) {
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration);
     }
   }
   @media (width < 1024px) and (prefers-reduced-motion: reduce) {
-    .lg\:offcanvas {
+    .lg\:drawer:not(.drawer-instant) {
       transition: none;
     }
   }
   @media (width < 1024px) {
-    .lg\:offcanvas:where(.offcanvas-start) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-start: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .lg\:offcanvas:where(.offcanvas-start) {
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .lg\:offcanvas:where(.offcanvas-end) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-end: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .lg\:offcanvas:where(.offcanvas-end) {
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .lg\:offcanvas:where(.offcanvas-top) {
-      inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .lg\:offcanvas:where(.offcanvas-bottom) {
-      inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .lg\:offcanvas:where(.offcanvas-fullscreen) {
-      inset: var(--bs-offcanvas-inset);
-      width: auto;
-      max-width: none;
-      height: auto;
-      max-height: none;
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
+    .lg\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .lg\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    .lg\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .lg\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .lg\:drawer:not(.drawer-instant):where(.drawer-top) {
+      transform: translateY(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .lg\:drawer:not(.drawer-instant):where(.drawer-bottom) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .lg\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
     }
-    .lg\:offcanvas[open] {
+    .lg\:drawer:not(.drawer-instant)[open] {
       visibility: visible;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;
       transform: none;
     }
   }
   @media (width < 1024px) and (prefers-reduced-motion: reduce) {
-    .lg\:offcanvas[open] {
+    .lg\:drawer:not(.drawer-instant)[open] {
       transition: none;
     }
   }
+  @media (width < 1024px) {
+    .lg\:drawer[open] {
+      visibility: visible;
+      transform: none;
+    }
+  }
   @media (width >= 1024px) {
-    .lg\:offcanvas {
-      --bs-offcanvas-height: auto;
-      --bs-offcanvas-border-width: 0;
+    .lg\:drawer {
+      --bs-drawer-height: auto;
+      --bs-drawer-border-width: 0;
       position: static !important;
       inset: auto;
       z-index: auto;
     }
   }
   @media (width >= 1024px) and (prefers-reduced-motion: reduce) {
-    .lg\:offcanvas {
+    .lg\:drawer {
       transition: none;
     }
   }
   @media (width >= 1024px) {
-    .lg\:offcanvas .offcanvas-header {
+    .lg\:drawer .drawer-header {
       display: none;
     }
-    .lg\:offcanvas .offcanvas-body {
+    .lg\:drawer .drawer-body {
       display: flex;
       flex-grow: 0;
       flex-direction: row;
-      align-items: center;
       width: 100%;
       padding: 0;
       overflow-y: visible;
     }
   }
   @media (width < 1280px) {
-    .xl\:offcanvas {
+    .xl\:drawer {
       position: fixed;
       inset: auto;
-      z-index: var(--bs-offcanvas-zindex);
+      z-index: var(--bs-drawer-zindex);
       display: flex;
       flex-direction: column;
       width: auto;
-      max-width: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-width: calc(100% - var(--bs-drawer-inset) * 2);
       height: auto;
-      max-height: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-height: calc(100% - var(--bs-drawer-inset) * 2);
       padding: 0;
       margin: 0;
-      color: var(--bs-offcanvas-color);
+      color: var(--bs-drawer-color);
       visibility: hidden;
-      background-color: var(--bs-offcanvas-bg);
+      background-color: var(--bs-drawer-bg);
       background-clip: padding-box;
-      border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      border: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
       outline: 0;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);
-      border-radius: var(--bs-offcanvas-border-radius);
-      box-shadow: var(--bs-offcanvas-box-shadow);
+      border-radius: var(--bs-drawer-border-radius);
+      box-shadow: var(--bs-drawer-box-shadow);
+    }
+    .xl\:drawer:where(.drawer-start) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-start: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .xl\:drawer:where(.drawer-end) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-end: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .xl\:drawer:where(.drawer-top) {
+      inset: var(--bs-drawer-inset) var(--bs-drawer-inset) auto;
+      height: var(--bs-drawer-height);
+    }
+    .xl\:drawer:where(.drawer-bottom) {
+      inset: auto var(--bs-drawer-inset) var(--bs-drawer-inset);
+      height: var(--bs-drawer-height);
+    }
+    .xl\:drawer:where(.drawer-fullscreen) {
+      inset: var(--bs-drawer-inset);
+      width: auto;
+      max-width: none;
+      height: auto;
+      max-height: none;
+    }
+    .xl\:drawer:not(.drawer-instant) {
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration);
     }
   }
   @media (width < 1280px) and (prefers-reduced-motion: reduce) {
-    .xl\:offcanvas {
+    .xl\:drawer:not(.drawer-instant) {
       transition: none;
     }
   }
   @media (width < 1280px) {
-    .xl\:offcanvas:where(.offcanvas-start) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-start: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .xl\:offcanvas:where(.offcanvas-start) {
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .xl\:offcanvas:where(.offcanvas-end) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-end: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .xl\:offcanvas:where(.offcanvas-end) {
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .xl\:offcanvas:where(.offcanvas-top) {
-      inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .xl\:offcanvas:where(.offcanvas-bottom) {
-      inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .xl\:offcanvas:where(.offcanvas-fullscreen) {
-      inset: var(--bs-offcanvas-inset);
-      width: auto;
-      max-width: none;
-      height: auto;
-      max-height: none;
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
+    .xl\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .xl\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    .xl\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .xl\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .xl\:drawer:not(.drawer-instant):where(.drawer-top) {
+      transform: translateY(calc(-100% - var(--bs-drawer-inset)));
     }
-    .xl\:offcanvas[open] {
+    .xl\:drawer:not(.drawer-instant):where(.drawer-bottom) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .xl\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .xl\:drawer:not(.drawer-instant)[open] {
       visibility: visible;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;
       transform: none;
     }
   }
   @media (width < 1280px) and (prefers-reduced-motion: reduce) {
-    .xl\:offcanvas[open] {
+    .xl\:drawer:not(.drawer-instant)[open] {
       transition: none;
     }
   }
+  @media (width < 1280px) {
+    .xl\:drawer[open] {
+      visibility: visible;
+      transform: none;
+    }
+  }
   @media (width >= 1280px) {
-    .xl\:offcanvas {
-      --bs-offcanvas-height: auto;
-      --bs-offcanvas-border-width: 0;
+    .xl\:drawer {
+      --bs-drawer-height: auto;
+      --bs-drawer-border-width: 0;
       position: static !important;
       inset: auto;
       z-index: auto;
     }
   }
   @media (width >= 1280px) and (prefers-reduced-motion: reduce) {
-    .xl\:offcanvas {
+    .xl\:drawer {
       transition: none;
     }
   }
   @media (width >= 1280px) {
-    .xl\:offcanvas .offcanvas-header {
+    .xl\:drawer .drawer-header {
       display: none;
     }
-    .xl\:offcanvas .offcanvas-body {
+    .xl\:drawer .drawer-body {
       display: flex;
       flex-grow: 0;
       flex-direction: row;
-      align-items: center;
       width: 100%;
       padding: 0;
       overflow-y: visible;
     }
   }
   @media (width < 1536px) {
-    .\32 xl\:offcanvas {
+    .\32 xl\:drawer {
       position: fixed;
       inset: auto;
-      z-index: var(--bs-offcanvas-zindex);
+      z-index: var(--bs-drawer-zindex);
       display: flex;
       flex-direction: column;
       width: auto;
-      max-width: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-width: calc(100% - var(--bs-drawer-inset) * 2);
       height: auto;
-      max-height: calc(100% - var(--bs-offcanvas-inset) * 2);
+      max-height: calc(100% - var(--bs-drawer-inset) * 2);
       padding: 0;
       margin: 0;
-      color: var(--bs-offcanvas-color);
+      color: var(--bs-drawer-color);
       visibility: hidden;
-      background-color: var(--bs-offcanvas-bg);
+      background-color: var(--bs-drawer-bg);
       background-clip: padding-box;
-      border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      border: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
       outline: 0;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);
-      border-radius: var(--bs-offcanvas-border-radius);
-      box-shadow: var(--bs-offcanvas-box-shadow);
+      border-radius: var(--bs-drawer-border-radius);
+      box-shadow: var(--bs-drawer-box-shadow);
+    }
+    .\32 xl\:drawer:where(.drawer-start) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-start: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .\32 xl\:drawer:where(.drawer-end) {
+      inset-block: var(--bs-drawer-inset);
+      inset-inline-end: var(--bs-drawer-inset);
+      width: var(--bs-drawer-width);
+    }
+    .\32 xl\:drawer:where(.drawer-top) {
+      inset: var(--bs-drawer-inset) var(--bs-drawer-inset) auto;
+      height: var(--bs-drawer-height);
+    }
+    .\32 xl\:drawer:where(.drawer-bottom) {
+      inset: auto var(--bs-drawer-inset) var(--bs-drawer-inset);
+      height: var(--bs-drawer-height);
+    }
+    .\32 xl\:drawer:where(.drawer-fullscreen) {
+      inset: var(--bs-drawer-inset);
+      width: auto;
+      max-width: none;
+      height: auto;
+      max-height: none;
+    }
+    .\32 xl\:drawer:not(.drawer-instant) {
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration);
     }
   }
   @media (width < 1536px) and (prefers-reduced-motion: reduce) {
-    .\32 xl\:offcanvas {
+    .\32 xl\:drawer:not(.drawer-instant) {
       transition: none;
     }
   }
   @media (width < 1536px) {
-    .\32 xl\:offcanvas:where(.offcanvas-start) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-start: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .\32 xl\:offcanvas:where(.offcanvas-start) {
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .\32 xl\:offcanvas:where(.offcanvas-end) {
-      inset-block: var(--bs-offcanvas-inset);
-      inset-inline-end: var(--bs-offcanvas-inset);
-      width: var(--bs-offcanvas-width);
-      transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    :root:dir(rtl) .\32 xl\:offcanvas:where(.offcanvas-end) {
-      transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .\32 xl\:offcanvas:where(.offcanvas-top) {
-      inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(-100% - var(--bs-offcanvas-inset)));
-    }
-    .\32 xl\:offcanvas:where(.offcanvas-bottom) {
-      inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
-      height: var(--bs-offcanvas-height);
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
-    }
-    .\32 xl\:offcanvas:where(.offcanvas-fullscreen) {
-      inset: var(--bs-offcanvas-inset);
-      width: auto;
-      max-width: none;
-      height: auto;
-      max-height: none;
-      transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
+    .\32 xl\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    :root:dir(rtl) .\32 xl\:drawer:not(.drawer-instant):where(.drawer-start) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
+    }
+    .\32 xl\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(100% + var(--bs-drawer-inset)));
     }
-    .\32 xl\:offcanvas[open] {
+    :root:dir(rtl) .\32 xl\:drawer:not(.drawer-instant):where(.drawer-end) {
+      transform: translateX(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .\32 xl\:drawer:not(.drawer-instant):where(.drawer-top) {
+      transform: translateY(calc(-100% - var(--bs-drawer-inset)));
+    }
+    .\32 xl\:drawer:not(.drawer-instant):where(.drawer-bottom) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .\32 xl\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {
+      transform: translateY(calc(100% + var(--bs-drawer-inset)));
+    }
+    .\32 xl\:drawer:not(.drawer-instant)[open] {
       visibility: visible;
-      transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;
+      transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;
       transform: none;
     }
   }
   @media (width < 1536px) and (prefers-reduced-motion: reduce) {
-    .\32 xl\:offcanvas[open] {
+    .\32 xl\:drawer:not(.drawer-instant)[open] {
       transition: none;
     }
   }
+  @media (width < 1536px) {
+    .\32 xl\:drawer[open] {
+      visibility: visible;
+      transform: none;
+    }
+  }
   @media (width >= 1536px) {
-    .\32 xl\:offcanvas {
-      --bs-offcanvas-height: auto;
-      --bs-offcanvas-border-width: 0;
+    .\32 xl\:drawer {
+      --bs-drawer-height: auto;
+      --bs-drawer-border-width: 0;
       position: static !important;
       inset: auto;
       z-index: auto;
     }
   }
   @media (width >= 1536px) and (prefers-reduced-motion: reduce) {
-    .\32 xl\:offcanvas {
+    .\32 xl\:drawer {
       transition: none;
     }
   }
   @media (width >= 1536px) {
-    .\32 xl\:offcanvas .offcanvas-header {
+    .\32 xl\:drawer .drawer-header {
       display: none;
     }
-    .\32 xl\:offcanvas .offcanvas-body {
+    .\32 xl\:drawer .drawer-body {
       display: flex;
       flex-grow: 0;
       flex-direction: row;
-      align-items: center;
       width: 100%;
       padding: 0;
       overflow-y: visible;
       background-color: transparent !important;
     }
   }
-  .offcanvas {
+  .drawer {
     position: fixed;
     inset: auto;
-    z-index: var(--bs-offcanvas-zindex);
+    z-index: var(--bs-drawer-zindex);
     display: flex;
     flex-direction: column;
     width: auto;
-    max-width: calc(100% - var(--bs-offcanvas-inset) * 2);
+    max-width: calc(100% - var(--bs-drawer-inset) * 2);
     height: auto;
-    max-height: calc(100% - var(--bs-offcanvas-inset) * 2);
+    max-height: calc(100% - var(--bs-drawer-inset) * 2);
     padding: 0;
     margin: 0;
-    color: var(--bs-offcanvas-color);
+    color: var(--bs-drawer-color);
     visibility: hidden;
-    background-color: var(--bs-offcanvas-bg);
+    background-color: var(--bs-drawer-bg);
     background-clip: padding-box;
-    border: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    border: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
     outline: 0;
-    transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);
+    border-radius: var(--bs-drawer-border-radius);
+    box-shadow: var(--bs-drawer-box-shadow);
+  }
+  .drawer:where(.drawer-start) {
+    inset-block: var(--bs-drawer-inset);
+    inset-inline-start: var(--bs-drawer-inset);
+    width: var(--bs-drawer-width);
+  }
+  .drawer:where(.drawer-end) {
+    inset-block: var(--bs-drawer-inset);
+    inset-inline-end: var(--bs-drawer-inset);
+    width: var(--bs-drawer-width);
+  }
+  .drawer:where(.drawer-top) {
+    inset: var(--bs-drawer-inset) var(--bs-drawer-inset) auto;
+    height: var(--bs-drawer-height);
+  }
+  .drawer:where(.drawer-bottom) {
+    inset: auto var(--bs-drawer-inset) var(--bs-drawer-inset);
+    height: var(--bs-drawer-height);
+  }
+  .drawer:where(.drawer-fullscreen) {
+    inset: var(--bs-drawer-inset);
+    width: auto;
+    max-width: none;
+    height: auto;
+    max-height: none;
+  }
+  .drawer:not(.drawer-instant) {
+    transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration);
   }
   @media (prefers-reduced-motion: reduce) {
-    .offcanvas {
+    .drawer:not(.drawer-instant) {
       transition: none;
     }
   }
-  .offcanvas {
-    border-radius: var(--bs-offcanvas-border-radius);
-    box-shadow: var(--bs-offcanvas-box-shadow);
+  .drawer:not(.drawer-instant):where(.drawer-start) {
+    transform: translateX(calc(-100% - var(--bs-drawer-inset)));
   }
-  .offcanvas:where(.offcanvas-start) {
-    inset-block: var(--bs-offcanvas-inset);
-    inset-inline-start: var(--bs-offcanvas-inset);
-    width: var(--bs-offcanvas-width);
-    transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
+  :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-start) {
+    transform: translateX(calc(100% + var(--bs-drawer-inset)));
   }
-  :root:dir(rtl) .offcanvas:where(.offcanvas-start) {
-    transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
+  .drawer:not(.drawer-instant):where(.drawer-end) {
+    transform: translateX(calc(100% + var(--bs-drawer-inset)));
   }
-  .offcanvas:where(.offcanvas-end) {
-    inset-block: var(--bs-offcanvas-inset);
-    inset-inline-end: var(--bs-offcanvas-inset);
-    width: var(--bs-offcanvas-width);
-    transform: translateX(calc(100% + var(--bs-offcanvas-inset)));
+  :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-end) {
+    transform: translateX(calc(-100% - var(--bs-drawer-inset)));
   }
-  :root:dir(rtl) .offcanvas:where(.offcanvas-end) {
-    transform: translateX(calc(-100% - var(--bs-offcanvas-inset)));
+  .drawer:not(.drawer-instant):where(.drawer-top) {
+    transform: translateY(calc(-100% - var(--bs-drawer-inset)));
   }
-  .offcanvas:where(.offcanvas-top) {
-    inset: var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;
-    height: var(--bs-offcanvas-height);
-    transform: translateY(calc(-100% - var(--bs-offcanvas-inset)));
+  .drawer:not(.drawer-instant):where(.drawer-bottom) {
+    transform: translateY(calc(100% + var(--bs-drawer-inset)));
   }
-  .offcanvas:where(.offcanvas-bottom) {
-    inset: auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);
-    height: var(--bs-offcanvas-height);
-    transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
-  }
-  .offcanvas:where(.offcanvas-fullscreen) {
-    inset: var(--bs-offcanvas-inset);
-    width: auto;
-    max-width: none;
-    height: auto;
-    max-height: none;
-    transform: translateY(calc(100% + var(--bs-offcanvas-inset)));
+  .drawer:not(.drawer-instant):where(.drawer-fullscreen) {
+    transform: translateY(calc(100% + var(--bs-drawer-inset)));
   }
-  .offcanvas[open] {
+  .drawer:not(.drawer-instant)[open] {
     visibility: visible;
-    transition: transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;
+    transition: transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;
   }
   @media (prefers-reduced-motion: reduce) {
-    .offcanvas[open] {
+    .drawer:not(.drawer-instant)[open] {
       transition: none;
     }
   }
-  .offcanvas[open] {
+  .drawer:not(.drawer-instant)[open] {
+    transform: none;
+  }
+  .drawer[open] {
+    visibility: visible;
     transform: none;
   }
-  .sm\:offcanvas::backdrop {
-    --bs-offcanvas-backdrop-bg: var(--bs-bg-body);
-    --bs-offcanvas-backdrop-opacity: 25%;
-    --bs-offcanvas-backdrop-blur: 8px;
-    --bs-offcanvas-inset: var(--bs-spacer);
-    --bs-offcanvas-zindex: 1045;
-    --bs-offcanvas-width: 400px;
-    --bs-offcanvas-height: 30vh;
-    --bs-offcanvas-padding-x: var(--bs-spacer);
-    --bs-offcanvas-padding-y: var(--bs-spacer);
-    --bs-offcanvas-color: var(--bs-fg-body);
-    --bs-offcanvas-bg: var(--bs-bg-body);
-    --bs-offcanvas-border-width: var(--bs-border-width);
-    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-    --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-    --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-    --bs-offcanvas-transition-duration: 0.3s;
-    --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-    --bs-offcanvas-title-line-height: 1.5;
-    background-color: color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);
-    -webkit-backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
+  .sm\:drawer::backdrop {
+    --bs-drawer-backdrop-bg: var(--bs-bg-body);
+    --bs-drawer-backdrop-opacity: 25%;
+    --bs-drawer-backdrop-blur: 8px;
+    --bs-drawer-inset: var(--bs-spacer);
+    --bs-drawer-zindex: 1045;
+    --bs-drawer-width: 400px;
+    --bs-drawer-height: 30vh;
+    --bs-drawer-padding-x: var(--bs-spacer);
+    --bs-drawer-padding-y: var(--bs-spacer);
+    --bs-drawer-color: var(--bs-fg-body);
+    --bs-drawer-bg: var(--bs-bg-body);
+    --bs-drawer-border-width: var(--bs-border-width);
+    --bs-drawer-border-color: var(--bs-border-color-translucent);
+    --bs-drawer-border-radius: var(--bs-border-radius-lg);
+    --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+    --bs-drawer-transition-duration: 0.3s;
+    --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+    --bs-drawer-title-line-height: 1.5;
+    background-color: color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);
+    -webkit-backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .sm\:offcanvas::backdrop {
+    .sm\:drawer::backdrop {
       transition: none;
     }
   }
-  .md\:offcanvas::backdrop {
-    --bs-offcanvas-backdrop-bg: var(--bs-bg-body);
-    --bs-offcanvas-backdrop-opacity: 25%;
-    --bs-offcanvas-backdrop-blur: 8px;
-    --bs-offcanvas-inset: var(--bs-spacer);
-    --bs-offcanvas-zindex: 1045;
-    --bs-offcanvas-width: 400px;
-    --bs-offcanvas-height: 30vh;
-    --bs-offcanvas-padding-x: var(--bs-spacer);
-    --bs-offcanvas-padding-y: var(--bs-spacer);
-    --bs-offcanvas-color: var(--bs-fg-body);
-    --bs-offcanvas-bg: var(--bs-bg-body);
-    --bs-offcanvas-border-width: var(--bs-border-width);
-    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-    --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-    --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-    --bs-offcanvas-transition-duration: 0.3s;
-    --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-    --bs-offcanvas-title-line-height: 1.5;
-    background-color: color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);
-    -webkit-backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
+  .md\:drawer::backdrop {
+    --bs-drawer-backdrop-bg: var(--bs-bg-body);
+    --bs-drawer-backdrop-opacity: 25%;
+    --bs-drawer-backdrop-blur: 8px;
+    --bs-drawer-inset: var(--bs-spacer);
+    --bs-drawer-zindex: 1045;
+    --bs-drawer-width: 400px;
+    --bs-drawer-height: 30vh;
+    --bs-drawer-padding-x: var(--bs-spacer);
+    --bs-drawer-padding-y: var(--bs-spacer);
+    --bs-drawer-color: var(--bs-fg-body);
+    --bs-drawer-bg: var(--bs-bg-body);
+    --bs-drawer-border-width: var(--bs-border-width);
+    --bs-drawer-border-color: var(--bs-border-color-translucent);
+    --bs-drawer-border-radius: var(--bs-border-radius-lg);
+    --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+    --bs-drawer-transition-duration: 0.3s;
+    --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+    --bs-drawer-title-line-height: 1.5;
+    background-color: color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);
+    -webkit-backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .md\:offcanvas::backdrop {
+    .md\:drawer::backdrop {
       transition: none;
     }
   }
-  .lg\:offcanvas::backdrop {
-    --bs-offcanvas-backdrop-bg: var(--bs-bg-body);
-    --bs-offcanvas-backdrop-opacity: 25%;
-    --bs-offcanvas-backdrop-blur: 8px;
-    --bs-offcanvas-inset: var(--bs-spacer);
-    --bs-offcanvas-zindex: 1045;
-    --bs-offcanvas-width: 400px;
-    --bs-offcanvas-height: 30vh;
-    --bs-offcanvas-padding-x: var(--bs-spacer);
-    --bs-offcanvas-padding-y: var(--bs-spacer);
-    --bs-offcanvas-color: var(--bs-fg-body);
-    --bs-offcanvas-bg: var(--bs-bg-body);
-    --bs-offcanvas-border-width: var(--bs-border-width);
-    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-    --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-    --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-    --bs-offcanvas-transition-duration: 0.3s;
-    --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-    --bs-offcanvas-title-line-height: 1.5;
-    background-color: color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);
-    -webkit-backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
+  .lg\:drawer::backdrop {
+    --bs-drawer-backdrop-bg: var(--bs-bg-body);
+    --bs-drawer-backdrop-opacity: 25%;
+    --bs-drawer-backdrop-blur: 8px;
+    --bs-drawer-inset: var(--bs-spacer);
+    --bs-drawer-zindex: 1045;
+    --bs-drawer-width: 400px;
+    --bs-drawer-height: 30vh;
+    --bs-drawer-padding-x: var(--bs-spacer);
+    --bs-drawer-padding-y: var(--bs-spacer);
+    --bs-drawer-color: var(--bs-fg-body);
+    --bs-drawer-bg: var(--bs-bg-body);
+    --bs-drawer-border-width: var(--bs-border-width);
+    --bs-drawer-border-color: var(--bs-border-color-translucent);
+    --bs-drawer-border-radius: var(--bs-border-radius-lg);
+    --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+    --bs-drawer-transition-duration: 0.3s;
+    --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+    --bs-drawer-title-line-height: 1.5;
+    background-color: color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);
+    -webkit-backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .lg\:offcanvas::backdrop {
+    .lg\:drawer::backdrop {
       transition: none;
     }
   }
-  .xl\:offcanvas::backdrop {
-    --bs-offcanvas-backdrop-bg: var(--bs-bg-body);
-    --bs-offcanvas-backdrop-opacity: 25%;
-    --bs-offcanvas-backdrop-blur: 8px;
-    --bs-offcanvas-inset: var(--bs-spacer);
-    --bs-offcanvas-zindex: 1045;
-    --bs-offcanvas-width: 400px;
-    --bs-offcanvas-height: 30vh;
-    --bs-offcanvas-padding-x: var(--bs-spacer);
-    --bs-offcanvas-padding-y: var(--bs-spacer);
-    --bs-offcanvas-color: var(--bs-fg-body);
-    --bs-offcanvas-bg: var(--bs-bg-body);
-    --bs-offcanvas-border-width: var(--bs-border-width);
-    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-    --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-    --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-    --bs-offcanvas-transition-duration: 0.3s;
-    --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-    --bs-offcanvas-title-line-height: 1.5;
-    background-color: color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);
-    -webkit-backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
+  .xl\:drawer::backdrop {
+    --bs-drawer-backdrop-bg: var(--bs-bg-body);
+    --bs-drawer-backdrop-opacity: 25%;
+    --bs-drawer-backdrop-blur: 8px;
+    --bs-drawer-inset: var(--bs-spacer);
+    --bs-drawer-zindex: 1045;
+    --bs-drawer-width: 400px;
+    --bs-drawer-height: 30vh;
+    --bs-drawer-padding-x: var(--bs-spacer);
+    --bs-drawer-padding-y: var(--bs-spacer);
+    --bs-drawer-color: var(--bs-fg-body);
+    --bs-drawer-bg: var(--bs-bg-body);
+    --bs-drawer-border-width: var(--bs-border-width);
+    --bs-drawer-border-color: var(--bs-border-color-translucent);
+    --bs-drawer-border-radius: var(--bs-border-radius-lg);
+    --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+    --bs-drawer-transition-duration: 0.3s;
+    --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+    --bs-drawer-title-line-height: 1.5;
+    background-color: color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);
+    -webkit-backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .xl\:offcanvas::backdrop {
+    .xl\:drawer::backdrop {
       transition: none;
     }
   }
-  .\32 xl\:offcanvas::backdrop {
-    --bs-offcanvas-backdrop-bg: var(--bs-bg-body);
-    --bs-offcanvas-backdrop-opacity: 25%;
-    --bs-offcanvas-backdrop-blur: 8px;
-    --bs-offcanvas-inset: var(--bs-spacer);
-    --bs-offcanvas-zindex: 1045;
-    --bs-offcanvas-width: 400px;
-    --bs-offcanvas-height: 30vh;
-    --bs-offcanvas-padding-x: var(--bs-spacer);
-    --bs-offcanvas-padding-y: var(--bs-spacer);
-    --bs-offcanvas-color: var(--bs-fg-body);
-    --bs-offcanvas-bg: var(--bs-bg-body);
-    --bs-offcanvas-border-width: var(--bs-border-width);
-    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-    --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-    --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-    --bs-offcanvas-transition-duration: 0.3s;
-    --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-    --bs-offcanvas-title-line-height: 1.5;
-    background-color: color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);
-    -webkit-backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
+  .\32 xl\:drawer::backdrop {
+    --bs-drawer-backdrop-bg: var(--bs-bg-body);
+    --bs-drawer-backdrop-opacity: 25%;
+    --bs-drawer-backdrop-blur: 8px;
+    --bs-drawer-inset: var(--bs-spacer);
+    --bs-drawer-zindex: 1045;
+    --bs-drawer-width: 400px;
+    --bs-drawer-height: 30vh;
+    --bs-drawer-padding-x: var(--bs-spacer);
+    --bs-drawer-padding-y: var(--bs-spacer);
+    --bs-drawer-color: var(--bs-fg-body);
+    --bs-drawer-bg: var(--bs-bg-body);
+    --bs-drawer-border-width: var(--bs-border-width);
+    --bs-drawer-border-color: var(--bs-border-color-translucent);
+    --bs-drawer-border-radius: var(--bs-border-radius-lg);
+    --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+    --bs-drawer-transition-duration: 0.3s;
+    --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+    --bs-drawer-title-line-height: 1.5;
+    background-color: color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);
+    -webkit-backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .\32 xl\:offcanvas::backdrop {
+    .\32 xl\:drawer::backdrop {
       transition: none;
     }
   }
-  .offcanvas::backdrop {
-    --bs-offcanvas-backdrop-bg: var(--bs-bg-body);
-    --bs-offcanvas-backdrop-opacity: 25%;
-    --bs-offcanvas-backdrop-blur: 8px;
-    --bs-offcanvas-inset: var(--bs-spacer);
-    --bs-offcanvas-zindex: 1045;
-    --bs-offcanvas-width: 400px;
-    --bs-offcanvas-height: 30vh;
-    --bs-offcanvas-padding-x: var(--bs-spacer);
-    --bs-offcanvas-padding-y: var(--bs-spacer);
-    --bs-offcanvas-color: var(--bs-fg-body);
-    --bs-offcanvas-bg: var(--bs-bg-body);
-    --bs-offcanvas-border-width: var(--bs-border-width);
-    --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-    --bs-offcanvas-border-radius: var(--bs-border-radius-lg);
-    --bs-offcanvas-box-shadow: var(--bs-box-shadow-lg);
-    --bs-offcanvas-transition-duration: 0.3s;
-    --bs-offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
-    --bs-offcanvas-title-line-height: 1.5;
-    background-color: color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);
-    -webkit-backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    backdrop-filter: blur(var(--bs-offcanvas-backdrop-blur));
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;
-    transition: background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);
+  .drawer::backdrop {
+    --bs-drawer-backdrop-bg: var(--bs-bg-body);
+    --bs-drawer-backdrop-opacity: 25%;
+    --bs-drawer-backdrop-blur: 8px;
+    --bs-drawer-inset: var(--bs-spacer);
+    --bs-drawer-zindex: 1045;
+    --bs-drawer-width: 400px;
+    --bs-drawer-height: 30vh;
+    --bs-drawer-padding-x: var(--bs-spacer);
+    --bs-drawer-padding-y: var(--bs-spacer);
+    --bs-drawer-color: var(--bs-fg-body);
+    --bs-drawer-bg: var(--bs-bg-body);
+    --bs-drawer-border-width: var(--bs-border-width);
+    --bs-drawer-border-color: var(--bs-border-color-translucent);
+    --bs-drawer-border-radius: var(--bs-border-radius-lg);
+    --bs-drawer-box-shadow: var(--bs-box-shadow-lg);
+    --bs-drawer-transition-duration: 0.3s;
+    --bs-drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);
+    --bs-drawer-title-line-height: 1.5;
+    background-color: color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);
+    -webkit-backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    backdrop-filter: blur(var(--bs-drawer-backdrop-blur));
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;
+    transition: background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);
   }
   @media (prefers-reduced-motion: reduce) {
-    .offcanvas::backdrop {
+    .drawer::backdrop {
       transition: none;
     }
   }
   @starting-style {
-    .sm\:offcanvas::backdrop {
+    .sm\:drawer::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
     }
-    .md\:offcanvas::backdrop {
+    .md\:drawer::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
     }
-    .lg\:offcanvas::backdrop {
+    .lg\:drawer::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
     }
-    .xl\:offcanvas::backdrop {
+    .xl\:drawer::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
     }
-    .\32 xl\:offcanvas::backdrop {
+    .\32 xl\:drawer::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
     }
-    .offcanvas::backdrop {
+    .drawer::backdrop {
       background-color: transparent;
       -webkit-backdrop-filter: blur(0);
       backdrop-filter: blur(0);
     }
   }
-  .offcanvas-static {
+  .drawer-static {
     transform: scale(1.02);
   }
-  .offcanvas-translucent {
-    background-color: color-mix(in oklch, var(--bs-offcanvas-bg) 80%, transparent);
+  .drawer-translucent {
+    background-color: color-mix(in oklch, var(--bs-drawer-bg) 80%, transparent);
     -webkit-backdrop-filter: blur(5px) saturate(180%);
     backdrop-filter: blur(5px) saturate(180%);
   }
-  .offcanvas-header {
+  .drawer-sheet {
+    --bs-drawer-inset: 0;
+    --bs-drawer-border-radius: 0;
+    --bs-drawer-border-width: 0;
+    --bs-drawer-box-shadow: none;
+  }
+  .drawer-header {
     display: flex;
+    flex-shrink: 0;
     align-items: center;
-    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+    padding: var(--bs-drawer-padding-y) var(--bs-drawer-padding-x);
   }
-  .offcanvas-header .btn-close {
-    padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
+  .drawer-header .btn-close {
+    padding: calc(var(--bs-drawer-padding-y) * 0.5) calc(var(--bs-drawer-padding-x) * 0.5);
     margin-inline-start: auto;
-    margin-inline-end: calc(-0.5 * var(--bs-offcanvas-padding-x));
-    margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
-    margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
+    margin-inline-end: calc(-0.5 * var(--bs-drawer-padding-x));
+    margin-top: calc(-0.5 * var(--bs-drawer-padding-y));
+    margin-bottom: calc(-0.5 * var(--bs-drawer-padding-y));
   }
-  .offcanvas-title {
+  .drawer-title {
     margin-bottom: 0;
-    line-height: var(--bs-offcanvas-title-line-height);
+    line-height: var(--bs-drawer-title-line-height);
   }
-  .offcanvas-body {
+  .drawer-body {
     display: flex;
-    flex-grow: 1;
     flex-direction: column;
-    gap: var(--bs-offcanvas-padding-y);
-    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+    gap: var(--bs-drawer-padding-y);
+    flex: 1 1 auto;
+    padding: var(--bs-drawer-padding-y) var(--bs-drawer-padding-x);
     overflow-y: auto;
   }
-  .offcanvas-footer {
+  .drawer-footer {
     display: flex;
     flex-shrink: 0;
     flex-wrap: wrap;
     gap: 0.5rem;
     align-items: center;
     justify-content: flex-end;
-    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
-    border-block-start: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    padding: var(--bs-drawer-padding-y) var(--bs-drawer-padding-x);
+    border-block-start: var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);
   }
-  .offcanvas-fit-content {
+  .drawer-fit-content {
     inset-block-end: auto;
   }
 }
     z-index: 3;
     color: var(--bs-pagination-active-color);
     background-color: var(--bs-pagination-active-bg);
+    background-image: var(--bs-gradient);
     border-color: var(--bs-pagination-active-border-color);
   }
   .page-link.disabled, .disabled > .page-link {
   .place-items-stretch {
     place-items: stretch;
   }
+  .grid-cols-1 {
+    grid-template-columns: 1fr;
+  }
   .grid-cols-2 {
     grid-template-columns: repeat(2, 1fr);
   }
     margin: 0.5rem;
   }
   .m-3 {
-    margin: 1rem;
+    margin: 0.75rem;
   }
   .m-4 {
-    margin: 1.5rem;
+    margin: 1rem;
   }
   .m-5 {
+    margin: 1.25rem;
+  }
+  .m-6 {
+    margin: 1.5rem;
+  }
+  .m-7 {
+    margin: 2rem;
+  }
+  .m-8 {
+    margin: 2.5rem;
+  }
+  .m-9 {
     margin: 3rem;
   }
   .m-auto {
     margin-inline: 0.5rem;
   }
   .mx-3 {
-    margin-inline: 1rem;
+    margin-inline: 0.75rem;
   }
   .mx-4 {
-    margin-inline: 1.5rem;
+    margin-inline: 1rem;
   }
   .mx-5 {
+    margin-inline: 1.25rem;
+  }
+  .mx-6 {
+    margin-inline: 1.5rem;
+  }
+  .mx-7 {
+    margin-inline: 2rem;
+  }
+  .mx-8 {
+    margin-inline: 2.5rem;
+  }
+  .mx-9 {
     margin-inline: 3rem;
   }
   .mx-auto {
     margin-block: 0.5rem;
   }
   .my-3 {
-    margin-block: 1rem;
+    margin-block: 0.75rem;
   }
   .my-4 {
-    margin-block: 1.5rem;
+    margin-block: 1rem;
   }
   .my-5 {
+    margin-block: 1.25rem;
+  }
+  .my-6 {
+    margin-block: 1.5rem;
+  }
+  .my-7 {
+    margin-block: 2rem;
+  }
+  .my-8 {
+    margin-block: 2.5rem;
+  }
+  .my-9 {
     margin-block: 3rem;
   }
   .my-auto {
     margin-block-start: 0.5rem;
   }
   .mt-3 {
-    margin-block-start: 1rem;
+    margin-block-start: 0.75rem;
   }
   .mt-4 {
-    margin-block-start: 1.5rem;
+    margin-block-start: 1rem;
   }
   .mt-5 {
+    margin-block-start: 1.25rem;
+  }
+  .mt-6 {
+    margin-block-start: 1.5rem;
+  }
+  .mt-7 {
+    margin-block-start: 2rem;
+  }
+  .mt-8 {
+    margin-block-start: 2.5rem;
+  }
+  .mt-9 {
     margin-block-start: 3rem;
   }
   .mt-auto {
     margin-inline-end: 0.5rem;
   }
   .me-3 {
-    margin-inline-end: 1rem;
+    margin-inline-end: 0.75rem;
   }
   .me-4 {
-    margin-inline-end: 1.5rem;
+    margin-inline-end: 1rem;
   }
   .me-5 {
+    margin-inline-end: 1.25rem;
+  }
+  .me-6 {
+    margin-inline-end: 1.5rem;
+  }
+  .me-7 {
+    margin-inline-end: 2rem;
+  }
+  .me-8 {
+    margin-inline-end: 2.5rem;
+  }
+  .me-9 {
     margin-inline-end: 3rem;
   }
   .me-auto {
     margin-block-end: 0.5rem;
   }
   .mb-3 {
-    margin-block-end: 1rem;
+    margin-block-end: 0.75rem;
   }
   .mb-4 {
-    margin-block-end: 1.5rem;
+    margin-block-end: 1rem;
   }
   .mb-5 {
+    margin-block-end: 1.25rem;
+  }
+  .mb-6 {
+    margin-block-end: 1.5rem;
+  }
+  .mb-7 {
+    margin-block-end: 2rem;
+  }
+  .mb-8 {
+    margin-block-end: 2.5rem;
+  }
+  .mb-9 {
     margin-block-end: 3rem;
   }
   .mb-auto {
     margin-inline-start: 0.5rem;
   }
   .ms-3 {
-    margin-inline-start: 1rem;
+    margin-inline-start: 0.75rem;
   }
   .ms-4 {
-    margin-inline-start: 1.5rem;
+    margin-inline-start: 1rem;
   }
   .ms-5 {
+    margin-inline-start: 1.25rem;
+  }
+  .ms-6 {
+    margin-inline-start: 1.5rem;
+  }
+  .ms-7 {
+    margin-inline-start: 2rem;
+  }
+  .ms-8 {
+    margin-inline-start: 2.5rem;
+  }
+  .ms-9 {
     margin-inline-start: 3rem;
   }
   .ms--1 {
     padding: 0.5rem;
   }
   .p-3 {
-    padding: 1rem;
+    padding: 0.75rem;
   }
   .p-4 {
-    padding: 1.5rem;
+    padding: 1rem;
   }
   .p-5 {
-    padding: 3rem;
+    padding: 1.25rem;
   }
-  .px-0 {
-    padding-inline: 0;
+  .p-6 {
+    padding: 1.5rem;
+  }
+  .p-7 {
+    padding: 2rem;
+  }
+  .p-8 {
+    padding: 2.5rem;
+  }
+  .p-9 {
+    padding: 3rem;
+  }
+  .px-0 {
+    padding-inline: 0;
   }
   .px-1 {
     padding-inline: 0.25rem;
     padding-inline: 0.5rem;
   }
   .px-3 {
-    padding-inline: 1rem;
+    padding-inline: 0.75rem;
   }
   .px-4 {
-    padding-inline: 1.5rem;
+    padding-inline: 1rem;
   }
   .px-5 {
+    padding-inline: 1.25rem;
+  }
+  .px-6 {
+    padding-inline: 1.5rem;
+  }
+  .px-7 {
+    padding-inline: 2rem;
+  }
+  .px-8 {
+    padding-inline: 2.5rem;
+  }
+  .px-9 {
     padding-inline: 3rem;
   }
   .py-0 {
     padding-block: 0.5rem;
   }
   .py-3 {
-    padding-block: 1rem;
+    padding-block: 0.75rem;
   }
   .py-4 {
-    padding-block: 1.5rem;
+    padding-block: 1rem;
   }
   .py-5 {
+    padding-block: 1.25rem;
+  }
+  .py-6 {
+    padding-block: 1.5rem;
+  }
+  .py-7 {
+    padding-block: 2rem;
+  }
+  .py-8 {
+    padding-block: 2.5rem;
+  }
+  .py-9 {
     padding-block: 3rem;
   }
   .pt-0 {
     padding-block-start: 0.5rem;
   }
   .pt-3 {
-    padding-block-start: 1rem;
+    padding-block-start: 0.75rem;
   }
   .pt-4 {
-    padding-block-start: 1.5rem;
+    padding-block-start: 1rem;
   }
   .pt-5 {
+    padding-block-start: 1.25rem;
+  }
+  .pt-6 {
+    padding-block-start: 1.5rem;
+  }
+  .pt-7 {
+    padding-block-start: 2rem;
+  }
+  .pt-8 {
+    padding-block-start: 2.5rem;
+  }
+  .pt-9 {
     padding-block-start: 3rem;
   }
   .pe-0 {
     padding-inline-end: 0.5rem;
   }
   .pe-3 {
-    padding-inline-end: 1rem;
+    padding-inline-end: 0.75rem;
   }
   .pe-4 {
-    padding-inline-end: 1.5rem;
+    padding-inline-end: 1rem;
   }
   .pe-5 {
+    padding-inline-end: 1.25rem;
+  }
+  .pe-6 {
+    padding-inline-end: 1.5rem;
+  }
+  .pe-7 {
+    padding-inline-end: 2rem;
+  }
+  .pe-8 {
+    padding-inline-end: 2.5rem;
+  }
+  .pe-9 {
     padding-inline-end: 3rem;
   }
   .pb-0 {
     padding-block-end: 0.5rem;
   }
   .pb-3 {
-    padding-block-end: 1rem;
+    padding-block-end: 0.75rem;
   }
   .pb-4 {
-    padding-block-end: 1.5rem;
+    padding-block-end: 1rem;
   }
   .pb-5 {
+    padding-block-end: 1.25rem;
+  }
+  .pb-6 {
+    padding-block-end: 1.5rem;
+  }
+  .pb-7 {
+    padding-block-end: 2rem;
+  }
+  .pb-8 {
+    padding-block-end: 2.5rem;
+  }
+  .pb-9 {
     padding-block-end: 3rem;
   }
   .ps-0 {
     padding-inline-start: 0.5rem;
   }
   .ps-3 {
-    padding-inline-start: 1rem;
+    padding-inline-start: 0.75rem;
   }
   .ps-4 {
-    padding-inline-start: 1.5rem;
+    padding-inline-start: 1rem;
   }
   .ps-5 {
+    padding-inline-start: 1.25rem;
+  }
+  .ps-6 {
+    padding-inline-start: 1.5rem;
+  }
+  .ps-7 {
+    padding-inline-start: 2rem;
+  }
+  .ps-8 {
+    padding-inline-start: 2.5rem;
+  }
+  .ps-9 {
     padding-inline-start: 3rem;
   }
   .gap-0 {
     gap: 0.5rem;
   }
   .gap-3 {
-    gap: 1rem;
+    gap: 0.75rem;
   }
   .gap-4 {
-    gap: 1.5rem;
+    gap: 1rem;
   }
   .gap-5 {
+    gap: 1.25rem;
+  }
+  .gap-6 {
+    gap: 1.5rem;
+  }
+  .gap-7 {
+    gap: 2rem;
+  }
+  .gap-8 {
+    gap: 2.5rem;
+  }
+  .gap-9 {
     gap: 3rem;
   }
   .row-gap-0 {
     row-gap: 0.5rem;
   }
   .row-gap-3 {
-    row-gap: 1rem;
+    row-gap: 0.75rem;
   }
   .row-gap-4 {
-    row-gap: 1.5rem;
+    row-gap: 1rem;
   }
   .row-gap-5 {
+    row-gap: 1.25rem;
+  }
+  .row-gap-6 {
+    row-gap: 1.5rem;
+  }
+  .row-gap-7 {
+    row-gap: 2rem;
+  }
+  .row-gap-8 {
+    row-gap: 2.5rem;
+  }
+  .row-gap-9 {
     row-gap: 3rem;
   }
   .column-gap-0 {
     column-gap: 0.5rem;
   }
   .column-gap-3 {
+    -moz-column-gap: 0.75rem;
+    column-gap: 0.75rem;
+  }
+  .column-gap-4 {
     -moz-column-gap: 1rem;
     column-gap: 1rem;
   }
-  .column-gap-4 {
+  .column-gap-5 {
+    -moz-column-gap: 1.25rem;
+    column-gap: 1.25rem;
+  }
+  .column-gap-6 {
     -moz-column-gap: 1.5rem;
     column-gap: 1.5rem;
   }
-  .column-gap-5 {
+  .column-gap-7 {
+    -moz-column-gap: 2rem;
+    column-gap: 2rem;
+  }
+  .column-gap-8 {
+    -moz-column-gap: 2.5rem;
+    column-gap: 2.5rem;
+  }
+  .column-gap-9 {
     -moz-column-gap: 3rem;
     column-gap: 3rem;
   }
     .sm\:place-items-stretch {
       place-items: stretch;
     }
+    .sm\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .sm\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .sm\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .sm\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .sm\:m-5 {
+      margin: 1.25rem;
+    }
+    .sm\:m-6 {
+      margin: 1.5rem;
+    }
+    .sm\:m-7 {
+      margin: 2rem;
+    }
+    .sm\:m-8 {
+      margin: 2.5rem;
+    }
+    .sm\:m-9 {
       margin: 3rem;
     }
     .sm\:m-auto {
       margin-inline: 0.5rem;
     }
     .sm\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .sm\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .sm\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .sm\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .sm\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .sm\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .sm\:mx-9 {
       margin-inline: 3rem;
     }
     .sm\:mx-auto {
       margin-block: 0.5rem;
     }
     .sm\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .sm\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .sm\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .sm\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .sm\:my-7 {
+      margin-block: 2rem;
+    }
+    .sm\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .sm\:my-9 {
       margin-block: 3rem;
     }
     .sm\:my-auto {
       margin-block-start: 0.5rem;
     }
     .sm\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .sm\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .sm\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .sm\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .sm\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .sm\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .sm\:mt-9 {
       margin-block-start: 3rem;
     }
     .sm\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .sm\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .sm\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .sm\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .sm\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .sm\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .sm\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .sm\:me-9 {
       margin-inline-end: 3rem;
     }
     .sm\:me-auto {
       margin-block-end: 0.5rem;
     }
     .sm\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .sm\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .sm\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .sm\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .sm\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .sm\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .sm\:mb-9 {
       margin-block-end: 3rem;
     }
     .sm\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .sm\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .sm\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .sm\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .sm\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .sm\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .sm\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .sm\:ms-9 {
       margin-inline-start: 3rem;
     }
     .sm\:ms--1 {
       padding: 0.5rem;
     }
     .sm\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .sm\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .sm\:p-5 {
+      padding: 1.25rem;
+    }
+    .sm\:p-6 {
+      padding: 1.5rem;
+    }
+    .sm\:p-7 {
+      padding: 2rem;
+    }
+    .sm\:p-8 {
+      padding: 2.5rem;
+    }
+    .sm\:p-9 {
       padding: 3rem;
     }
     .sm\:px-0 {
       padding-inline: 0.5rem;
     }
     .sm\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .sm\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .sm\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .sm\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .sm\:px-7 {
+      padding-inline: 2rem;
+    }
+    .sm\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .sm\:px-9 {
       padding-inline: 3rem;
     }
     .sm\:py-0 {
       padding-block: 0.5rem;
     }
     .sm\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .sm\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .sm\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .sm\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .sm\:py-7 {
+      padding-block: 2rem;
+    }
+    .sm\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .sm\:py-9 {
       padding-block: 3rem;
     }
     .sm\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .sm\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .sm\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .sm\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .sm\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .sm\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .sm\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .sm\:pt-9 {
       padding-block-start: 3rem;
     }
     .sm\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .sm\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .sm\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .sm\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .sm\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .sm\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .sm\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .sm\:pe-9 {
       padding-inline-end: 3rem;
     }
     .sm\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .sm\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .sm\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .sm\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .sm\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .sm\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .sm\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .sm\:pb-9 {
       padding-block-end: 3rem;
     }
     .sm\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .sm\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .sm\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .sm\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .sm\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .sm\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .sm\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .sm\:ps-9 {
       padding-inline-start: 3rem;
     }
     .sm\:gap-0 {
       gap: 0.5rem;
     }
     .sm\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .sm\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .sm\:gap-5 {
+      gap: 1.25rem;
+    }
+    .sm\:gap-6 {
+      gap: 1.5rem;
+    }
+    .sm\:gap-7 {
+      gap: 2rem;
+    }
+    .sm\:gap-8 {
+      gap: 2.5rem;
+    }
+    .sm\:gap-9 {
       gap: 3rem;
     }
     .sm\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .sm\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .sm\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .sm\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .sm\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .sm\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .sm\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .sm\:row-gap-9 {
       row-gap: 3rem;
     }
     .sm\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .sm\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .sm\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .sm\:column-gap-4 {
+    .sm\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .sm\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .sm\:column-gap-5 {
+    .sm\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .sm\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .sm\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .md\:place-items-stretch {
       place-items: stretch;
     }
+    .md\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .md\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .md\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .md\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .md\:m-5 {
+      margin: 1.25rem;
+    }
+    .md\:m-6 {
+      margin: 1.5rem;
+    }
+    .md\:m-7 {
+      margin: 2rem;
+    }
+    .md\:m-8 {
+      margin: 2.5rem;
+    }
+    .md\:m-9 {
       margin: 3rem;
     }
     .md\:m-auto {
       margin-inline: 0.5rem;
     }
     .md\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .md\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .md\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .md\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .md\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .md\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .md\:mx-9 {
       margin-inline: 3rem;
     }
     .md\:mx-auto {
       margin-block: 0.5rem;
     }
     .md\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .md\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .md\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .md\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .md\:my-7 {
+      margin-block: 2rem;
+    }
+    .md\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .md\:my-9 {
       margin-block: 3rem;
     }
     .md\:my-auto {
       margin-block-start: 0.5rem;
     }
     .md\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .md\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .md\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .md\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .md\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .md\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .md\:mt-9 {
       margin-block-start: 3rem;
     }
     .md\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .md\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .md\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .md\:me-5 {
-      margin-inline-end: 3rem;
+      margin-inline-end: 1.25rem;
     }
-    .md\:me-auto {
+    .md\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .md\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .md\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .md\:me-9 {
+      margin-inline-end: 3rem;
+    }
+    .md\:me-auto {
       margin-inline-end: auto;
     }
     .md\:mb-0 {
       margin-block-end: 0.5rem;
     }
     .md\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .md\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .md\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .md\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .md\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .md\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .md\:mb-9 {
       margin-block-end: 3rem;
     }
     .md\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .md\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .md\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .md\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .md\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .md\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .md\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .md\:ms-9 {
       margin-inline-start: 3rem;
     }
     .md\:ms--1 {
       padding: 0.5rem;
     }
     .md\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .md\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .md\:p-5 {
+      padding: 1.25rem;
+    }
+    .md\:p-6 {
+      padding: 1.5rem;
+    }
+    .md\:p-7 {
+      padding: 2rem;
+    }
+    .md\:p-8 {
+      padding: 2.5rem;
+    }
+    .md\:p-9 {
       padding: 3rem;
     }
     .md\:px-0 {
       padding-inline: 0.5rem;
     }
     .md\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .md\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .md\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .md\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .md\:px-7 {
+      padding-inline: 2rem;
+    }
+    .md\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .md\:px-9 {
       padding-inline: 3rem;
     }
     .md\:py-0 {
       padding-block: 0.5rem;
     }
     .md\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .md\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .md\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .md\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .md\:py-7 {
+      padding-block: 2rem;
+    }
+    .md\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .md\:py-9 {
       padding-block: 3rem;
     }
     .md\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .md\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .md\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .md\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .md\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .md\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .md\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .md\:pt-9 {
       padding-block-start: 3rem;
     }
     .md\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .md\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .md\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .md\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .md\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .md\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .md\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .md\:pe-9 {
       padding-inline-end: 3rem;
     }
     .md\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .md\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .md\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .md\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .md\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .md\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .md\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .md\:pb-9 {
       padding-block-end: 3rem;
     }
     .md\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .md\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .md\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .md\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .md\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .md\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .md\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .md\:ps-9 {
       padding-inline-start: 3rem;
     }
     .md\:gap-0 {
       gap: 0.5rem;
     }
     .md\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .md\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .md\:gap-5 {
+      gap: 1.25rem;
+    }
+    .md\:gap-6 {
+      gap: 1.5rem;
+    }
+    .md\:gap-7 {
+      gap: 2rem;
+    }
+    .md\:gap-8 {
+      gap: 2.5rem;
+    }
+    .md\:gap-9 {
       gap: 3rem;
     }
     .md\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .md\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .md\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .md\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .md\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .md\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .md\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .md\:row-gap-9 {
       row-gap: 3rem;
     }
     .md\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .md\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .md\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .md\:column-gap-4 {
+    .md\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .md\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .md\:column-gap-5 {
+    .md\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .md\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .md\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .lg\:place-items-stretch {
       place-items: stretch;
     }
+    .lg\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .lg\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .lg\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .lg\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .lg\:m-5 {
+      margin: 1.25rem;
+    }
+    .lg\:m-6 {
+      margin: 1.5rem;
+    }
+    .lg\:m-7 {
+      margin: 2rem;
+    }
+    .lg\:m-8 {
+      margin: 2.5rem;
+    }
+    .lg\:m-9 {
       margin: 3rem;
     }
     .lg\:m-auto {
       margin-inline: 0.5rem;
     }
     .lg\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .lg\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .lg\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .lg\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .lg\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .lg\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .lg\:mx-9 {
       margin-inline: 3rem;
     }
     .lg\:mx-auto {
       margin-block: 0.5rem;
     }
     .lg\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .lg\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .lg\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .lg\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .lg\:my-7 {
+      margin-block: 2rem;
+    }
+    .lg\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .lg\:my-9 {
       margin-block: 3rem;
     }
     .lg\:my-auto {
       margin-block-start: 0.5rem;
     }
     .lg\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .lg\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .lg\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .lg\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .lg\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .lg\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .lg\:mt-9 {
       margin-block-start: 3rem;
     }
     .lg\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .lg\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .lg\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .lg\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .lg\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .lg\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .lg\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .lg\:me-9 {
       margin-inline-end: 3rem;
     }
     .lg\:me-auto {
       margin-block-end: 0.5rem;
     }
     .lg\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .lg\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .lg\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .lg\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .lg\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .lg\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .lg\:mb-9 {
       margin-block-end: 3rem;
     }
     .lg\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .lg\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .lg\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .lg\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .lg\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .lg\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .lg\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .lg\:ms-9 {
       margin-inline-start: 3rem;
     }
     .lg\:ms--1 {
       padding: 0.5rem;
     }
     .lg\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .lg\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .lg\:p-5 {
+      padding: 1.25rem;
+    }
+    .lg\:p-6 {
+      padding: 1.5rem;
+    }
+    .lg\:p-7 {
+      padding: 2rem;
+    }
+    .lg\:p-8 {
+      padding: 2.5rem;
+    }
+    .lg\:p-9 {
       padding: 3rem;
     }
     .lg\:px-0 {
       padding-inline: 0.5rem;
     }
     .lg\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .lg\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .lg\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .lg\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .lg\:px-7 {
+      padding-inline: 2rem;
+    }
+    .lg\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .lg\:px-9 {
       padding-inline: 3rem;
     }
     .lg\:py-0 {
       padding-block: 0.5rem;
     }
     .lg\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .lg\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .lg\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .lg\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .lg\:py-7 {
+      padding-block: 2rem;
+    }
+    .lg\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .lg\:py-9 {
       padding-block: 3rem;
     }
     .lg\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .lg\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .lg\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .lg\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .lg\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .lg\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .lg\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .lg\:pt-9 {
       padding-block-start: 3rem;
     }
     .lg\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .lg\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .lg\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .lg\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .lg\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .lg\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .lg\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .lg\:pe-9 {
       padding-inline-end: 3rem;
     }
     .lg\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .lg\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .lg\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .lg\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .lg\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .lg\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .lg\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .lg\:pb-9 {
       padding-block-end: 3rem;
     }
     .lg\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .lg\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .lg\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .lg\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .lg\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .lg\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .lg\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .lg\:ps-9 {
       padding-inline-start: 3rem;
     }
     .lg\:gap-0 {
       gap: 0.5rem;
     }
     .lg\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .lg\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .lg\:gap-5 {
+      gap: 1.25rem;
+    }
+    .lg\:gap-6 {
+      gap: 1.5rem;
+    }
+    .lg\:gap-7 {
+      gap: 2rem;
+    }
+    .lg\:gap-8 {
+      gap: 2.5rem;
+    }
+    .lg\:gap-9 {
       gap: 3rem;
     }
     .lg\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .lg\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .lg\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .lg\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .lg\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .lg\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .lg\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .lg\:row-gap-9 {
       row-gap: 3rem;
     }
     .lg\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .lg\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .lg\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .lg\:column-gap-4 {
+    .lg\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .lg\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .lg\:column-gap-5 {
+    .lg\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .lg\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .lg\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .xl\:place-items-stretch {
       place-items: stretch;
     }
+    .xl\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .xl\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .xl\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .xl\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .xl\:m-5 {
+      margin: 1.25rem;
+    }
+    .xl\:m-6 {
+      margin: 1.5rem;
+    }
+    .xl\:m-7 {
+      margin: 2rem;
+    }
+    .xl\:m-8 {
+      margin: 2.5rem;
+    }
+    .xl\:m-9 {
       margin: 3rem;
     }
     .xl\:m-auto {
       margin-inline: 0.5rem;
     }
     .xl\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .xl\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .xl\:mx-5 {
-      margin-inline: 3rem;
+      margin-inline: 1.25rem;
     }
-    .xl\:mx-auto {
-      margin-inline: auto;
+    .xl\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .xl\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .xl\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .xl\:mx-9 {
+      margin-inline: 3rem;
+    }
+    .xl\:mx-auto {
+      margin-inline: auto;
     }
     .xl\:my-0 {
       margin-block: 0;
       margin-block: 0.5rem;
     }
     .xl\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .xl\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .xl\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .xl\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .xl\:my-7 {
+      margin-block: 2rem;
+    }
+    .xl\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .xl\:my-9 {
       margin-block: 3rem;
     }
     .xl\:my-auto {
       margin-block-start: 0.5rem;
     }
     .xl\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .xl\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .xl\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .xl\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .xl\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .xl\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .xl\:mt-9 {
       margin-block-start: 3rem;
     }
     .xl\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .xl\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .xl\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .xl\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .xl\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .xl\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .xl\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .xl\:me-9 {
       margin-inline-end: 3rem;
     }
     .xl\:me-auto {
       margin-block-end: 0.5rem;
     }
     .xl\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .xl\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .xl\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .xl\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .xl\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .xl\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .xl\:mb-9 {
       margin-block-end: 3rem;
     }
     .xl\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .xl\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .xl\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .xl\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .xl\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .xl\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .xl\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .xl\:ms-9 {
       margin-inline-start: 3rem;
     }
     .xl\:ms--1 {
       padding: 0.5rem;
     }
     .xl\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .xl\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .xl\:p-5 {
+      padding: 1.25rem;
+    }
+    .xl\:p-6 {
+      padding: 1.5rem;
+    }
+    .xl\:p-7 {
+      padding: 2rem;
+    }
+    .xl\:p-8 {
+      padding: 2.5rem;
+    }
+    .xl\:p-9 {
       padding: 3rem;
     }
     .xl\:px-0 {
       padding-inline: 0.5rem;
     }
     .xl\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .xl\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .xl\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .xl\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .xl\:px-7 {
+      padding-inline: 2rem;
+    }
+    .xl\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .xl\:px-9 {
       padding-inline: 3rem;
     }
     .xl\:py-0 {
       padding-block: 0.5rem;
     }
     .xl\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .xl\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .xl\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .xl\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .xl\:py-7 {
+      padding-block: 2rem;
+    }
+    .xl\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .xl\:py-9 {
       padding-block: 3rem;
     }
     .xl\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .xl\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .xl\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .xl\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .xl\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .xl\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .xl\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .xl\:pt-9 {
       padding-block-start: 3rem;
     }
     .xl\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .xl\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .xl\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .xl\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .xl\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .xl\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .xl\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .xl\:pe-9 {
       padding-inline-end: 3rem;
     }
     .xl\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .xl\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .xl\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .xl\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .xl\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .xl\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .xl\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .xl\:pb-9 {
       padding-block-end: 3rem;
     }
     .xl\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .xl\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .xl\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .xl\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .xl\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .xl\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .xl\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .xl\:ps-9 {
       padding-inline-start: 3rem;
     }
     .xl\:gap-0 {
       gap: 0.5rem;
     }
     .xl\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .xl\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .xl\:gap-5 {
+      gap: 1.25rem;
+    }
+    .xl\:gap-6 {
+      gap: 1.5rem;
+    }
+    .xl\:gap-7 {
+      gap: 2rem;
+    }
+    .xl\:gap-8 {
+      gap: 2.5rem;
+    }
+    .xl\:gap-9 {
       gap: 3rem;
     }
     .xl\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .xl\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .xl\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .xl\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .xl\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .xl\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .xl\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .xl\:row-gap-9 {
       row-gap: 3rem;
     }
     .xl\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .xl\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .xl\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .xl\:column-gap-4 {
+    .xl\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .xl\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .xl\:column-gap-5 {
+    .xl\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .xl\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .xl\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
     .\32 xl\:place-items-stretch {
       place-items: stretch;
     }
+    .\32 xl\:grid-cols-1 {
+      grid-template-columns: 1fr;
+    }
     .\32 xl\:grid-cols-2 {
       grid-template-columns: repeat(2, 1fr);
     }
       margin: 0.5rem;
     }
     .\32 xl\:m-3 {
-      margin: 1rem;
+      margin: 0.75rem;
     }
     .\32 xl\:m-4 {
-      margin: 1.5rem;
+      margin: 1rem;
     }
     .\32 xl\:m-5 {
+      margin: 1.25rem;
+    }
+    .\32 xl\:m-6 {
+      margin: 1.5rem;
+    }
+    .\32 xl\:m-7 {
+      margin: 2rem;
+    }
+    .\32 xl\:m-8 {
+      margin: 2.5rem;
+    }
+    .\32 xl\:m-9 {
       margin: 3rem;
     }
     .\32 xl\:m-auto {
       margin-inline: 0.5rem;
     }
     .\32 xl\:mx-3 {
-      margin-inline: 1rem;
+      margin-inline: 0.75rem;
     }
     .\32 xl\:mx-4 {
-      margin-inline: 1.5rem;
+      margin-inline: 1rem;
     }
     .\32 xl\:mx-5 {
+      margin-inline: 1.25rem;
+    }
+    .\32 xl\:mx-6 {
+      margin-inline: 1.5rem;
+    }
+    .\32 xl\:mx-7 {
+      margin-inline: 2rem;
+    }
+    .\32 xl\:mx-8 {
+      margin-inline: 2.5rem;
+    }
+    .\32 xl\:mx-9 {
       margin-inline: 3rem;
     }
     .\32 xl\:mx-auto {
       margin-block: 0.5rem;
     }
     .\32 xl\:my-3 {
-      margin-block: 1rem;
+      margin-block: 0.75rem;
     }
     .\32 xl\:my-4 {
-      margin-block: 1.5rem;
+      margin-block: 1rem;
     }
     .\32 xl\:my-5 {
+      margin-block: 1.25rem;
+    }
+    .\32 xl\:my-6 {
+      margin-block: 1.5rem;
+    }
+    .\32 xl\:my-7 {
+      margin-block: 2rem;
+    }
+    .\32 xl\:my-8 {
+      margin-block: 2.5rem;
+    }
+    .\32 xl\:my-9 {
       margin-block: 3rem;
     }
     .\32 xl\:my-auto {
       margin-block-start: 0.5rem;
     }
     .\32 xl\:mt-3 {
-      margin-block-start: 1rem;
+      margin-block-start: 0.75rem;
     }
     .\32 xl\:mt-4 {
-      margin-block-start: 1.5rem;
+      margin-block-start: 1rem;
     }
     .\32 xl\:mt-5 {
+      margin-block-start: 1.25rem;
+    }
+    .\32 xl\:mt-6 {
+      margin-block-start: 1.5rem;
+    }
+    .\32 xl\:mt-7 {
+      margin-block-start: 2rem;
+    }
+    .\32 xl\:mt-8 {
+      margin-block-start: 2.5rem;
+    }
+    .\32 xl\:mt-9 {
       margin-block-start: 3rem;
     }
     .\32 xl\:mt-auto {
       margin-inline-end: 0.5rem;
     }
     .\32 xl\:me-3 {
-      margin-inline-end: 1rem;
+      margin-inline-end: 0.75rem;
     }
     .\32 xl\:me-4 {
-      margin-inline-end: 1.5rem;
+      margin-inline-end: 1rem;
     }
     .\32 xl\:me-5 {
+      margin-inline-end: 1.25rem;
+    }
+    .\32 xl\:me-6 {
+      margin-inline-end: 1.5rem;
+    }
+    .\32 xl\:me-7 {
+      margin-inline-end: 2rem;
+    }
+    .\32 xl\:me-8 {
+      margin-inline-end: 2.5rem;
+    }
+    .\32 xl\:me-9 {
       margin-inline-end: 3rem;
     }
     .\32 xl\:me-auto {
       margin-block-end: 0.5rem;
     }
     .\32 xl\:mb-3 {
-      margin-block-end: 1rem;
+      margin-block-end: 0.75rem;
     }
     .\32 xl\:mb-4 {
-      margin-block-end: 1.5rem;
+      margin-block-end: 1rem;
     }
     .\32 xl\:mb-5 {
+      margin-block-end: 1.25rem;
+    }
+    .\32 xl\:mb-6 {
+      margin-block-end: 1.5rem;
+    }
+    .\32 xl\:mb-7 {
+      margin-block-end: 2rem;
+    }
+    .\32 xl\:mb-8 {
+      margin-block-end: 2.5rem;
+    }
+    .\32 xl\:mb-9 {
       margin-block-end: 3rem;
     }
     .\32 xl\:mb-auto {
       margin-inline-start: 0.5rem;
     }
     .\32 xl\:ms-3 {
-      margin-inline-start: 1rem;
+      margin-inline-start: 0.75rem;
     }
     .\32 xl\:ms-4 {
-      margin-inline-start: 1.5rem;
+      margin-inline-start: 1rem;
     }
     .\32 xl\:ms-5 {
+      margin-inline-start: 1.25rem;
+    }
+    .\32 xl\:ms-6 {
+      margin-inline-start: 1.5rem;
+    }
+    .\32 xl\:ms-7 {
+      margin-inline-start: 2rem;
+    }
+    .\32 xl\:ms-8 {
+      margin-inline-start: 2.5rem;
+    }
+    .\32 xl\:ms-9 {
       margin-inline-start: 3rem;
     }
     .\32 xl\:ms--1 {
       padding: 0.5rem;
     }
     .\32 xl\:p-3 {
-      padding: 1rem;
+      padding: 0.75rem;
     }
     .\32 xl\:p-4 {
-      padding: 1.5rem;
+      padding: 1rem;
     }
     .\32 xl\:p-5 {
+      padding: 1.25rem;
+    }
+    .\32 xl\:p-6 {
+      padding: 1.5rem;
+    }
+    .\32 xl\:p-7 {
+      padding: 2rem;
+    }
+    .\32 xl\:p-8 {
+      padding: 2.5rem;
+    }
+    .\32 xl\:p-9 {
       padding: 3rem;
     }
     .\32 xl\:px-0 {
       padding-inline: 0.5rem;
     }
     .\32 xl\:px-3 {
-      padding-inline: 1rem;
+      padding-inline: 0.75rem;
     }
     .\32 xl\:px-4 {
-      padding-inline: 1.5rem;
+      padding-inline: 1rem;
     }
     .\32 xl\:px-5 {
+      padding-inline: 1.25rem;
+    }
+    .\32 xl\:px-6 {
+      padding-inline: 1.5rem;
+    }
+    .\32 xl\:px-7 {
+      padding-inline: 2rem;
+    }
+    .\32 xl\:px-8 {
+      padding-inline: 2.5rem;
+    }
+    .\32 xl\:px-9 {
       padding-inline: 3rem;
     }
     .\32 xl\:py-0 {
       padding-block: 0.5rem;
     }
     .\32 xl\:py-3 {
-      padding-block: 1rem;
+      padding-block: 0.75rem;
     }
     .\32 xl\:py-4 {
-      padding-block: 1.5rem;
+      padding-block: 1rem;
     }
     .\32 xl\:py-5 {
+      padding-block: 1.25rem;
+    }
+    .\32 xl\:py-6 {
+      padding-block: 1.5rem;
+    }
+    .\32 xl\:py-7 {
+      padding-block: 2rem;
+    }
+    .\32 xl\:py-8 {
+      padding-block: 2.5rem;
+    }
+    .\32 xl\:py-9 {
       padding-block: 3rem;
     }
     .\32 xl\:pt-0 {
       padding-block-start: 0.5rem;
     }
     .\32 xl\:pt-3 {
-      padding-block-start: 1rem;
+      padding-block-start: 0.75rem;
     }
     .\32 xl\:pt-4 {
-      padding-block-start: 1.5rem;
+      padding-block-start: 1rem;
     }
     .\32 xl\:pt-5 {
+      padding-block-start: 1.25rem;
+    }
+    .\32 xl\:pt-6 {
+      padding-block-start: 1.5rem;
+    }
+    .\32 xl\:pt-7 {
+      padding-block-start: 2rem;
+    }
+    .\32 xl\:pt-8 {
+      padding-block-start: 2.5rem;
+    }
+    .\32 xl\:pt-9 {
       padding-block-start: 3rem;
     }
     .\32 xl\:pe-0 {
       padding-inline-end: 0.5rem;
     }
     .\32 xl\:pe-3 {
-      padding-inline-end: 1rem;
+      padding-inline-end: 0.75rem;
     }
     .\32 xl\:pe-4 {
-      padding-inline-end: 1.5rem;
+      padding-inline-end: 1rem;
     }
     .\32 xl\:pe-5 {
+      padding-inline-end: 1.25rem;
+    }
+    .\32 xl\:pe-6 {
+      padding-inline-end: 1.5rem;
+    }
+    .\32 xl\:pe-7 {
+      padding-inline-end: 2rem;
+    }
+    .\32 xl\:pe-8 {
+      padding-inline-end: 2.5rem;
+    }
+    .\32 xl\:pe-9 {
       padding-inline-end: 3rem;
     }
     .\32 xl\:pb-0 {
       padding-block-end: 0.5rem;
     }
     .\32 xl\:pb-3 {
-      padding-block-end: 1rem;
+      padding-block-end: 0.75rem;
     }
     .\32 xl\:pb-4 {
-      padding-block-end: 1.5rem;
+      padding-block-end: 1rem;
     }
     .\32 xl\:pb-5 {
+      padding-block-end: 1.25rem;
+    }
+    .\32 xl\:pb-6 {
+      padding-block-end: 1.5rem;
+    }
+    .\32 xl\:pb-7 {
+      padding-block-end: 2rem;
+    }
+    .\32 xl\:pb-8 {
+      padding-block-end: 2.5rem;
+    }
+    .\32 xl\:pb-9 {
       padding-block-end: 3rem;
     }
     .\32 xl\:ps-0 {
       padding-inline-start: 0.5rem;
     }
     .\32 xl\:ps-3 {
-      padding-inline-start: 1rem;
+      padding-inline-start: 0.75rem;
     }
     .\32 xl\:ps-4 {
-      padding-inline-start: 1.5rem;
+      padding-inline-start: 1rem;
     }
     .\32 xl\:ps-5 {
+      padding-inline-start: 1.25rem;
+    }
+    .\32 xl\:ps-6 {
+      padding-inline-start: 1.5rem;
+    }
+    .\32 xl\:ps-7 {
+      padding-inline-start: 2rem;
+    }
+    .\32 xl\:ps-8 {
+      padding-inline-start: 2.5rem;
+    }
+    .\32 xl\:ps-9 {
       padding-inline-start: 3rem;
     }
     .\32 xl\:gap-0 {
       gap: 0.5rem;
     }
     .\32 xl\:gap-3 {
-      gap: 1rem;
+      gap: 0.75rem;
     }
     .\32 xl\:gap-4 {
-      gap: 1.5rem;
+      gap: 1rem;
     }
     .\32 xl\:gap-5 {
+      gap: 1.25rem;
+    }
+    .\32 xl\:gap-6 {
+      gap: 1.5rem;
+    }
+    .\32 xl\:gap-7 {
+      gap: 2rem;
+    }
+    .\32 xl\:gap-8 {
+      gap: 2.5rem;
+    }
+    .\32 xl\:gap-9 {
       gap: 3rem;
     }
     .\32 xl\:row-gap-0 {
       row-gap: 0.5rem;
     }
     .\32 xl\:row-gap-3 {
-      row-gap: 1rem;
+      row-gap: 0.75rem;
     }
     .\32 xl\:row-gap-4 {
-      row-gap: 1.5rem;
+      row-gap: 1rem;
     }
     .\32 xl\:row-gap-5 {
+      row-gap: 1.25rem;
+    }
+    .\32 xl\:row-gap-6 {
+      row-gap: 1.5rem;
+    }
+    .\32 xl\:row-gap-7 {
+      row-gap: 2rem;
+    }
+    .\32 xl\:row-gap-8 {
+      row-gap: 2.5rem;
+    }
+    .\32 xl\:row-gap-9 {
       row-gap: 3rem;
     }
     .\32 xl\:column-gap-0 {
       column-gap: 0.5rem;
     }
     .\32 xl\:column-gap-3 {
+      -moz-column-gap: 0.75rem;
+      column-gap: 0.75rem;
+    }
+    .\32 xl\:column-gap-4 {
       -moz-column-gap: 1rem;
       column-gap: 1rem;
     }
-    .\32 xl\:column-gap-4 {
+    .\32 xl\:column-gap-5 {
+      -moz-column-gap: 1.25rem;
+      column-gap: 1.25rem;
+    }
+    .\32 xl\:column-gap-6 {
       -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
     }
-    .\32 xl\:column-gap-5 {
+    .\32 xl\:column-gap-7 {
+      -moz-column-gap: 2rem;
+      column-gap: 2rem;
+    }
+    .\32 xl\:column-gap-8 {
+      -moz-column-gap: 2.5rem;
+      column-gap: 2.5rem;
+    }
+    .\32 xl\:column-gap-9 {
       -moz-column-gap: 3rem;
       column-gap: 3rem;
     }
index 433778f1f23b9b4fcc869910ad22340b34220e3c..2e1d47ab8e4007c0092848c2877239a8f68a92c1 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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MACE,oBAFS;InBwmEjB;ImBvmEM;MACE,oBAFS;InB2mEjB;ImB1mEM;MACE,qBAFS;InB8mEjB;ImB7mEM;MACE,qBAFS;InBinEjB;EACF;EWtoEE;IQaM;MACE,wBAAA;InB4nER;ImB7nEM;MACE,wBAAA;InB+nER;ImBhoEM;MACE,wBAAA;InBkoER;ImBnoEM;MACE,wBAAA;InBqoER;ImBtoEM;MACE,wBAAA;InBwoER;ImBzoEM;MACE,wBAAA;InB2oER;ImB5oEM;MACE,wBAAA;InB8oER;ImB/oEM;MACE,wBAAA;InBipER;ImBlpEM;MACE,wBAAA;InBopER;ImBrpEM;MACE,yBAAA;InBupER;ImBxpEM;MACE,yBAAA;InB0pER;ImB3pEM;MACE,yBAAA;InB6pER;ImBtpEM;MACE,oBAFS;InB0pEjB;ImBzpEM;MACE,oBAFS;InB6pEjB;ImB5pEM;MACE,oBAFS;InBgqEjB;ImB/pEM;MACE,oBAFS;InBmqEjB;ImBlqEM;MACE,oBAFS;InBsqEjB;ImBrqEM;MACE,oBAFS;InByqEjB;ImBxqEM;MACE,oBAFS;InB4qEjB;ImB3qEM;MACE,oBAFS;InB+qEjB;ImB9qEM;MACE,oBAFS;InBkrEjB;ImBjrEM;MACE,qBAFS;InBqrEjB;ImBprEM;MACE,qBAFS;InBwrEjB;EACF;EW7sEE;IQaM;MACE,wBAAA;InBmsER;ImBpsEM;MACE,wBAAA;InBssER;ImBvsEM;MACE,wBAAA;InBysER;ImB1sEM;MACE,wBAAA;InB4sER;ImB7sEM;MACE,wBAAA;InB+sER;ImBhtEM;MACE,wBAAA;InBktER;ImBntEM;MACE,wBAAA;InBqtER;ImBttEM;MACE,wBAAA;InBwtER;ImBztEM;MACE,wBAAA;InB2tER;ImB5tEM;MACE,yBAAA;InB8tER;ImB/tEM;MACE,yBAAA;InBiuER;ImBluEM;MACE,yBAAA;InBouER;ImB7tEM;MACE,oBAFS;InBiuEjB;ImBhuEM;MACE,oBAFS;InBouEjB;ImBnuEM;MACE,oBAFS;InBuuEjB;ImBtuEM;MACE,oBAFS;InB0uEjB;ImBzuEM;MACE,oBAFS;InB6uEjB;ImB5uEM;MACE,oBAFS;InBgvEjB;ImB/uEM;MACE,oBAFS;InBmvEjB;ImBlvEM;MACE,oBAFS;InBsvEjB;ImBrvEM;MACE,oBAFS;InByvEjB;ImBxvEM;MACE,qBAFS;InB4vEjB;ImB3vEM;MACE,qBAFS;InB+vEjB;EACF;EWpxEE;IQaM;MACE,wBAAA;InB0wER;ImB3wEM;MACE,wBAAA;InB6wER;ImB9wEM;MACE,wBAAA;InBgxER;ImBjxEM;MACE,wBAAA;InBmxER;ImBpxEM;MACE,wBAAA;InBsxER;ImBvxEM;MACE,wBAAA;InByxER;ImB1xEM;MACE,wBAAA;InB4xER;ImB7xEM;MACE,wBAAA;InB+xER;ImBhyEM;MACE,wBAAA;InBkyER;ImBnyEM;MACE,yBAAA;InBqyER;ImBtyEM;MACE,yBAAA;InBwyER;ImBzyEM;MACE,yBAAA;InB2yER;ImBpyEM;MACE,oBAFS;InBwyEjB;ImBvyEM;MACE,oBAFS;InB2yEjB;ImB1yEM;MACE,oBAFS;InB8yEjB;ImB7yEM;MACE,oBAFS;InBizEjB;ImBhzEM;MACE,oBAFS;InBozEjB;ImBnzEM;MACE,oBAFS;InBuzEjB;ImBtzEM;MACE,oBAFS;InB0zEjB;ImBzzEM;MACE,oBAFS;InB6zEjB;ImB5zEM;MACE,oBAFS;InBg0EjB;ImB/zEM;MACE,qBAFS;InBm0EjB;ImBl0EM;MACE,qBAFS;InBs0EjB;EACF;EW31EE;IQaM;MACE,wBAAA;InBi1ER;ImBl1EM;MACE,wBAAA;InBo1ER;ImBr1EM;MACE,wBAAA;InBu1ER;ImBx1EM;MACE,wBAAA;InB01ER;ImB31EM;MACE,wBAAA;InB61ER;ImB91EM;MACE,wBAAA;InBg2ER;ImBj2EM;MACE,wBAAA;InBm2ER;ImBp2EM;MACE,wBAAA;InBs2ER;ImBv2EM;MACE,wBAAA;InBy2ER;ImB12EM;MACE,yBAAA;InB42ER;ImB72EM;MACE,yBAAA;InB+2ER;ImBh3EM;MACE,yBAAA;InBk3ER;ImB32EM;MACE,oBAFS;InB+2EjB;ImB92EM;MACE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,aA0CG;EjFwhRT;EiF18QE;IAxHI,UA0CG;EjF2hRT;EiF78QE;IAxHI,cA+CO;EjFyhRb;EiFh9QE;IAxHI,gBA+CO;EjF4hRb;EiFn9QE;IAxHI,iBA+CO;EjF+hRb;EiFt9QE;IAxHI,gBA+CO;EjFkiRb;EiFz9QE;IAxHI,gBA+CO;EjFqiRb;EiF59QE;IAxHI,kBA+CO;EjFwiRb;EiF/9QE;IAxHI,mBA+CO;EjF2iRb;EiFl+QE;IAxHI,kBA+CO;EjF8iRb;EiFr+QE;IAxHI,gBA+CO;EjFijRb;EiFx+QE;IAxHI,kBA+CO;EjFojRb;EiF3+QE;IAxHI,mBA+CO;EjFujRb;EiF9+QE;IAxHI,kBA+CO;EjF0jRb;EiFj/QE;IAxHI,2BA0CG;EjFkkRT;EiFp/QE;IAxHI,oBA0CG;EjFqkRT;EiFv/QE;IAxHI,eA+CO;EjFmkRb;EiF1/QE;IAxHI,qBA+CO;EjFskRb;EiF7/QE;IAxHI,cA+CO;EjFykRb;EiFhgRE;IAxHI,aA+CO;EjF4kRb;EiFngRE;IAxHI,oBA+CO;EjF+kRb;EiFtgRE;IAxHI,cA+CO;EjFklRb;EiFzgRE;IAxHI,kBA+CO;EjFqlRb;EiF5gRE;IAxHI,mBA+CO;EjFwlRb;EiF/gRE;IAxHI,aA+CO;EjF2lRb;EiFlhRE;IAxHI,oBA+CO;EjF8lRb;EiFrhRE;IAxHI,iBA+CO;EjFimRb;EiFxhRE;IAxHI,kBA+CO;EjFomRb;EiF3hRE;IAxHI,aA+CO;EjFumRb;EiF9hRE;IAxHI,gCA0CG;EjF+mRT;EiFjiRE;IAxHI,mCA0CG;EjFknRT;EiFpiRE;IAxHI,mCA0CG;EjFqnRT;EiFviRE;IAxHI,gBA0CG;EjFwnRT;EiF1iRE;IAxHI,iKA0CG;EjF2nRT;EiF7iRE;IAxHI,qKA0CG;EjF8nRT;EiFhjRE;IAxHI,mKA0CG;EjFioRT;EiFnjRE;IAxHI,+JA0CG;EjFooRT;EiFtjRE;IAxHI,qKA0CG;EjFuoRT;EiFzjRE;IAxHI,iKA0CG;EjF0oRT;EiF5jRE;IAxHI,qHA0CG;EjF6oRT;EiF/jRE;IAxHI,qHA0CG;EjFgpRT;EiFlkRE;IAxHI,gBA+CO;EjF8oRb;EiFr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CG;EjFmgST;EiFr7RE;IAxHI,YA0CG;EjFsgST;EiFx7RE;IAxHI,cA0CG;EjFygST;EiF37RE;IAxHI,cA0CG;EjF4gST;EiF97RE;IAxHI,eA+CO;EjF0gSb;EiFj8RE;IAxHI,iBA+CO;EjF6gSb;EiFp8RE;IAxHI,uBA+CO;EjFghSb;EiFv8RE;IAxHI,2BA0CG;EjFwhST;EiF18RE;IAxHI,yBA0CG;EjF2hST;EiF78RE;IAxHI,uBA0CG;EjF8hST;EiFh9RE;IAxHI,8BA0CG;EjFiiST;EiFn9RE;IAxHI,6BA0CG;EjFoiST;EiFt9RE;IAxHI,6BA0CG;EjFuiST;EiFz9RE;IAxHI,oBA0CG;EjF0iST;EiF59RE;IAxHI,kBA0CG;EjF6iST;EiF/9RE;IAxHI,qBA0CG;EjFgjST;EiFl+RE;IAxHI,sBA0CG;EjFmjST;EiFr+RE;IAxHI,wBA0CG;EjFsjST;EiFx+RE;IAxHI,sBA0CG;EjFyjST;EiF3+RE;IAxHI,oBA0CG;EjF4jST;EiF9+RE;IAxHI,uBA0CG;EjF+jST;EiFj/RE;IAxHI,qBA0CG;EjFkkST;EiFp/RE;IAxHI,mBA0CG;EjFqkST;EiFv/RE;IAxHI,qBA0CG;EjFwkST;EiF1/RE;IAxHI,oBA0CG;EjF2kST;EiF7/RE;IAxHI,yBA0CG;EjF8kST;EiFhgSE;IAxHI,uBA0CG;EjFilST;EiFngSE;IAxHI,qBA0CG;EjFolST;EiFtgSE;IAxHI,4BA0CG;EjFulST;EiFzgSE;IAxHI,2BA0CG;EjF0lST;EiF5gSE;IAxHI,sBA0CG;EjF6lST;EiF/gSE;IAxHI,gBA0CG;EjFgmST;EiFlhSE;IAxHI,sBA0CG;EjFmmST;EiFrhSE;IAxHI,oBA0CG;EjFsmST;EiFxhSE;IAxHI,kBA0CG;EjFymST;EiF3hSE;IAxHI,oBA0CG;EjF4mST;EiF9hSE;IAxHI,mBA0CG;EjF+mST;EiFjiSE;IAxHI,kBA0CG;EjFknST;EiFpiSE;IAxHI,gBA0CG;EjFqnST;EiFviSE;IAxHI,mBA0CG;EjFwnST;EiF1iSE;IAxHI,oBA0CG;EjF2nST;EiF7iSE;IAxHI,qCA0CG;EjF8nST;EiFhjSE;IAxHI,qCA0CG;EjFioST;EiFnjSE;IAxHI,qCA0CG;EjFooST;EiFtjSE;IAxHI,qCA0CG;EjFuoST;EiFzjSE;IAxHI,mBA0CG;EjF0oST;EiF5jSE;IAxHI,mBA+CO;EjFwoSb;EiF/jSE;IAxHI,sBA+CO;EjF2oSb;EiFlkSE;IAxHI,qBA+CO;EjF8oSb;EiFrkSE;IAxHI,SA0CG;EjFspST;EiFxkSE;IAxHI,QA0CG;EjFypST;EiF3kSE;IAxHI,QA0CG;EjF4pST;EiF9kSE;IAxHI,QA0CG;EjF+pST;EiFjlSE;IAxHI,QA0CG;EjFkqST;EiFplSE;IAxHI,QA0CG;EjFqqST;EiFvlSE;IAxHI,QA0CG;EjFwqST;EiF1lSE;IAxHI,QA0CG;EjF2qST;EiF7lSE;IAxHI,SA0CG;EjF8qST;EiFhmSE;IAxHI,eA0CG;EjFirST;EiFnmSE;IAxHI,cA0CG;EjForST;EiFtmSE;IAxHI,YA0CG;EjFurST;EiFzmSE;IAxHI,cA0CG;EjF0rST;EiF5mSE;IAxHI,YA0CG;EjF6rST;EiF/mSE;IAxHI,YA0CG;EjFgsST;EiFlnSE;IAxHI,gBA0CG;EjFmsST;EiFrnSE;IAxHI,sBA0CG;EjFssST;EiFxnSE;IAxHI,qBA0CG;EjFysST;EiF3nSE;IAxHI,mBA0CG;EjF4sST;EiF9nSE;IAxHI,qBA0CG;EjF+sST;EiFjoSE;IAxHI,mBA0CG;EjFktST;EiFpoSE;IAxHI,mBA0CG;EjFqtST;EiFvoSE;IAxHI,eA0CG;EjFwtST;EiF1oSE;IAxHI,qBA0CG;EjF2tST;EiF7oSE;IAxHI,oBA0CG;EjF8tST;EiFhpSE;IAxHI,kBA0CG;EjFiuST;EiFnpSE;IAxHI,oBA0CG;EjFouST;EiFtpSE;IAxHI,kBA0CG;EjFuuST;EiFzpSE;IAxHI,kBA0CG;EjF0uST;EiF5pSE;IAxHI,qBA0CG;EjF6uST;EiF/pSE;IAxHI,2BA0CG;EjFgvST;EiFlqSE;IAxHI,0BA0CG;EjFmvST;EiFrqSE;IAxHI,wBA0CG;EjFsvST;EiFxqSE;IAxHI,0BA0CG;EjFyvST;EiF3qSE;IAxHI,wBA0CG;EjF4vST;EiF9qSE;IAxHI,wBA0CG;EjF+vST;EiFjrSE;IAxHI,oBA0CG;EjFkwST;EiFprSE;IAxHI,0BA0CG;EjFqwST;EiFvrSE;IAxHI,yBA0CG;EjFwwST;EiF1rSE;IAxHI,uBA0CG;EjF2wST;EiF7rSE;IAxHI,yBA0CG;EjF8wST;EiFhsSE;IAxHI,uBA0CG;EjFixST;EiFnsSE;IAxHI,uBA0CG;EjFoxST;EiFtsSE;IAxHI,mBA0CG;EjFuxST;EiFzsSE;IAxHI,yBA0CG;EjF0xST;EiF5sSE;IAxHI,wBA0CG;EjF6xST;EiF/sSE;IAxHI,sBA0CG;EjFgyST;EiFltSE;IAxHI,wBA0CG;EjFmyST;EiFrtSE;IAxHI,sBA0CG;EjFsyST;EiFxtSE;IAxHI,sBA0CG;EjFyyST;EiF3tSE;IAxHI,sBA0CG;EjF4yST;EiF9tSE;IAxHI,4BA0CG;EjF+yST;EiFjuSE;IAxHI,2BA0CG;EjFkzST;EiFpuSE;IAxHI,yBA0CG;EjFqzST;EiFvuSE;IAxHI,2BA0CG;EjFwzST;EiF1uSE;IAxHI,yBA0CG;EjF2zST;EiF7uSE;IAxHI,6BA0CG;EjF8zST;EiFhvSE;IAxHI,4BA0CG;EjFi0ST;EiFnvSE;IAxHI,yBA0CG;EjFo0ST;EiFtvSE;IAxHI,UA0CG;EjFu0ST;EiFzvSE;IAxHI,gBA0CG;EjF00ST;EiF5vSE;IAxHI,eA0CG;EjF60ST;EiF/vSE;IAxHI,aA0CG;EjFg1ST;EiFlwSE;IAxHI,eA0CG;EjFm1ST;EiFrwSE;IAxHI,aA0CG;EjFs1ST;EiFxwSE;IAxHI,iBA0CG;EjFy1ST;EiF3wSE;IAxHI,uBA0CG;EjF41ST;EiF9wSE;IAxHI,sBA0CG;EjF+1ST;EiFjxSE;IAxHI,oBA0CG;EjFk2ST;EiFpxSE;IAxHI,sBA0CG;EjFq2ST;EiFvxSE;IAxHI,oBA0CG;EjFw2ST;EiF1xSE;IAxHI,gBA0CG;EjF22ST;EiF7xSE;IAxHI,sBA0CG;EjF82ST;EiFhySE;IAxHI,qBA0CG;EjFi3ST;EiFnySE;IAxHI,mBA0CG;EjFo3ST;EiFtySE;IAxHI,qBA0CG;EjFu3ST;EiFzySE;IAxHI,mBA0CG;EjF03ST;EiF5ySE;IAxHI,sBA0CG;EjF63ST;EiF/ySE;IAxHI,4BA0CG;EjFg4ST;EiFlzSE;IAxHI,2BA0CG;EjFm4ST;EiFrzSE;IAxHI,yBA0CG;EjFs4ST;EiFxzSE;IAxHI,2BA0CG;EjFy4ST;EiF3zSE;IAxHI,yBA0CG;EjF44ST;EiF9zSE;IAxHI,qBA0CG;EjF+4ST;EiFj0SE;IAxHI,2BA0CG;EjFk5ST;EiFp0SE;IAxHI,0BA0CG;EjFq5ST;EiFv0SE;IAxHI,wBA0CG;EjFw5ST;EiF10SE;IAxHI,0BA0CG;EjF25ST;EiF70SE;IAxHI,wBA0CG;EjF85ST;EiFh1SE;IAxHI,oBA0CG;EjFi6ST;EiFn1SE;IAxHI,0BA0CG;EjFo6ST;EiFt1SE;IAxHI,yBA0CG;EjFu6ST;EiFz1SE;IAxHI,uBA0CG;EjF06ST;EiF51SE;IAxHI,yBA0CG;EjF66ST;EiF/1SE;IAxHI,uBA0CG;EjFg7ST;EiFl2SE;IAxHI,uBA0CG;EjFm7ST;EiFr2SE;IAxHI,6BA0CG;EjFs7ST;EiFx2SE;IAxHI,4BA0CG;EjFy7ST;EiF32SE;IAxHI,0BA0CG;EjF47ST;EiF92SE;IAxHI,4BA0CG;EjF+7ST;EiFj3SE;IAxHI,0BA0CG;EjFk8ST;EiFp3SE;IAxHI,MA0CG;EjFq8ST;EiFv3SE;IAxHI,YA0CG;EjFw8ST;EiF13SE;IAxHI,WA0CG;EjF28ST;EiF73SE;IAxHI,SA0CG;EjF88ST;EiFh4SE;IAxHI,WA0CG;EjFi9ST;EiFn4SE;IAxHI,SA0CG;EjFo9ST;EiFt4SE;IAxHI,UA0CG;EjFu9ST;EiFz4SE;IAxHI,gBA0CG;EjF09ST;EiF54SE;IAxHI,eA0CG;EjF69ST;EiF/4SE;IAxHI,aA0CG;EjFg+ST;EiFl5SE;IAxHI,eA0CG;EjFm+ST;EiFr5SE;IAxHI,aA0CG;EjFs+ST;EiFx5SE;IAxHI,kBA0CG;IA1CH,aA0CG;EjFy+ST;EiF35SE;IAxHI,wBA0CG;IA1CH,mBA0CG;EjF4+ST;EiF95SE;IAxHI,uBA0CG;IA1CH,kBA0CG;EjF++ST;EiFj6SE;IAxHI,qBA0CG;IA1CH,gBA0CG;EjFk/ST;EiFp6SE;IAxHI,uBA0CG;IA1CH,kBA0CG;EjFq/ST;EiFv6SE;IAxHI,qBA0CG;IA1CH,gBA0CG;EjFw/ST;EiF16SE;IAxHI,gCA0CG;EjF2/ST;EiF76SE;IAxHI,uCA0CG;EjF8/ST;EiFh7SE;IAxHI,kBA0CG;EjFigTT;EiFn7SE;IAxHI,mBA0CG;EjFogTT;EiFt7SE;IAxHI,eA0CG;EjFugTT;EiFz7SE;IAxHI,iDA0CG;EjF0gTT;EiF57SE;IAxHI,kDA0CG;EjF6gTT;EiF/7SE;IAxHI,6CA0CG;EjFghTT;EiFl8SE;IAxHI,gDA0CG;EjFmhTT;EiFr8SE;IAxHI,gDA0CG;EjFshTT;EiFx8SE;IAxHI,wCA0CG;EjFyhTT;EiF38SE;IAxHI,gDA0CG;EjF4hTT;EiF98SE;IAjII,kBAPc;IAOd,iBAPc;EjF0lTpB;EiFl9SE;IAjII,mBAPc;IAOd,gBAPc;EjF8lTpB;EiFt9SE;IAjII,eAPc;IAOd,gBAPc;EjFkmTpB;EiF19SE;IAjII,iDAPc;IAOd,gBAPc;EjFsmTpB;EiF99SE;IAjII,kDAPc;IAOd,yBAPc;EjF0mTpB;EiFl+SE;IAjII,6CAPc;IAOd,yBAPc;EjF8mTpB;EiFt+SE;IAjII,gDAPc;IAOd,gBAPc;EjFknTpB;EiF1+SE;IAjII,gDAPc;IAOd,gBAPc;EjFsnTpB;EiF9+SE;IAjII,wCAPc;IAOd,gBAPc;EjF0nTpB;EiFl/SE;IAjII,gDAPc;IAOd,cAPc;EjF8nTpB;EiFt/SE;IAxHI,kBA+CO;EjFkkTb;EiFz/SE;IAxHI,kBA+CO;EjFqkTb;EiF5/SE;IAxHI,oBA0CG;EjF6kTT;EiF//SE;IAxHI,gBA0CG;EjFglTT;EiFlgTE;IAxHI,gBA0CG;EjFmlTT;EiFrgTE;IAxHI,gBA0CG;EjFslTT;EiFxgTE;IAxHI,gBA0CG;EjFylTT;EiF3gTE;IAxHI,gBA0CG;EjF4lTT;EiF9gTE;IAxHI,mBA0CG;EjF+lTT;EiFjhTE;IAxHI,cA0CG;EjFkmTT;EiFphTE;IAxHI,iBA0CG;EjFqmTT;EiFvhTE;IAxHI,gBA0CG;EjFwmTT;EiF1hTE;IAxHI,cA0CG;EjF2mTT;EiF7hTE;IAxHI,iBA0CG;EjF8mTT;EiFhiTE;IAxHI,eA0CG;EjFinTT;EiFniTE;IAxHI,kBA0CG;EjFonTT;EiFtiTE;IAxHI,qBA+CO;EjFknTb;EiFziTE;IAxHI,0BA+CO;EjFqnTb;EiF5iTE;IAxHI,6BA+CO;EjFwnTb;EiF/iTE;IAxHI,yBA+CO;EjF2nTb;EiFljTE;IAxHI,yBA+CO;EjF8nTb;EiFrjTE;IAxHI,0BA+CO;EjFioTb;EiFxjTE;IAxHI,iBA+CO;EjFooTb;EiF3jTE;IAxHI,mBA+CO;EjFuoTb;EiF9jTE;IAxHI,oBA+CO;EjF0oTb;EiFjkTE;IAxHI,mBA+CO;EjF6oTb;EiFpkTE;IAxHI,qBA0CG;IA1CH,sBA0CG;EjFspTT;EiFxkTE;IAjII,2DAmDG;IAnDH,mBAiES;EjF4oTf;EiF5kTE;IAjII,0GAmDG;IAnDH,mBAiES;EjFgpTf;EiFhlTE;IAjII,6DAmDG;IAnDH,mBAiES;EjFopTf;EiFplTE;IAjII,yDAmDG;IAnDH,mBAiES;EjFwpTf;EiFxlTE;IAjII,+DAmDG;IAnDH,mBAiES;EjF4pTf;EiF5lTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFgqTf;EiFhmTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFoqTf;EiFpmTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFwqTf;EiFxmTE;IAjII,2DAmDG;IAnDH,mBAiES;EjF4qTf;EiF5mTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFgrTf;EiFhnTE;IAjII,2DAmDG;IAnDH,mBAiES;EjForTf;EiFpnTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFwrTf;EiFxnTE;IAjII,2DAmDG;IAnDH,mBAiES;EjF4rTf;EiF5nTE;IAjII,wBAmDG;IAnDH,mBAiES;EjFgsTf;EiFhoTE;IAjII,wBAmDG;IAnDH,mBAiES;EjFosTf;EiFpoTE;IAjII,gBAmDG;IAnDH,mBAiES;EjFwsTf;EiFxoTE;IAjII,2DAmDG;IAnDH,mBAiES;EjF4sTf;EiF5oTE;IAjII,+DAmDG;IAnDH,mBAiES;EjFgtTf;EiFhpTE;IAjII,6DAmDG;IAnDH,mBAiES;EjFotTf;EiFppTE;IAjII,yDAmDG;IAnDH,mBAiES;EjFwtTf;EiFxpTE;IAjII,+DAmDG;IAnDH,mBAiES;EjF4tTf;EiF5pTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFguTf;EiFhqTE;IAjII,wDAmDG;IAnDH,mBAiES;EjFouTf;EiFpqTE;IAjII,2DAmDG;IAnDH,mBAiES;EjFwuTf;EiFxqTE;IAjII,wBAmDG;IAnDH,mBAiES;EjF4uTf;EiF5qTE;IAjII,wBAmDG;IAnDH,mBAiES;EjFgvTf;EiFhrTE;IAjII,wBAmDG;IAnDH,mBAiES;EjFovTf;EiFprTE;IAjII,wBAmDG;IAnDH,mBAiES;EjFwvTf;EiFxrTE;IAjII,2BAmDG;IAnDH,mBAiES;EjF4vTf;EiF5rTE;IAjII,2BAmDG;IAnDH,mBAiES;EjFgwTf;EiFhsTE;IAjII,wDAmDG;IAnDH,mBAiES;EjFowTf;EiFpsTE;IAjII,wDAmDG;IAnDH,mBAiES;EjFwwTf;EiFxsTE;IAxHI,yDA0CG;EjFyxTT;EiF3sTE;IAxHI,yDA0CG;EjF4xTT;EiF9sTE;IAxHI,yDA0CG;EjF+xTT;EiFjtTE;IAxHI,yDA0CG;EjFkyTT;EiFptTE;IAxHI,yDA0CG;EjFqyTT;EiFvtTE;IAxHI,yDA0CG;EjFwyTT;EiF1tTE;IAxHI,yDA0CG;EjF2yTT;EiF7tTE;IAxHI,yDA0CG;EjF8yTT;EiFhuTE;IAxHI,yDA0CG;EjFizTT;EiFnuTE;IAxHI,mBA0CG;EjFozTT;EiFtuTE;IAxHI,iEA0CG;EjFuzTT;EiFltTM;IA/IA,iEA0CG;EjF0zTT;EiF5uTE;IAxHI,iEA0CG;EjF6zTT;EiFxtTM;IA/IA,iEA0CG;EjFg0TT;EiFlvTE;IAxHI,iEA0CG;EjFm0TT;EiF9tTM;IA/IA,iEA0CG;EjFs0TT;EiFxvTE;IAxHI,iEA0CG;EjFy0TT;EiFpuTM;IA/IA,iEA0CG;EjF40TT;EiF9vTE;IAxHI,iEA0CG;EjF+0TT;EiF1uTM;IA/IA,iEA0CG;EjFk1TT;EiFpwTE;IAxHI,iEA0CG;EjFq1TT;EiFhvTM;IA/IA,iEA0CG;EjFw1TT;EiF1wTE;IAxHI,iEA0CG;EjF21TT;EiFtvTM;IA/IA,iEA0CG;EjF81TT;EiFhxTE;IAxHI,iEA0CG;EjFi2TT;EiF5vTM;IA/IA,iEA0CG;EjFo2TT;EiFtxTE;IAxHI,iEA0CG;EjFu2TT;EiFlwTM;IA/IA,iEA0CG;EjF02TT;EiF5xTE;IAxHI,2BA0CG;EjF62TT;EiFxwTM;IA/IA,2BA0CG;EjFg3TT;EiFlyTE;IAxHI,8BA0CG;EjFm3TT;EiF9wTM;IA/IA,8BA0CG;EjFs3TT;EiFxyTE;IAxHI,6BA0CG;EjFy3TT;EiFpxTM;IA/IA,6BA0CG;EjF43TT;EiF9yTE;IAxHI,8BA0CG;EjF+3TT;EiF1xTM;IA/IA,8BA0CG;EjFk4TT;EiFpzTE;IAxHI,yEA0CG;EjFq4TT;EiFvzTE;IAxHI,wHA0CG;EjFw4TT;EiF1zTE;IAxHI,2EA0CG;EjF24TT;EiF7zTE;IAxHI,uEA0CG;EjF84TT;EiFh0TE;IAxHI,6EA0CG;EjFi5TT;EiFn0TE;IAxHI,yEA0CG;EjFo5TT;EiFt0TE;IAxHI,yEA0CG;EjFu5TT;EiFz0TE;IAxHI,yEA0CG;EjF05TT;EiF50TE;IAxHI,iFA0CG;EjF65TT;EiFxzTM;IA/IA,iFA0CG;EjFg6TT;EiFl1TE;IAxHI,iFA0CG;EjFm6TT;EiF9zTM;IA/IA,iFA0CG;EjFs6TT;EiFx1TE;IAxHI,iFA0CG;EjFy6TT;EiFp0TM;IA/IA,iFA0CG;EjF46TT;EiF91TE;IAxHI,iFA0CG;EjF+6TT;EiF10TM;IA/IA,iFA0CG;EjFk7TT;EiFp2TE;IAxHI,iFA0CG;EjFq7TT;EiFh1TM;IA/IA,iFA0CG;EjFw7TT;EiF12TE;IAxHI,iFA0CG;EjF27TT;EiFt1TM;IA/IA,iFA0CG;EjF87TT;EiFh3TE;IAxHI,iFA0CG;EjFi8TT;EiF51TM;IA/IA,iFA0CG;EjFo8TT;EiFt3TE;IAxHI,iFA0CG;EjFu8TT;EiFl2TM;IA/IA,iFA0CG;EjF08TT;EiF53TE;IAxHI,iFA0CG;EjF68TT;EiFx2TM;IA/IA,iFA0CG;EjFg9TT;EiFl4TE;IAxHI,2CA0CG;EjFm9TT;EiF92TM;IA/IA,2CA0CG;EjFs9TT;EiFx4TE;IAxHI,8BA0CG;EjFy9TT;EiFp3TM;IA/IA,8BA0CG;EjF49TT;EiF94TE;IAxHI,8BA0CG;EjF+9TT;EiF13TM;IA/IA,8BA0CG;EjFk+TT;EiFp5TE;IAxHI,8BA0CG;EjFq+TT;EiFh4TM;IA/IA,8BA0CG;EjFw+TT;EiF15TE;IAxHI,8BA0CG;EjF2+TT;EiFt4TM;IA/IA,8BA0CG;EjF8+TT;EiFh6TE;IAxHI,8BA0CG;EjFi/TT;EiF54TM;IA/IA,8BA0CG;EjFo/TT;EiFt6TE;IAjII,2BAmDG;IAnDH,8BAiES;EjF0+Tf;EiF16TE;IAjII,6BAmDG;IAnDH,8BAiES;EjF8+Tf;EiF96TE;IAjII,4BAmDG;IAnDH,8BAiES;EjFk/Tf;EiFl7TE;IAjII,0BAmDG;IAnDH,8BAiES;EjFs/Tf;EiFt7TE;IAjII,6BAmDG;IAnDH,8BAiES;EjF0/Tf;EiF17TE;IAjII,2BAmDG;IAnDH,8BAiES;EjF8/Tf;EiF97TE;IAjII,2DAmDG;IAnDH,8BAiES;EjFkgUf;EiFl8TE;IAjII,2DAmDG;IAnDH,8BAiES;EjFsgUf;EiFt8TE;IAjII,wDAmDG;IAnDH,8BAiES;EjF0gUf;EiF18TE;IAjII,2DAmDG;IAnDH,8BAiES;EjF8gUf;EiF98TE;IAjII,2DAmDG;IAnDH,8BAiES;EjFkhUf;EiFl9TE;IAjII,2DAmDG;IAnDH,8BAiES;EjFshUf;EiFt9TE;IAjII,2DAmDG;IAnDH,8BAiES;EjF0hUf;EiF19TE;IAjII,wBAmDG;IAnDH,8BAiES;EjF8hUf;EiF99TE;IAjII,wBAmDG;IAnDH,8BAiES;EjFkiUf;EiFl+TE;IAjII,oBAmDG;IAnDH,8BAiES;EjFsiUf;EiFt+TE;IAjII,gBAmDG;IAnDH,8BAiES;EjF0iUf;EiF1+TE;IAjII,2DAmDG;IAnDH,8BAiES;EjF8iUf;EiF9+TE;IAjII,+DAmDG;IAnDH,8BAiES;EjFkjUf;EiFl/TE;IAjII,6DAmDG;IAnDH,8BAiES;EjFsjUf;EiFt/TE;IAjII,yDAmDG;IAnDH,8BAiES;EjF0jUf;EiF1/TE;IAjII,+DAmDG;IAnDH,8BAiES;EjF8jUf;EiF9/TE;IAjII,2DAmDG;IAnDH,8BAiES;EjFkkUf;EiFlgUE;IAjII,2DAmDG;IAnDH,8BAiES;EjFskUf;EiFtgUE;IAjII,2DAmDG;IAnDH,8BAiES;EjF0kUf;EiF1gUE;IAjII,2DAmDG;IAnDH,8BAiES;EjF8kUf;EiF9gUE;IAjII,+DAmDG;IAnDH,8BAiES;EjFklUf;EiFlhUE;IAjII,6DAmDG;IAnDH,8BAiES;EjFslUf;EiFthUE;IAjII,yDAmDG;IAnDH,8BAiES;EjF0lUf;EiF1hUE;IAjII,+DAmDG;IAnDH,8BAiES;EjF8lUf;EiF9hUE;IAjII,2DAmDG;IAnDH,8BAiES;EjFkmUf;EiFliUE;IAjII,2DAmDG;IAnDH,8BAiES;EjFsmUf;EiFtiUE;IAjII,2DAmDG;IAnDH,8BAiES;EjF0mUf;EiF1iUE;IAxHI,oEA0CG;EjF2nUT;EiF7iUE;IAxHI,oEA0CG;EjF8nUT;EiFhjUE;IAxHI,oEA0CG;EjFioUT;EiFnjUE;IAxHI,oEA0CG;EjFooUT;EiFtjUE;IAxHI,oEA0CG;EjFuoUT;EiFzjUE;IAxHI,oEA0CG;EjF0oUT;EiF5jUE;IAxHI,oEA0CG;EjF6oUT;EiF/jUE;IAxHI,oEA0CG;EjFgpUT;EiFlkUE;IAxHI,oEA0CG;EjFmpUT;EiFrkUE;IAxHI,8BA0CG;EjFspUT;EiFxkUE;IAjII,oCAiES;IAjET,+BAiES;EjF4oUf;EiF5kUE;IAjII,2CAiES;IAjET,2BAiES;EjFgpUf;EiFhlUE;IAjII,0CAiES;IAjET,oCAiES;EjFopUf;EiFplUE;IAxHI,2DA0CG;EjFqqUT;EiFvlUE;IAxHI,oCA0CG;EjFwqUT;EiF1lUE;IAxHI,wBA+CO;IA/CP,gBA+CO;EjFsqUb;EiF7lUE;IAxHI,yBA+CO;IA/CP,iBA+CO;EjFyqUb;EiFhmUE;IAxHI,yBA+CO;IA/CP,iBA+CO;EjF4qUb;EiFnmUE;IAxHI,yBA+CO;IA/CP,iBA+CO;EjF+qUb;EiFtmUE;IAxHI,oBA+CO;EjFkrUb;EiFzmUE;IAxHI,oBA+CO;EjFqrUb;EiF5mUE;IAxHI,sCA0CG;EjF6rUT;EiF/mUE;IAxHI,gBA0CG;EjFgsUT;EiFlnUE;IAxHI,yCA0CG;EjFmsUT;EiFrnUE;IAxHI,sCA0CG;EjFssUT;EiFxnUE;IAxHI,yCA0CG;EjFysUT;EiF3nUE;IAxHI,yCA0CG;EjF4sUT;EiF9nUE;IAxHI,0CA0CG;EjF+sUT;EiFjoUE;IAxHI,kBA0CG;EjFktUT;EiFpoUE;IAxHI,2CA0CG;EjFqtUT;EiFvoUE;IAxHI,kDA0CG;IA1CH,gDA0CG;EjFytUT;EiF3oUE;IAxHI,4BA0CG;IA1CH,0BA0CG;EjF6tUT;EiF/oUE;IAxHI,qDA0CG;IA1CH,mDA0CG;EjFiuUT;EiFnpUE;IAxHI,kDA0CG;IA1CH,gDA0CG;EjFquUT;EiFvpUE;IAxHI,qDA0CG;IA1CH,mDA0CG;EjFyuUT;EiF3pUE;IAxHI,qDA0CG;IA1CH,mDA0CG;EjF6uUT;EiF/pUE;IAxHI,sDA0CG;IA1CH,oDA0CG;EjFivUT;EiFnqUE;IAxHI,8BA0CG;IA1CH,4BA0CG;EjFqvUT;EiFvqUE;IAxHI,uDA0CG;IA1CH,qDA0CG;EjFyvUT;EiF3qUE;IAxHI,8CA0CG;IA1CH,gDA0CG;EjF6vUT;EiF/qUE;IAxHI,wBA0CG;IA1CH,0BA0CG;EjFiwUT;EiFnrUE;IAxHI,iDA0CG;IA1CH,mDA0CG;EjFqwUT;EiFvrUE;IAxHI,8CA0CG;IA1CH,gDA0CG;EjFywUT;EiF3rUE;IAxHI,iDA0CG;IA1CH,mDA0CG;EjF6wUT;EiF/rUE;IAxHI,iDA0CG;IA1CH,mDA0CG;EjFixUT;EiFnsUE;IAxHI,kDA0CG;IA1CH,oDA0CG;EjFqxUT;EiFvsUE;IAxHI,0BA0CG;IA1CH,4BA0CG;EjFyxUT;EiF3sUE;IAxHI,mDA0CG;IA1CH,qDA0CG;EjF6xUT;EiF/sUE;IAxHI,8CA0CG;IA1CH,gDA0CG;EjFiyUT;EiFntUE;IAxHI,wBA0CG;IA1CH,0BA0CG;EjFqyUT;EiFvtUE;IAxHI,iDA0CG;IA1CH,mDA0CG;EjFyyUT;EiF3tUE;IAxHI,8CA0CG;IA1CH,gDA0CG;EjF6yUT;EiF/tUE;IAxHI,iDA0CG;IA1CH,mDA0CG;EjFizUT;EiFnuUE;IAxHI,iDA0CG;IA1CH,mDA0CG;EjFqzUT;EiFvuUE;IAxHI,kDA0CG;IA1CH,oDA0CG;EjFyzUT;EiF3uUE;IAxHI,0BA0CG;IA1CH,4BA0CG;EjF6zUT;EiF/uUE;IAxHI,mDA0CG;IA1CH,qDA0CG;EjFi0UT;EiFnvUE;IAxHI,kDA0CG;IA1CH,gDA0CG;EjFq0UT;EiFvvUE;IAxHI,4BA0CG;IA1CH,0BA0CG;EjFy0UT;EiF3vUE;IAxHI,qDA0CG;IA1CH,mDA0CG;EjF60UT;EiF/vUE;IAxHI,kDA0CG;IA1CH,gDA0CG;EjFi1UT;EiFnwUE;IAxHI,qDA0CG;IA1CH,mDA0CG;EjFq1UT;EiFvwUE;IAxHI,qDA0CG;IA1CH,mDA0CG;EjFy1UT;EiF3wUE;IAxHI,sDA0CG;IA1CH,oDA0CG;EjF61UT;EiF/wUE;IAxHI,8BA0CG;IA1CH,4BA0CG;EjFi2UT;EiFnxUE;IAxHI,uDA0CG;IA1CH,qDA0CG;EjFq2UT;EiFvxUE;IAxHI,mBA0CG;EjFw2UT;EiF1xUE;IAxHI,kBA0CG;EjF22UT;EiF7xUE;IAxHI,WA0CG;EjF82UT;EiFhyUE;IAxHI,UA0CG;EjFi3UT;EiFnyUE;IAxHI,UA0CG;EjFo3UT;EiFtyUE;IAxHI,UA0CG;EjFu3UT;EiFzyUE;IAxHI,UA0CG;EjF03UT;EWj3UE;IsEqEA;MAxHI,mBA0CG;IjF83UP;IiFhzUA;MAxHI,iBA0CG;IjFi4UP;IiFnzUA;MAxHI,WA0CG;IjFo4UP;IiFtzUA;MAxHI,sBA0CG;MA1CH,mBA0CG;IjFu4UP;IiFzzUA;MAxHI,oBA0CG;MA1CH,iBA0CG;IjF04UP;IiF5zUA;MAxHI,mBA0CG;MA1CH,gBA0CG;IjF64UP;IiF/zUA;MAxHI,yBA0CG;MA1CH,sBA0CG;IjFg5UP;IiFl0UA;MAxHI,mBA0CG;MA1CH,gBA0CG;IjFm5UP;IiFr0UA;MAxHI,eA+CO;IjFi5UX;IiFx0UA;MAxHI,qBA+CO;IjFo5UX;IiF30UA;MAxHI,cA+CO;IjFu5UX;IiF90UA;MAxHI,aA+CO;IjF05UX;IiFj1UA;MAxHI,oBA+CO;IjF65UX;IiFp1UA;MAxHI,cA+CO;IjFg6UX;IiFv1UA;MAxHI,kBA+CO;IjFm6UX;IiF11UA;MAxHI,mBA+CO;IjFs6UX;IiF71UA;MAxHI,aA+CO;IjFy6UX;IiFh2UA;MAxHI,oBA+CO;IjF46UX;IiFn2UA;MAxHI,iBA+CO;IjF+6UX;IiFt2UA;MAxHI,kBA+CO;IjFk7UX;IiFz2UA;MAxHI,aA+CO;IjFq7UX;IiF52UA;MAxHI,cA0CG;IjF67UP;IiF/2UA;MAxHI,mBA+CO;IjF27UX;IiFl3UA;MAxHI,sBA+CO;IjF87UX;IiFr3UA;MAxHI,2BA+CO;IjFi8UX;IiFx3UA;MAxHI,8BA+CO;IjFo8UX;IiF33UA;MAxHI,YA0CG;IjF48UP;IiF93UA;MAxHI,YA0CG;IjF+8UP;IiFj4UA;MAxHI,cA0CG;IjFk9UP;IiFp4UA;MAxHI,cA0CG;IjFq9UP;IiFv4UA;MAxHI,eA+CO;IjFm9UX;IiF14UA;MAxHI,iBA+CO;IjFs9UX;IiF74UA;MAxHI,uBA+CO;IjFy9UX;IiFh5UA;MAxHI,2BA0CG;IjFi+UP;IiFn5UA;MAxHI,yBA0CG;IjFo+UP;IiFt5UA;MAxHI,uBA0CG;IjFu+UP;IiFz5UA;MAxHI,8BA0CG;IjF0+UP;IiF55UA;MAxHI,6BA0CG;IjF6+UP;IiF/5UA;MAxHI,6BA0CG;IjFg/UP;IiFl6UA;MAxHI,oBA0CG;IjFm/UP;IiFr6UA;MAxHI,kBA0CG;IjFs/UP;IiFx6UA;MAxHI,qBA0CG;IjFy/UP;IiF36UA;MAxHI,sBA0CG;IjF4/UP;IiF96UA;MAxHI,wBA0CG;IjF+/UP;IiFj7UA;MAxHI,sBA0CG;IjFkgVP;IiFp7UA;MAxHI,oBA0CG;IjFqgVP;IiFv7UA;MAxHI,uBA0CG;IjFwgVP;IiF17UA;MAxHI,qBA0CG;IjF2gVP;IiF77UA;MAxHI,mBA0CG;IjF8gVP;IiFh8UA;MAxHI,qBA0CG;IjFihVP;IiFn8UA;MAxHI,oBA0CG;IjFohVP;IiFt8UA;MAxHI,yBA0CG;IjFuhVP;IiFz8UA;MAxHI,uBA0CG;IjF0hVP;IiF58UA;MAxHI,qBA0CG;IjF6hVP;IiF/8UA;MAxHI,4BA0CG;IjFgiVP;IiFl9UA;MAxHI,2BA0CG;IjFmiVP;IiFr9UA;MAxHI,sBA0CG;IjFsiVP;IiFx9UA;MAxHI,gBA0CG;IjFyiVP;IiF39UA;MAxHI,sBA0CG;IjF4iVP;IiF99UA;MAxHI,oBA0CG;IjF+iVP;IiFj+UA;MAxHI,kBA0CG;IjFkjVP;IiFp+UA;MAxHI,oBA0CG;IjFqjVP;IiFv+UA;MAxHI,mBA0CG;IjFwjVP;IiF1+UA;MAxHI,kBA0CG;IjF2jVP;IiF7+UA;MAxHI,gBA0CG;IjF8jVP;IiFh/UA;MAxHI,mBA0CG;IjFikVP;IiFn/UA;MAxHI,oBA0CG;IjFokVP;IiFt/UA;MAxHI,qCA0CG;IjFukVP;IiFz/UA;MAxHI,qCA0CG;IjF0kVP;IiF5/UA;MAxHI,qCA0CG;IjF6kVP;IiF//UA;MAxHI,qCA0CG;IjFglVP;IiFlgVA;MAxHI,mBA0CG;IjFmlVP;IiFrgVA;MAxHI,mBA+CO;IjFilVX;IiFxgVA;MAxHI,sBA+CO;IjFolVX;IiF3gVA;MAxHI,qBA+CO;IjFulVX;IiF9gVA;MAxHI,SA0CG;IjF+lVP;IiFjhVA;MAxHI,QA0CG;IjFkmVP;IiFphVA;MAxHI,QA0CG;IjFqmVP;IiFvhVA;MAxHI,QA0CG;IjFwmVP;IiF1hVA;MAxHI,QA0CG;IjF2mVP;IiF7hVA;MAxHI,QA0CG;IjF8mVP;IiFhiVA;MAxHI,QA0CG;IjFinVP;IiFniVA;MAxHI,QA0CG;IjFonVP;IiFtiVA;MAxHI,SA0CG;IjFunVP;IiFziVA;MAxHI,eA0CG;IjF0nVP;IiF5iVA;MAxHI,cA0CG;IjF6nVP;IiF/iVA;MAxHI,YA0CG;IjFgoVP;IiFljVA;MAxHI,cA0CG;IjFmoVP;IiFrjVA;MAxHI,YA0CG;IjFsoVP;IiFxjVA;MAxHI,YA0CG;IjFyoVP;IiF3jVA;MAxHI,gBA0CG;IjF4oVP;IiF9jVA;MAxHI,sBA0CG;IjF+oVP;IiFjkVA;MAxHI,qBA0CG;IjFkpVP;IiFpkVA;MAxHI,mBA0CG;IjFqpVP;IiFvkVA;MAxHI,qBA0CG;IjFwpVP;IiF1kVA;MAxHI,mBA0CG;IjF2pVP;IiF7kVA;MAxHI,mBA0CG;IjF8pVP;IiFhlVA;MAxHI,eA0CG;IjFiqVP;IiFnlVA;MAxHI,qBA0CG;IjFoqVP;IiFtlVA;MAxHI,oBA0CG;IjFuqVP;IiFzlVA;MAxHI,kBA0CG;IjF0qVP;IiF5lVA;MAxHI,oBA0CG;IjF6qVP;IiF/lVA;MAxHI,kBA0CG;IjFgrVP;IiFlmVA;MAxHI,kBA0CG;IjFmrVP;IiFrmVA;MAxHI,qBA0CG;IjFsrVP;IiFxmVA;MAxHI,2BA0CG;IjFyrVP;IiF3mVA;MAxHI,0BA0CG;IjF4rVP;IiF9mVA;MAxHI,wBA0CG;IjF+rVP;IiFjnVA;MAxHI,0BA0CG;IjFksVP;IiFpnVA;MAxHI,wBA0CG;IjFqsVP;IiFvnVA;MAxHI,wBA0CG;IjFwsVP;IiF1nVA;MAxHI,oBA0CG;IjF2sVP;IiF7nVA;MAxHI,0BA0CG;IjF8sVP;IiFhoVA;MAxHI,yBA0CG;IjFitVP;IiFnoVA;MAxHI,uBA0CG;IjFotVP;IiFtoVA;MAxHI,yBA0CG;IjFutVP;IiFzoVA;MAxHI,uBA0CG;IjF0tVP;IiF5oVA;MAxHI,uBA0CG;IjF6tVP;IiF/oVA;MAxHI,mBA0CG;IjFguVP;IiFlpVA;MAxHI,yBA0CG;IjFmuVP;IiFrpVA;MAxHI,wBA0CG;IjFsuVP;IiFxpVA;MAxHI,sBA0CG;IjFyuVP;IiF3pVA;MAxHI,wBA0CG;IjF4uVP;IiF9pVA;MAxHI,sBA0CG;IjF+uVP;IiFjqVA;MAxHI,sBA0CG;IjFkvVP;IiFpqVA;MAxHI,sBA0CG;IjFqvVP;IiFvqVA;MAxHI,4BA0CG;IjFwvVP;IiF1qVA;MAxHI,2BA0CG;IjF2vVP;IiF7qVA;MAxHI,yBA0CG;IjF8vVP;IiFhrVA;MAxHI,2BA0CG;IjFiwVP;IiFnrVA;MAxHI,yBA0CG;IjFowVP;IiFtrVA;MAxHI,6BA0CG;IjFuwVP;IiFzrVA;MAxHI,4BA0CG;IjF0wVP;IiF5rVA;MAxHI,yBA0CG;IjF6wVP;IiF/rVA;MAxHI,UA0CG;IjFgxVP;IiFlsVA;MAxHI,gBA0CG;IjFmxVP;IiFrsVA;MAxHI,eA0CG;IjFsxVP;IiFxsVA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,iBA+CO;IjFggWX;IiFv7VA;MAxHI,kBA+CO;IjFmgWX;IiF17VA;MAxHI,aA+CO;IjFsgWX;IiF77VA;MAxHI,cA0CG;IjF8gWP;IiFh8VA;MAxHI,mBA+CO;IjF4gWX;IiFn8VA;MAxHI,sBA+CO;IjF+gWX;IiFt8VA;MAxHI,2BA+CO;IjFkhWX;IiFz8VA;MAxHI,8BA+CO;IjFqhWX;IiF58VA;MAxHI,YA0CG;IjF6hWP;IiF/8VA;MAxHI,YA0CG;IjFgiWP;IiFl9VA;MAxHI,cA0CG;IjFmiWP;IiFr9VA;MAxHI,cA0CG;IjFsiWP;IiFx9VA;MAxHI,eA+CO;IjFoiWX;IiF39VA;MAxHI,iBA+CO;IjFuiWX;IiF99VA;MAxHI,uBA+CO;IjF0iWX;IiFj+VA;MAxHI,2BA0CG;IjFkjWP;IiFp+VA;MAxHI,yBA0CG;IjFqjWP;IiFv+VA;MAxHI,uBA0CG;IjFwjWP;IiF1+VA;MAxHI,8BA0CG;IjF2jWP;IiF7+VA;MAxHI,6BA0CG;IjF8jWP;IiFh/VA;MAxHI,6BA0CG;IjFikWP;IiFn/VA;MAxHI,oBA0CG;IjFokWP;IiFt/VA;MAxHI,kBA0CG;IjFukWP;IiFz/VA;MAxHI,qBA0CG;IjF0kWP;IiF5/VA;MAxHI,sBA0CG;IjF6kWP;IiF//VA;MAxHI,wBA0CG;IjFglWP;IiFlgWA;MAxHI,sBA0CG;IjFmlWP;IiFrgWA;MAxHI,oBA0CG;IjFslWP;IiFxgWA;MAxHI,uBA0CG;IjFylWP;IiF3gWA;MAxHI,qBA0CG;IjF4lWP;IiF9gWA;MAxHI,mBA0CG;IjF+lWP;IiFjhWA;MAxHI,qBA0CG;IjFkmWP;IiFphWA;MAxHI,oBA0CG;IjFqmWP;IiFvhWA;MAxHI,yBA0CG;IjFwmWP;IiF1hWA;MAxHI,uBA0CG;IjF2mWP;IiF7hWA;MAxHI,qBA0CG;IjF8mWP;IiFhiWA;MAxHI,4BA0CG;IjFinWP;IiFniWA;MAxHI,2BA0CG;IjFonWP;IiFtiWA;MAxHI,sBA0CG;IjFunWP;IiFziWA;MAxHI,gBA0CG;IjF0nWP;IiF5iWA;MAxHI,sBA0CG;IjF6nWP;IiF/iWA;MAxHI,oBA0CG;IjFgoWP;IiFljWA;MAxHI,kBA0CG;IjFmoWP;IiFrjWA;MAxHI,oBA0CG;IjFsoWP;IiFxjWA;MAxHI,mBA0CG;IjFyoWP;IiF3jWA;MAxHI,kBA0CG;IjF4oWP;IiF9jWA;MAxHI,gBA0CG;IjF+oWP;IiFjkWA;MAxHI,mBA0CG;IjFkpWP;IiFpkWA;MAxHI,oBA0CG;IjFqpWP;IiFvkWA;MAxHI,qCA0CG;IjFwpWP;IiF1kWA;MAxHI,qCA0CG;IjF2pWP;IiF7kWA;MAxHI,qCA0CG;IjF8pWP;IiFhlWA;MAxHI,qCA0CG;IjFiqWP;IiFnlWA;MAxHI,mBA0CG;IjFoqWP;IiFtlWA;MAxHI,mBA+CO;IjFkqWX;IiFzlWA;MAxHI,sBA+CO;IjFqqWX;IiF5lWA;MAxHI,qBA+CO;IjFwqWX;IiF/lWA;MAxHI,SA0CG;IjFgrWP;IiFlmWA;MAxHI,QA0CG;IjFmrWP;IiFrmWA;MAxHI,QA0CG;IjFsrWP;IiFxmWA;MAxHI,QA0CG;IjFyrWP;IiF3mWA;MAxHI,QA0CG;IjF4rWP;IiF9mWA;MAxHI,QA0CG;IjF+rWP;IiFjnWA;MAxHI,QA0CG;IjFksWP;IiFpnWA;MAxHI,QA0CG;IjFqsWP;IiFvnWA;MAxHI,SA0CG;IjFwsWP;IiF1nWA;MAxHI,eA0CG;IjF2sWP;IiF7nWA;MAxHI,cA0CG;IjF8sWP;IiFhoWA;MAxHI,YA0CG;IjFitWP;IiFnoWA;MAxHI,cA0CG;IjFotWP;IiFtoWA;MAxHI,YA0CG;IjFutWP;IiFzoWA;MAxHI,YA0CG;IjF0tWP;IiF5oWA;MAxHI,gBA0CG;IjF6tWP;IiF/oWA;MAxHI,sBA0CG;IjFguWP;IiFlpWA;MAxHI,qBA0CG;IjFmuWP;IiFrpWA;MAxHI,mBA0CG;IjFsuWP;IiFxpWA;MAxHI,qBA0CG;IjFyuWP;IiF3pWA;MAxHI,mBA0CG;IjF4uWP;IiF9pWA;MAxHI,mBA0CG;IjF+uWP;IiFjqWA;MAxHI,eA0CG;IjFkvWP;IiFpqWA;MAxHI,qBA0CG;IjFqvWP;IiFvqWA;MAxHI,oBA0CG;IjFwvWP;IiF1qWA;MAxHI,kBA0CG;IjF2vWP;IiF7qWA;MAxHI,oBA0CG;IjF8vWP;IiFhrWA;MAxHI,kBA0CG;IjFiwWP;IiFnrWA;MAxHI,kBA0CG;IjFowWP;IiFtrWA;MAxHI,qBA0CG;IjFuwWP;IiFzrWA;MAxHI,2BA0CG;IjF0wWP;IiF5rWA;MAxHI,0BA0CG;IjF6wWP;IiF/rWA;MAxHI,wBA0CG;IjFgxWP;IiFlsWA;MAxHI,0BA0CG;IjFmxWP;IiFrsWA;MAxHI,wBA0CG;IjFsxWP;IiFxsWA;MAxHI,wBA0CG;IjFyxWP;IiF3sWA;MAxHI,oBA0CG;IjF4xWP;IiF9sWA;MAxHI,0BA0CG;IjF+xWP;IiFjtWA;MAxHI,yBA0CG;IjFkyWP;IiFptWA;MAxHI,uBA0CG;IjFqyWP;IiFvtWA;MAxHI,yBA0CG;IjFwyWP;IiF1tWA;MAxHI,uBA0CG;IjF2yWP;IiF7tWA;MAxHI,uBA0CG;IjF8yWP;IiFhuWA;MAxHI,mBA0CG;IjFizWP;IiFnuWA;MAxHI,yBA0CG;IjFozWP;IiFtuWA;MAxHI,wBA0CG;IjFuzWP;IiFzuWA;MAxHI,sBA0CG;IjF0zWP;IiF5uWA;MAxHI,wBA0CG;IjF6zWP;IiF/uWA;MAxHI,sBA0CG;IjFg0WP;IiFlvWA;MAxHI,sBA0CG;IjFm0WP;IiFrvWA;MAxHI,sBA0CG;IjFs0WP;IiFxvWA;MAxHI,4BA0CG;IjFy0WP;IiF3vWA;MAxHI,2BA0CG;IjF40WP;IiF9vWA;MAxHI,yBA0CG;IjF+0WP;IiFjwWA;MAxHI,2BA0CG;IjFk1WP;IiFpwWA;MAxHI,yBA0CG;IjFq1WP;IiFvwWA;MAxHI,6BA0CG;IjFw1WP;IiF1wWA;MAxHI,4BA0CG;IjF21WP;IiF7wWA;MAxHI,yBA0CG;IjF81WP;IiFhxWA;MAxHI,UA0CG;IjFi2WP;IiFnxWA;MAxHI,gBA0CG;IjFo2WP;IiFtxWA;MAxHI,eA0CG;IjFu2WP;IiFzxWA;MAxHI,aA0CG;IjF02WP;IiF5xWA;MAxHI,eA0CG;IjF62WP;IiF/xWA;MAxHI,aA0CG;IjFg3WP;IiFlyWA;MAxHI,iBA0CG;IjFm3WP;IiFryWA;MAxHI,uBA0CG;IjFs3WP;IiFxyWA;MAxHI,sBA0CG;IjFy3WP;IiF3yWA;MAxHI,oBA0CG;IjF43WP;IiF9yWA;MAxHI,sBA0CG;IjF+3WP;IiFjzWA;MAxHI,oBA0CG;IjFk4WP;IiFpzWA;MAxHI,gBA0CG;IjFq4WP;IiFvzWA;MAxHI,sBA0CG;IjFw4WP;IiF1zWA;MAxHI,qBA0CG;IjF24WP;IiF7zWA;MAxHI,mBA0CG;IjF84WP;IiFh0WA;MAxHI,qBA0CG;IjFi5WP;IiFn0WA;MAxHI,mBA0CG;IjFo5WP;IiFt0WA;MAxHI,sBA0CG;IjFu5WP;IiFz0WA;MAxHI,4BA0CG;IjF05WP;IiF50WA;MAxHI,2BA0CG;IjF65WP;IiF/0WA;MAxHI,yBA0CG;IjFg6WP;IiFl1WA;MAxHI,2BA0CG;IjFm6WP;IiFr1WA;MAxHI,yBA0CG;IjFs6WP;IiFx1WA;MAxHI,qBA0CG;IjFy6WP;IiF31WA;MAxHI,2BA0CG;IjF46WP;IiF91WA;MAxHI,0BA0CG;IjF+6WP;IiFj2WA;MAxHI,wBA0CG;IjFk7WP;IiFp2WA;MAxHI,0BA0CG;IjFq7WP;IiFv2WA;MAxHI,wBA0CG;IjFw7WP;IiF12WA;MAxHI,oBA0CG;IjF27WP;IiF72WA;MAxHI,0BA0CG;IjF87WP;IiFh3WA;MAxHI,yBA0CG;IjFi8WP;IiFn3WA;MAxHI,uBA0CG;IjFo8WP;IiFt3WA;MAxHI,yBA0CG;IjFu8WP;IiFz3WA;MAxHI,uBA0CG;IjF08WP;IiF53WA;MAxHI,uBA0CG;IjF68WP;IiF/3WA;MAxHI,6BA0CG;IjFg9WP;IiFl4WA;MAxHI,4BA0CG;IjFm9WP;IiFr4WA;MAxHI,0BA0CG;IjFs9WP;IiFx4WA;MAxHI,4BA0CG;IjFy9WP;IiF34WA;MAxHI,0BA0CG;IjF49WP;IiF94WA;MAxHI,MA0CG;IjF+9WP;IiFj5WA;MAxHI,YA0CG;IjFk+WP;IiFp5WA;MAxHI,WA0CG;IjFq+WP;IiFv5WA;MAxHI,SA0CG;IjFw+WP;IiF15WA;MAxHI,WA0CG;IjF2+WP;IiF75WA;MAxHI,SA0CG;IjF8+WP;IiFh6WA;MAxHI,UA0CG;IjFi/WP;IiFn6WA;MAxHI,gBA0CG;IjFo/WP;IiFt6WA;MAxHI,eA0CG;IjFu/WP;IiFz6WA;MAxHI,aA0CG;IjF0/WP;IiF56WA;MAxHI,eA0CG;IjF6/WP;IiF/6WA;MAxHI,aA0CG;IjFggXP;IiFl7WA;MAxHI,kBA0CG;MA1CH,aA0CG;IjFmgXP;IiFr7WA;MAxHI,wBA0CG;MA1CH,mBA0CG;IjFsgXP;IiFx7WA;MAxHI,uBA0CG;MA1CH,kBA0CG;IjFygXP;IiF37WA;MAxHI,qBA0CG;MA1CH,gBA0CG;IjF4gXP;IiF97WA;MAxHI,uBA0CG;MA1CH,kBA0CG;IjF+gXP;IiFj8WA;MAxHI,qBA0CG;MA1CH,gBA0CG;IjFkhXP;IiFp8WA;MAxHI,iBA0CG;IjFqhXP;IiFv8WA;MAxHI,eA0CG;IjFwhXP;IiF18WA;MAxHI,kBA0CG;IjF2hXP;EACF;EWnhXE;IsEqEA;MAxHI,mBA0CG;IjFgiXP;IiFl9WA;MAxHI,iBA0CG;IjFmiXP;IiFr9WA;MAxHI,WA0CG;IjFsiXP;IiFx9WA;MAxHI,sBA0CG;MA1CH,mBA0CG;IjFyiXP;IiF39WA;MAxHI,oBA0CG;MA1CH,iBA0CG;IjF4iXP;IiF99WA;MAxHI,mBA0CG;MA1CH,gBA0CG;IjF+iXP;IiFj+WA;MAxHI,yBA0CG;MA1CH,sBA0CG;IjFkjXP;IiFp+WA;MAxHI,mBA0CG;MA1CH,gBA0CG;IjFqjXP;IiFv+WA;MAxHI,eA+CO;IjFmjXX;IiF1+WA;MAxHI,qBA+CO;IjFsjXX;IiF7+WA;MAxHI,cA+CO;IjFyjXX;IiFh/WA;MAxHI,aA+CO;IjF4jXX;IiFn/WA;MAxHI,oBA+CO;IjF+jXX;IiFt/WA;MAxHI,cA+CO;IjFkkXX;IiFz/WA;MAxHI,kBA+CO;IjFqkXX;IiF5/WA;MAxHI,mBA+CO;IjFwkXX;IiF//WA;MAxHI,aA+CO;IjF2kXX;IiFlgXA;MAxHI,oBA+CO;IjF8kXX;IiFrgXA;MAxHI,iBA+CO;IjFilXX;IiFxgXA;MAxHI,kBA+CO;IjFolXX;IiF3gXA;MAxHI,aA+CO;IjFulXX;IiF9gXA;MAxHI,cA0CG;IjF+lXP;IiFjhXA;MAxHI,mBA+CO;IjF6lXX;IiFphXA;MAxHI,sBA+CO;IjFgmXX;IiFvhXA;MAxHI,2BA+CO;IjFmmXX;IiF1hXA;MAxHI,8BA+CO;IjFsmXX;IiF7hXA;MAxHI,YA0CG;IjF8mXP;IiFhiXA;MAxHI,YA0CG;IjFinXP;IiFniXA;MAxHI,cA0CG;IjFonXP;IiFtiXA;MAxHI,cA0CG;IjFunXP;IiFziXA;MAxHI,eA+CO;IjFqnXX;IiF5iXA;MAxHI,iBA+CO;IjFwnXX;IiF/iXA;MAxHI,uBA+CO;IjF2nXX;IiFljXA;MAxHI,2BA0CG;IjFmoXP;IiFrjXA;MAxHI,yBA0CG;IjFsoXP;IiFxjXA;MAxHI,uBA0CG;IjFyoXP;IiF3jXA;MAxHI,8BA0CG;IjF4oXP;IiF9jXA;MAxHI,6BA0CG;IjF+oXP;IiFjkXA;MAxHI,6BA0CG;IjFkpXP;IiFpkXA;MAxHI,oBA0CG;IjFqpXP;IiFvkXA;MAxHI,kBA0CG;IjFwpXP;IiF1kXA;MAxHI,qBA0CG;IjF2pXP;IiF7kXA;MAxHI,sBA0CG;IjF8pXP;IiFhlXA;MAxHI,wBA0CG;IjFiqXP;IiFnlXA;MAxHI,sBA0CG;IjFoqXP;IiFtlXA;MAxHI,oBA0CG;IjFuqXP;IiFzlXA;MAxHI,uBA0CG;IjF0qXP;IiF5lXA;MAxHI,qBA0CG;IjF6qXP;IiF/lXA;MAxHI,mBA0CG;IjFgrXP;IiFlmXA;MAxHI,qBA0CG;IjFmrXP;IiFrmXA;MAxHI,oBA0CG;IjFsrXP;IiFxmXA;MAxHI,yBA0CG;IjFyrXP;IiF3mXA;MAxHI,uBA0CG;IjF4rXP;IiF9mXA;MAxHI,qBA0CG;IjF+rXP;IiFjnXA;MAxHI,4BA0CG;IjFksXP;IiFpnXA;MAxHI,2BA0CG;IjFqsXP;IiFvnXA;MAxHI,sBA0CG;IjFwsXP;IiF1nXA;MAxHI,gBA0CG;IjF2sXP;IiF7nXA;MAxHI,sBA0CG;IjF8sXP;IiFhoXA;MAxHI,oBA0CG;IjFitXP;IiFnoXA;MAxHI,kBA0CG;IjFotXP;IiFtoXA;MAxHI,oBA0CG;IjFutXP;IiFzoXA;MAxHI,mBA0CG;IjF0tXP;IiF5oXA;MAxHI,kBA0CG;IjF6tXP;IiF/oXA;MAxHI,gBA0CG;IjFguXP;IiFlpXA;MAxHI,mBA0CG;IjFmuXP;IiFrpXA;MAxHI,oBA0CG;IjFsuXP;IiFxpXA;MAxHI,qCA0CG;IjFyuXP;IiF3pXA;MAxHI,qCA0CG;IjF4uXP;IiF9pXA;MAxHI,qCA0CG;IjF+uXP;IiFjqXA;MAxHI,qCA0CG;IjFkvXP;IiFpqXA;MAxHI,mBA0CG;IjFqvXP;IiFvqXA;MAxHI,mBA+CO;IjFmvXX;IiF1qXA;MAxHI,sBA+CO;IjFsvXX;IiF7qXA;MAxHI,qBA+CO;IjFyvXX;IiFhrXA;MAxHI,SA0CG;IjFiwXP;IiFnrXA;MAxHI,QA0CG;IjFowXP;IiFtrXA;MAxHI,QA0CG;IjFuwXP;IiFzrXA;MAxHI,QA0CG;IjF0wXP;IiF5rXA;MAxHI,QA0CG;IjF6wXP;IiF/rXA;MAxHI,QA0CG;IjFgxXP;IiFlsXA;MAxHI,QA0CG;IjFmxXP;IiFrsXA;MAxHI,QA0CG;IjFsxXP;IiFxsXA;MAxHI,SA0CG;IjFyxXP;IiF3sXA;MAxHI,eA0CG;IjF4xXP;IiF9sXA;MAxHI,cA0CG;IjF+xXP;IiFjtXA;MAxHI,YA0CG;IjFkyXP;IiFptXA;MAxHI,cA0CG;IjFqyXP;IiFvtXA;MAxHI,YA0CG;IjFwyXP;IiF1tXA;MAxHI,YA0CG;IjF2yXP;IiF7tXA;MAxHI,gBA0CG;IjF8yXP;IiFhuXA;MAxHI,sBA0CG;IjFizXP;IiFnuXA;MAxHI,qBA0CG;IjFozXP;IiFtuXA;MAxHI,mBA0CG;IjFuzXP;IiFzuXA;MAxHI,qBA0CG;IjF0zXP;IiF5uXA;MAxHI,mBA0CG;IjF6zXP;IiF/uXA;MAxHI,mBA0CG;IjFg0XP;IiFlvXA;MAxHI,eA0CG;IjFm0XP;IiFrvXA;MAxHI,qBA0CG;IjFs0XP;IiFxvXA;MAxHI,oBA0CG;IjFy0XP;IiF3vXA;MAxHI,kBA0CG;IjF40XP;IiF9vXA;MAxHI,oBA0CG;IjF+0XP;IiFjwXA;MAxHI,kBA0CG;IjFk1XP;IiFpwXA;MAxHI,kBA0CG;IjFq1XP;IiFvwXA;MAxHI,qBA0CG;IjFw1XP;IiF1wXA;MAxHI,2BA0CG;IjF21XP;IiF7wXA;MAxHI,0BA0CG;IjF81XP;IiFhxXA;MAxHI,wBA0CG;IjFi2XP;IiFnxXA;MAxHI,0BA0CG;IjFo2XP;IiFtxXA;MAxHI,wBA0CG;IjFu2XP;IiFzxXA;MAxHI,wBA0CG;IjF02XP;IiF5xXA;MAxHI,oBA0CG;IjF62XP;IiF/xXA;MAxHI,0BA0CG;IjFg3XP;IiFlyXA;MAxHI,yBA0CG;IjFm3XP;IiFryXA;MAxHI,uBA0CG;IjFs3XP;IiFxyXA;MAxHI,yBA0CG;IjFy3XP;IiF3yXA;MAxHI,uBA0CG;IjF43XP;IiF9yXA;MAxHI,uBA0CG;IjF+3XP;IiFjzXA;MAxHI,mBA0CG;IjFk4XP;IiFpzXA;MAxHI,yBA0CG;IjFq4XP;IiFvzXA;MAxHI,wBA0CG;IjFw4XP;IiF1zXA;MAxHI,sBA0CG;IjF24XP;IiF7zXA;MAxHI,wBA0CG;IjF84XP;IiFh0XA;MAxHI,sBA0CG;IjFi5XP;IiFn0XA;MAxHI,sBA0CG;IjFo5XP;IiFt0XA;MAxHI,sBA0CG;IjFu5XP;IiFz0XA;MAxHI,4BA0CG;IjF05XP;IiF50XA;MAxHI,2BA0CG;IjF65XP;IiF/0XA;MAxHI,yBA0CG;IjFg6XP;IiFl1XA;MAxHI,2BA0CG;IjFm6XP;IiFr1XA;MAxHI,yBA0CG;IjFs6XP;IiFx1XA;MAxHI,6BA0CG;IjFy6XP;IiF31XA;MAxHI,4BA0CG;IjF46XP;IiF91XA;MAxHI,yBA0CG;IjF+6XP;IiFj2XA;MAxHI,UA0CG;IjFk7XP;IiFp2XA;MAxHI,gBA0CG;IjFq7XP;IiFv2XA;MAxHI,eA0CG;IjFw7XP;IiF12XA;MAxHI,aA0CG;IjF27XP;IiF72XA;MAxHI,eA0CG;IjF87XP;IiFh3XA;MAxHI,aA0CG;IjFi8XP;IiFn3XA;MAxHI,iBA0CG;IjFo8XP;IiFt3XA;MAxHI,uBA0CG;IjFu8XP;IiFz3XA;MAxHI,sBA0CG;IjF08XP;IiF53XA;MAxHI,oBA0CG;IjF68XP;IiF/3XA;MAxHI,sBA0CG;IjFg9XP;IiFl4XA;MAxHI,oBA0CG;IjFm9XP;IiFr4XA;MAxHI,gBA0CG;IjFs9XP;IiFx4XA;MAxHI,sBA0CG;IjFy9XP;IiF34XA;MAxHI,qBA0CG;IjF49XP;IiF94XA;MAxHI,mBA0CG;I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7nYA;MAxHI,iBA+CO;IjFysYX;IiFhoYA;MAxHI,uBA+CO;IjF4sYX;IiFnoYA;MAxHI,2BA0CG;IjFotYP;IiFtoYA;MAxHI,yBA0CG;IjFutYP;IiFzoYA;MAxHI,uBA0CG;IjF0tYP;IiF5oYA;MAxHI,8BA0CG;IjF6tYP;IiF/oYA;MAxHI,6BA0CG;IjFguYP;IiFlpYA;MAxHI,6BA0CG;IjFmuYP;IiFrpYA;MAxHI,oBA0CG;IjFsuYP;IiFxpYA;MAxHI,kBA0CG;IjFyuYP;IiF3pYA;MAxHI,qBA0CG;IjF4uYP;IiF9pYA;MAxHI,sBA0CG;IjF+uYP;IiFjqYA;MAxHI,wBA0CG;IjFkvYP;IiFpqYA;MAxHI,sBA0CG;IjFqvYP;IiFvqYA;MAxHI,oBA0CG;IjFwvYP;IiF1qYA;MAxHI,uBA0CG;IjF2vYP;IiF7qYA;MAxHI,qBA0CG;IjF8vYP;IiFhrYA;MAxHI,mBA0CG;IjFiwYP;IiFnrYA;MAxHI,qBA0CG;IjFowYP;IiFtrYA;MAxHI,oBA0CG;IjFuwYP;IiFzrYA;MAxHI,yBA0CG;IjF0wYP;IiF5rYA;MAxHI,uBA0CG;IjF6wYP;IiF/rYA;MAxHI,qBA0CG;IjFgxYP;IiFlsYA;MAxHI,4BA0CG;IjFmxYP;IiFrsYA;MAxHI,2BA0CG;IjFsxYP;IiFxsYA;MAxHI,sBA0CG;IjFyxYP;IiF3sYA;MAxHI,gBA0CG;IjF4xYP;IiF9sYA;MAxHI,sBA0CG;IjF+xYP;IiFjtYA;MAxHI,oBA0CG;IjFkyYP;IiFptYA;MAxHI,kBA0CG;IjFqyYP;IiFvtYA;MAxHI,oBA0CG;IjFwyYP;IiF1tYA;MAxHI,mBA0CG;IjF2yYP;IiF7tYA;MAxHI,kBA0CG;IjF8yYP;IiFhuYA;MAxHI,gBA0CG;IjFizYP;IiFnuYA;MAxHI,mBA0CG;IjFozYP;IiFtuYA;MAxHI,oBA0CG;IjFuzYP;IiFzuYA;MAxHI,qCA0CG;IjF0zYP;IiF5uYA;MAxHI,qCA0CG;IjF6zYP;IiF/uYA;MAxHI,qCA0CG;IjFg0YP;IiFlvYA;MAxHI,qCA0CG;IjFm0YP;IiFrvYA;MAxHI,mBA0CG;IjFs0YP;IiFxvYA;MAxHI,mBA+CO;IjFo0YX;IiF3vYA;MAxHI,sBA+CO;IjFu0YX;IiF9vYA;MAxHI,qBA+CO;IjF00YX;IiFjwYA;MAxHI,SA0CG;IjFk1YP;IiFpwYA;MAxHI,QA0CG;IjFq1YP;IiFvwYA;MAxHI,QA0CG;IjFw1YP;IiF1wYA;MAxHI,QA0CG;IjF21YP;IiF7wYA;MAxHI,QA0CG;IjF81YP;IiFhxYA;MAxHI,QA0CG;IjFi2YP;IiFnxYA;MAxHI,QA0CG;IjFo2YP;IiFtxYA;MAxHI,QA0CG;IjFu2YP;IiFzxYA;MAxHI,SA0CG;IjF02YP;IiF5xYA;MAxHI,eA0CG;IjF62YP;IiF/xYA;MAxHI,cA0CG;IjFg3YP;IiFlyYA;MAxHI,YA0CG;IjFm3YP;IiFryYA;MAxHI,cA0CG;IjFs3YP;IiFxyYA;MAxHI,YA0CG;IjFy3YP;IiF3yYA;MAxHI,YA0CG;IjF43YP;IiF9yYA;MAxHI,gBA0CG;IjF+3YP;IiFjzYA;MAxHI,sBA0CG;IjFk4YP;IiFpzYA;MAxHI,qBA0CG;IjFq4YP;IiFvzYA;MAxHI,mBA0CG;IjFw4YP;IiF1zYA;MAxHI,qBA0CG;IjF24YP;IiF7zYA;MAxHI,mBA0CG;IjF84YP;IiFh0YA;MAxHI,mBA0CG;IjFi5YP;IiFn0YA;MAxHI,eA0CG;IjFo5YP;IiFt0YA;MAxHI,qBA0CG;IjFu5YP;IiFz0YA;MAxHI,oBA0CG;IjF05YP;IiF50YA;MAxHI,kBA0CG;IjF65YP;IiF/0YA;MAxHI,oBA0CG;IjFg6YP;IiFl1YA;MAxHI,kBA0CG;IjFm6YP;IiFr1YA;MAxHI,kBA0CG;IjFs6YP;IiFx1YA;MAxHI,qBA0CG;IjFy6YP;IiF31YA;MAxHI,2BA0CG;IjF46YP;IiF91YA;MAxHI,0BA0CG;IjF+6YP;IiFj2YA;MAxHI,wBA0CG;IjFk7YP;IiFp2YA;MAxHI,0BA0CG;IjFq7YP;IiFv2YA;MAxHI,wBA0CG;IjFw7YP;IiF12YA;MAxHI,wBA0CG;IjF27YP;IiF72YA;MAxHI,oBA0CG;IjF87YP;IiFh3YA;MAxHI,0BA0CG;IjFi8YP;IiFn3YA;MAxHI,yBA0CG;IjFo8YP;IiFt3YA;MAxHI,uBA0CG;IjFu8YP;IiFz3YA;MAxHI,yBA0CG;IjF08YP;IiF53YA;MAxHI,uBA0CG;IjF68YP;IiF/3YA;MAxHI,uBA0CG;IjFg9YP;IiFl4YA;MAxHI,mBA0CG;IjFm9YP;IiFr4YA;MAxHI,yBA0CG;IjFs9YP;IiFx4YA;MAxHI,wBA0CG;IjFy9YP;IiF34YA;MAxHI,sBA0CG;IjF49YP;IiF94YA;MAxHI,wBA0CG;IjF+9YP;IiFj5YA;MAxHI,sBA0CG;IjFk+YP;IiFp5YA;MAxHI,sBA0CG;IjFq+YP;IiFv5YA;MAxHI,sBA0CG;IjFw+YP;IiF15YA;MAxHI,4BA0CG;IjF2+YP;IiF75YA;MAxHI,2BA0CG;IjF8+YP;IiFh6YA;MAxHI,yBA0CG;IjFi/YP;IiFn6YA;MAxHI,2BA0CG;IjFo/YP;IiFt6YA;MAxHI,yBA0CG;IjFu/YP;IiFz6YA;MAxHI,6BA0CG;IjF0/YP;IiF56YA;MAxHI,4BA0CG;IjF6/YP;IiF/6YA;MAxHI,yBA0CG;IjFggZP;IiFl7YA;MAxHI,UA0CG;IjFmgZP;IiFr7YA;MAxHI,gBA0CG;IjFsgZP;IiFx7YA;MAxHI,eA0CG;IjFygZP;IiF37YA;MAxHI,aA0CG;IjF4gZP;IiF97YA;MAxHI,eA0CG;IjF+gZP;IiFj8YA;MAxHI,aA0CG;IjFkhZP;IiFp8YA;MAxHI,iBA0CG;IjFqhZP;IiFv8YA;MAxHI,uBA0CG;IjFwhZP;IiF18YA;MAxHI,sBA0CG;IjF2hZP;IiF78YA;MAxHI,oBA0CG;IjF8hZP;IiFh9YA;MAxHI,sBA0CG;IjFiiZP;IiFn9YA;MAxHI,oBA0CG;IjFoiZP;IiFt9YA;MAxHI,gBA0CG;IjFuiZP;IiFz9YA;MAxHI,sBA0CG;IjF0iZP;IiF59YA;MAxHI,qBA0CG;IjF6iZP;IiF/9YA;MAxHI,mBA0CG;IjFgjZP;IiFl+YA;MAxHI,qBA0CG;IjFmjZP;IiFr+YA;MAxHI,mBA0CG;IjFsjZP;IiFx+YA;MAxHI,sBA0CG;IjFyjZP;IiF3+YA;MAxHI,4BA0CG;IjF4jZP;IiF9+YA;MAxHI,2BA0CG;IjF+jZP;IiFj/YA;MAxHI,yBA0CG;IjFkkZP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AxHI,6BA0CG;IjFizZP;IiFnuZA;MAxHI,6BA0CG;IjFozZP;IiFtuZA;MAxHI,oBA0CG;IjFuzZP;IiFzuZA;MAxHI,kBA0CG;IjF0zZP;IiF5uZA;MAxHI,qBA0CG;IjF6zZP;IiF/uZA;MAxHI,sBA0CG;IjFg0ZP;IiFlvZA;MAxHI,wBA0CG;IjFm0ZP;IiFrvZA;MAxHI,sBA0CG;IjFs0ZP;IiFxvZA;MAxHI,oBA0CG;IjFy0ZP;IiF3vZA;MAxHI,uBA0CG;IjF40ZP;IiF9vZA;MAxHI,qBA0CG;IjF+0ZP;IiFjwZA;MAxHI,mBA0CG;IjFk1ZP;IiFpwZA;MAxHI,qBA0CG;IjFq1ZP;IiFvwZA;MAxHI,oBA0CG;IjFw1ZP;IiF1wZA;MAxHI,yBA0CG;IjF21ZP;IiF7wZA;MAxHI,uBA0CG;IjF81ZP;IiFhxZA;MAxHI,qBA0CG;IjFi2ZP;IiFnxZA;MAxHI,4BA0CG;IjFo2ZP;IiFtxZA;MAxHI,2BA0CG;IjFu2ZP;IiFzxZA;MAxHI,sBA0CG;IjF02ZP;IiF5xZA;MAxHI,gBA0CG;IjF62ZP;IiF/xZA;MAxHI,sBA0CG;IjFg3ZP;IiFlyZA;MAxHI,oBA0CG;IjFm3ZP;IiFryZA;MAxHI,kBA0CG;IjFs3ZP;IiFxyZA;MAxHI,oBA0CG;IjFy3ZP;IiF3yZA;MAxHI,mBA0CG;IjF43ZP;IiF9yZA;MAxHI,kBA0CG;IjF+3ZP;IiFjzZA;MAxHI,gBA0CG;IjFk4ZP;IiFpzZA;MAxHI,mBA0CG;IjFq4ZP;IiFvzZA;MAxHI,oBA0CG;IjFw4ZP;IiF1zZA;MAxHI,qCA0CG;IjF24ZP;IiF7zZA;MAxHI,qCA0CG;IjF84ZP;IiFh0ZA;MAxHI,qCA0CG;IjFi5ZP;IiFn0ZA;MAxHI,qCA0CG;IjFo5ZP;IiFt0ZA;MAxHI,mBA0CG;IjFu5ZP;IiFz0ZA;MAxHI,mBA+CO;IjFq5ZX;IiF50ZA;MAxHI,sBA+CO;IjFw5ZX;IiF/0ZA;MAxHI,qBA+CO;IjF25ZX;IiFl1ZA;MAxHI,SA0CG;IjFm6ZP;IiFr1ZA;MAxHI,QA0CG;IjFs6ZP;IiFx1ZA;MAxHI,QA0CG;IjFy6ZP;IiF31ZA;MAxHI,QA0CG;IjF46ZP;IiF91ZA;MAxHI,QA0CG;IjF+6ZP;IiFj2ZA;MAxHI,QA0CG;IjFk7ZP;IiFp2ZA;MAxHI,QA0CG;IjFq7ZP;IiFv2ZA;MAxHI,QA0CG;IjFw7ZP;IiF12ZA;MAxHI,SA0CG;IjF27ZP;IiF72ZA;MAxHI,eA0CG;IjF87ZP;IiFh3ZA;MAxHI,cA0CG;IjFi8ZP;IiFn3ZA;MAxHI,YA0CG;IjFo8ZP;IiFt3ZA;MAxHI,cA0CG;IjFu8ZP;IiFz3ZA;MAxHI,YA0CG;IjF08ZP;IiF53ZA;MAxHI,YA0CG;IjF68ZP;IiF/3ZA;MAxHI,gBA0CG;IjFg9ZP;IiFl4ZA;MAxHI,sBA0CG;IjFm9ZP;IiFr4ZA;MAxHI,qBA0CG;IjFs9ZP;IiFx4ZA;MAxHI,mBA0CG;IjFy9ZP;IiF34ZA;MAxHI,qBA0CG;IjF49ZP;IiF94ZA;MAxHI,mBA0CG;IjF+9ZP;IiFj5ZA;MAxHI,mBA0CG;IjFk+ZP;IiFp5ZA;MAxHI,eA0CG;IjFq+ZP;IiFv5ZA;MAxHI,qBA0CG;IjFw+ZP;IiF15ZA;MAxHI,oBA0CG;IjF2+ZP;IiF75ZA;MAxHI,kBA0CG;IjF8+ZP;IiFh6ZA;MAxHI,oBA0CG;IjFi/ZP;IiFn6ZA;MAxHI,kBA0CG;IjFo/ZP;IiFt6ZA;MAxHI,kBA0CG;IjFu/ZP;IiFz6ZA;MAxHI,qBA0CG;IjF0/ZP;IiF56ZA;MAxHI,2BA0CG;IjF6/ZP;IiF/6ZA;MAxHI,0BA0CG;IjFggaP;IiFl7ZA;MAxHI,wBA0CG;IjFmgaP;IiFr7ZA;MAxHI,0BA0CG;IjFsgaP;IiFx7ZA;MAxHI,wBA0CG;IjFygaP;IiF37ZA;MAxHI,wBA0CG;IjF4gaP;IiF97ZA;MAxHI,oBA0CG;IjF+gaP;IiFj8ZA;MAxHI,0BA0CG;IjFkhaP;IiFp8ZA;MAxHI,yBA0CG;IjFqhaP;IiFv8ZA;MAxHI,uBA0CG;IjFwhaP;IiF18ZA;MAxHI,yBA0CG;IjF2haP;IiF78ZA;MAxHI,uBA0CG;IjF8haP;IiFh9ZA;MAxHI,uBA0CG;IjFiiaP;IiFn9ZA;MAxHI,mBA0CG;IjFoiaP;IiFt9ZA;MAxHI,yBA0CG;IjFuiaP;IiFz9ZA;MAxHI,wBA0CG;IjF0iaP;IiF59ZA;MAxHI,sBA0CG;IjF6iaP;IiF/9ZA;MAxHI,wBA0CG;IjFgjaP;IiFl+ZA;MAxHI,sBA0CG;IjFmjaP;IiFr+ZA;MAxHI,sBA0CG;IjFsjaP;IiFx+ZA;MAxHI,sBA0CG;IjFyjaP;IiF3+ZA;MAxHI,4BA0CG;IjF4jaP;IiF9+ZA;MAxHI,2BA0CG;IjF+jaP;IiFj/ZA;MAxHI,yBA0CG;IjFkkaP;IiFp/ZA;MAxHI,2BA0CG;IjFqkaP;IiFv/ZA;MAxHI,yBA0CG;IjFwkaP;IiF1/ZA;MAxHI,6BA0CG;IjF2kaP;IiF7/ZA;MAxHI,4BA0CG;IjF8kaP;IiFhgaA;MAxHI,yBA0CG;IjFilaP;IiFngaA;MAxHI,UA0CG;IjFolaP;IiFtgaA;MAxHI,gBA0CG;IjFulaP;IiFzgaA;MAxHI,eA0CG;IjF0laP;IiF5gaA;MAxHI,aA0CG;IjF6laP;IiF/gaA;MAxHI,eA0CG;IjFgmaP;IiFlhaA;MAxHI,aA0CG;IjFmmaP;IiFrhaA;MAxHI,iBA0CG;IjFsmaP;IiFxhaA;MAxHI,uBA0CG;IjFymaP;IiF3haA;MAxHI,sBA0CG;IjF4maP;IiF9haA;MAxHI,oBA0CG;IjF+maP;IiFjiaA;MAxHI,sBA0CG;IjFknaP;IiFpiaA;MAxHI,oBA0CG;IjFqnaP;IiFviaA;MAxHI,gBA0CG;IjFwnaP;IiF1iaA;MAxHI,sBA0CG;IjF2naP;IiF7iaA;MAxHI,qBA0CG;IjF8naP;IiFhjaA;MAxHI,mBA0CG;IjFioaP;IiFnjaA;MAxHI,qBA0CG;IjFooaP;IiFtjaA;MAxHI,mBA0CG;IjFuoaP;IiFzjaA;MAxHI,sBA0CG;IjF0oaP;IiF5jaA;MAxHI,4BA0CG;IjF6oaP;IiF/jaA;MAxHI,2BA0CG;IjFgpaP;IiFlkaA;MAxHI,yBA0CG;IjFmpaP;IiFrkaA;MAxHI,2BA0CG;IjFspaP;IiFxkaA;MAxHI,yBA0CG;IjFypaP;IiF3kaA;MAxHI,qBA0CG;IjF4paP;IiF9kaA;MAxHI,2BA0CG;IjF+paP;IiFjlaA;MAxHI,0BA0CG;IjFkqaP;IiFplaA;MAxHI,wBA0CG;IjFqqaP;IiFvlaA;MAxHI,0BA0CG;IjFwqaP;IiF1laA;MAxHI,wBA0CG;IjF2qaP;IiF7laA;MAxHI,oBA0CG;IjF8qaP;IiFhmaA;MAxHI,0BA0CG;IjFiraP;IiFnmaA;MAxHI,yBA0CG;IjForaP;IiFtmaA;MAxHI,uBA0CG;IjFuraP;IiFzmaA;MAxHI,yBA0CG;IjF0raP;IiF5maA;MAxHI,uBA0CG;IjF6raP;IiF/maA;MAxHI,uBA0CG;IjFgsaP;IiFlnaA;MAxHI,6BA0CG;IjFmsaP;IiFrnaA;MAxHI,4BA0CG;IjFssaP;IiFxnaA;MAxHI,0BA0CG;IjFysaP;IiF3naA;MAxHI,4BA0CG;IjF4saP;IiF9naA;MAxHI,0BA0CG;IjF+saP;IiFjoaA;MAxHI,MA0CG;IjFktaP;IiFpoaA;MAxHI,YA0CG;IjFqtaP;IiFvoaA;MAxHI,WA0CG;IjFwtaP;IiF1oaA;MAxHI,SA0CG;IjF2taP;IiF7oaA;MAxHI,WA0CG;IjF8taP;IiFhpaA;MAxHI,SA0CG;IjFiuaP;IiFnpaA;MAxHI,UA0CG;IjFouaP;IiFtpaA;MAxHI,gBA0CG;IjFuuaP;IiFzpaA;MAxHI,eA0CG;IjF0uaP;IiF5paA;MAxHI,aA0CG;IjF6uaP;IiF/paA;MAxHI,eA0CG;IjFgvaP;IiFlqaA;MAxHI,aA0CG;IjFmvaP;IiFrqaA;MAxHI,kBA0CG;MA1CH,aA0CG;IjFsvaP;IiFxqaA;MAxHI,wBA0CG;MA1CH,mBA0CG;IjFyvaP;IiF3qaA;MAxHI,uBA0CG;MA1CH,kBA0CG;IjF4vaP;IiF9qaA;MAxHI,qBA0CG;MA1CH,gBA0CG;IjF+vaP;IiFjraA;MAxHI,uBA0CG;MA1CH,kBA0CG;IjFkwaP;IiFpraA;MAxHI,qBA0CG;MA1CH,gBA0CG;IjFqwaP;IiFvraA;MAxHI,iBA0CG;IjFwwaP;IiF1raA;MAxHI,eA0CG;IjF2waP;IiF7raA;MAxHI,kBA0CG;IjF8waP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n  }\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n  .blockquote {\n    --blockquote-gap: calc(var(--spacer) / 2);\n    --blockquote-padding-x: var(--spacer);\n    --blockquote-margin-y: 1rem;\n    --blockquote-font-size: var(--font-size-md);\n    --blockquote-border-width: 0.25rem;\n    --blockquote-border-color: var(--border-color);\n    --blockquote-footer-font-size: var(--font-size-sm);\n    --blockquote-footer-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n  }\n  .blockquote > * {\n    margin-bottom: 0;\n  }\n  figure.blockquote blockquote {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-cell-padding-y: 0.5rem;\n    --table-cell-padding-x: 0.5rem;\n    --table-cell-vertical-align: top;\n    --table-color: var(--fg-body);\n    --table-bg: var(--bg-body);\n    --table-accent-bg: transparent;\n    --table-border-width: var(--border-width);\n    --table-border-color: var(--border-color);\n    --table-group-separator-color: currentcolor;\n    --table-striped-color: var(--table-color);\n    --table-striped-bg-factor: 0.05;\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n    --table-active-color: var(--table-color);\n    --table-active-bg-factor: 0.1;\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n    --table-hover-color: var(--table-color);\n    --table-hover-bg-factor: 0.075;\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--table-border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    --table-cell-padding-y: .25rem;\n    --table-cell-padding-x: .25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--table-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--table-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .sm\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    --thumbnail-padding: 0.25rem;\n    --thumbnail-bg: var(--bg-body);\n    --thumbnail-border-width: var(--border-width);\n    --thumbnail-border-color: var(--border-color);\n    --thumbnail-border-radius: var(--border-radius);\n    --thumbnail-box-shadow: var(--box-shadow-sm);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    border-radius: var(--thumbnail-border-radius);\n    box-shadow: var(--thumbnail-box-shadow);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    --figure-gap: calc(var(--spacer) * 0.5);\n    --figure-caption-font-size: var(--font-size-sm);\n    --figure-caption-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: 1rem;\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.75);\n  }\n  .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.5);\n  }\n  .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.75em;\n  }\n  .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.5em;\n  }\n  .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.25em;\n  }\n  .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.125em;\n  }\n  .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1em;\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      transition: none;\n    }\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n  .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n    font-weight: 500;\n  }\n  .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0;\n  }\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n@layer forms {\n  .form-text {\n    --form-text-margin-top: 0.25rem;\n    --form-text-font-size: var(--font-size-sm);\n    --form-text-color: var(--fg-3);\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: var(--btn-input-min-height);\n    --control-padding-y: var(--btn-input-padding-y);\n    --control-padding-x: var(--btn-input-padding-x);\n    --control-font-size: var(--btn-input-font-size);\n    --control-line-height: var(--btn-input-line-height);\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-box-shadow: var(--box-shadow-inset);\n    --control-action-bg: var(--bg-1);\n    --control-action-hover-bg: var(--bg-2);\n    --control-transition-property: border-color, box-shadow;\n    --control-transition-timing: 0.15s ease-in-out;\n    --control-transition: var(--control-transition-property) var(--control-transition-timing);\n    --control-placeholder-color: var(--fg-3);\n    --control-disabled-color: var(--control-fg);\n    --control-disabled-bg: var(--bg-2);\n    --control-disabled-border-color: var(--control-border-color);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--control-box-shadow);\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::placeholder {\n    color: var(--control-placeholder-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    color: var(--control-disabled-color);\n    background-color: var(--control-disabled-bg);\n    border-color: var(--control-disabled-border-color);\n    opacity: 1;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    height: 1.5rem;\n    padding: 0;\n    margin-bottom: -0.125rem;\n  }\n  .form-control::-webkit-datetime-edit-fields-wrapper {\n    height: 1.5rem;\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-action-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--control-action-hover-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0;\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  .form-control-sm {\n    --control-min-height: var(--btn-input-sm-min-height);\n    --control-padding-y: var(--btn-input-sm-padding-y);\n    --control-padding-x: var(--btn-input-sm-padding-x);\n    --control-font-size: var(--btn-input-sm-font-size);\n    --control-line-height: var(--btn-input-sm-line-height);\n    --control-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .form-control-lg {\n    --control-min-height: var(--btn-input-lg-min-height);\n    --control-padding-y: var(--btn-input-lg-padding-y);\n    --control-padding-x: var(--btn-input-lg-padding-x);\n    --control-font-size: var(--btn-input-lg-font-size);\n    --control-line-height: var(--btn-input-lg-line-height);\n    --control-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .checkgroup .description {\n    color: var(--fg-3);\n  }\n  .check {\n    --check-size: 1.25rem;\n    --check-margin-block: 0.125rem;\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-border-radius: 0.375rem;\n    --check-checked-bg: var(--control-checked-bg);\n    --check-checked-border-color: var(--control-checked-border-color);\n    --check-indeterminate-bg: var(--control-checked-bg);\n    --check-indeterminate-border-color: var(--control-checked-border-color);\n    --check-active-bg: var(--control-active-bg);\n    --check-active-border-color: var(--control-active-border-color);\n    --check-disabled-bg: var(--control-disabled-bg);\n    --check-disabled-opacity: var(--control-disabled-opacity);\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: var(--check-size);\n    height: var(--check-size);\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.3em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--theme-contrast, var(--primary-contrast));\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--fg-3);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .radiogroup .description {\n    color: var(--fg-3);\n  }\n  .radio {\n    --radio-size: 1.25rem;\n    --radio-margin-block: 0.125rem;\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--control-checked-bg);\n    --radio-checked-border-color: var(--control-checked-border-color);\n    --radio-disabled-bg: var(--control-disabled-bg);\n    --radio-disabled-opacity: var(--control-disabled-opacity);\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: 0.0625rem;\n    --switch-margin-block: 0.125rem;\n    --switch-bg: var(--bg-3);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--control-checked-bg);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--control-disabled-bg);\n    --switch-disabled-indicator-bg: var(--fg-3);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--theme-contrast, var(--switch-indicator-bg));\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n@layer forms {\n  .form-range {\n    --range-track-width: 100%;\n    --range-track-height: 0.5rem;\n    --range-track-cursor: pointer;\n    --range-track-bg: var(--bg-3);\n    --range-track-border-radius: 1rem;\n    --range-track-box-shadow: var(--box-shadow-inset);\n    --range-thumb-width: 1rem;\n    --range-thumb-height: var(--range-thumb-width);\n    --range-thumb-bg: var(--primary-base);\n    --range-thumb-border: 0;\n    --range-thumb-border-radius: 1rem;\n    --range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n    --range-thumb-disabled-bg: var(--fg-3);\n    --range-thumb-transition-property: background-color, border-color, box-shadow;\n    --range-thumb-transition-timing: 0.15s ease-in-out;\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n    width: 100%;\n    height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range:focus::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n  }\n  .form-range::-webkit-slider-thumb {\n    margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n  }\n  .form-range::-moz-range-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range::-moz-range-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n}\n@layer forms {\n  .form-floating {\n    --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n    --form-floating-line-height: 1.25;\n    --form-floating-padding-x: var(--btn-input-padding-x);\n    --form-floating-padding-y: 1rem;\n    --form-floating-input-padding-t: 1.625rem;\n    --form-floating-input-padding-b: 0.625rem;\n    --form-floating-label-height: 1.5em;\n    --form-floating-label-opacity: 0.65;\n    --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n    --form-floating-label-disabled-color: var(--fg-3);\n    --form-floating-transition-property: opacity, transform;\n    --form-floating-transition-timing: 0.1s ease-in-out;\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n    position: relative;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    max-width: 100%;\n    height: 100%;\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    overflow: hidden;\n    color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--input-btn-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: var(--form-floating-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    height: var(--form-floating-height);\n    min-height: var(--form-floating-height);\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    line-height: var(--form-floating-line-height);\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n    z-index: -1;\n    height: var(--form-floating-label-height);\n    content: \"\";\n    background-color: var(--control-bg);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--control-disabled-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--control-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--form-floating-label-disabled-color);\n  }\n}\n@layer components {\n  .input-group {\n    --input-group-addon-padding-y: var(--btn-input-padding-y);\n    --input-group-addon-padding-x: var(--btn-input-padding-x);\n    --input-group-addon-font-size: var(--btn-input-font-size);\n    --input-group-addon-line-height: var(--btn-input-line-height);\n    --input-group-addon-color: var(--fg-body);\n    --input-group-addon-bg: var(--bg-2);\n    --input-group-addon-border-color: var(--border-color);\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group > .input-group-btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group > .input-group-btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size);\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .input-group-sm > .form-control,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    min-height: var(--btn-input-sm-min-height);\n    padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n    font-size: var(--btn-input-sm-font-size);\n    border-radius: var(--btn-input-sm-border-radius);\n  }\n  .input-group-lg > .form-control,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    min-height: var(--btn-input-lg-min-height);\n    padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n    font-size: var(--btn-input-lg-font-size);\n    border-radius: var(--btn-input-lg-border-radius);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n  }\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n    --strength-width: 100%;\n  }\n}\n@layer components {\n  .otp {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-font-size);\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n    border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: var(--btn-input-sm-min-height);\n    --otp-font-size: var(--btn-input-sm-font-size);\n    --otp-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .otp-lg {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-lg-font-size);\n    --otp-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer forms {\n  .form-adorn {\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    gap: var(--form-adorn-gap);\n    align-items: center;\n  }\n  .form-adorn:focus-visible {\n    outline: 0;\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n@layer forms {\n  .chip-input {\n    --chip-input-padding-y: 0.75rem;\n    --chip-input-padding-x: 0.75rem;\n    --chip-input-gap: 0.375rem;\n    --chip-input-ghost-min-width: 5rem;\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n  }\n  .chip-input:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .chip-input > .form-ghost {\n    flex: 1 1 0;\n    min-width: var(--chip-input-ghost-min-width);\n    min-height: 1.75rem;\n  }\n  .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n    background-color: var(--bg-2);\n    opacity: 1;\n  }\n  .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n    opacity: var(--control-disabled-opacity);\n  }\n  .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n    pointer-events: none;\n  }\n  .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n    cursor: not-allowed;\n  }\n}\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n  }\n  .combobox-toggle.show {\n    background-color: var(--bg-1);\n  }\n  .combobox-toggle:disabled, .combobox-toggle.disabled {\n    cursor: not-allowed;\n    opacity: 0.65;\n  }\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: 0.5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .combobox-caret {\n    flex-shrink: 0;\n    transition: transform 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .combobox-caret {\n      transition: none;\n    }\n  }\n  .show > .combobox-caret {\n    transform: rotate(180deg);\n  }\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, 0.25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n  .combobox-search-input {\n    width: 100%;\n  }\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer components {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--success-contrast);\n    background-color: var(--success-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--success-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--success-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--success-border);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--success-border);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--danger-contrast);\n    background-color: var(--danger-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--danger-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dd0d37'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--danger-border);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--danger-border);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: var(--btn-input-min-height);\n    --btn-padding-x: var(--btn-input-padding-x);\n    --btn-padding-y: var(--btn-input-padding-y);\n    --btn-font-size: var(--btn-input-font-size);\n    --btn-font-weight: var(--btn-input-font-weight);\n    --btn-line-height: var(--btn-input-line-height);\n    --btn-color: var(--fg-body);\n    --btn-white-space: nowrap;\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    --btn-transition-timing: 0.15s ease-in-out;\n    --btn-transition-property: color, background-color, border-color, box-shadow;\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: var(--btn-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: var(--btn-input-xs-min-height);\n    --btn-padding-y: var(--btn-input-xs-padding-y);\n    --btn-padding-x: var(--btn-input-xs-padding-x);\n    --btn-font-size: var(--btn-input-xs-font-size);\n    --btn-line-height: var(--btn-input-xs-line-height);\n    --btn-border-radius: var(--btn-input-xs-border-radius);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: var(--btn-input-sm-min-height);\n    --btn-padding-y: var(--btn-input-sm-padding-y);\n    --btn-padding-x: var(--btn-input-sm-padding-x);\n    --btn-font-size: var(--btn-input-sm-font-size);\n    --btn-line-height: var(--btn-input-sm-line-height);\n    --btn-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: var(--btn-input-lg-min-height);\n    --btn-padding-y: var(--btn-input-lg-padding-y);\n    --btn-padding-x: var(--btn-input-lg-padding-x);\n    --btn-font-size: var(--btn-input-lg-font-size);\n    --btn-line-height: var(--btn-input-lg-line-height);\n    --btn-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgba(255, 255, 255, 0.125);\n    --btn-gradient-end: rgba(0, 0, 0, 0.075);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--btn-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: inherit;\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus-visible {\n    opacity: var(--btn-close-focus-opacity);\n    outline: var(--focus-ring);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-padding-x: 1.25rem;\n    --accordion-padding-y: 1rem;\n    --accordion-color: var(--fg-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition-property: color, background-color, border-radius;\n    --accordion-transition-timing: .15s ease-in-out;\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--bg-body);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert > p {\n    margin-bottom: 0;\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .avatar {\n    --avatar-size: 2.5rem;\n    --avatar-border-radius: 50%;\n    --avatar-border-width: 2px;\n    --avatar-border-color: var(--bg-body);\n    --avatar-bg: var(--bg-2);\n    --avatar-color: var(--fg-body);\n    --avatar-status-size: 0.75rem;\n    --avatar-status-border-width: 2px;\n    --avatar-status-border-color: var(--bg-body);\n    --avatar-stack-spacing: -0.3;\n    --avatar-stack-transition: transform .2s ease-in-out;\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * 0.4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    border-radius: var(--avatar-border-radius);\n  }\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: inherit;\n  }\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    border-radius: 50%;\n  }\n  .avatar-status.status-online {\n    background-color: var(--green-500);\n  }\n  .avatar-status.status-offline {\n    background-color: var(--gray-400);\n    border-radius: 20%;\n  }\n  .avatar-status.status-busy {\n    background-color: var(--red-500);\n    border-radius: 20%;\n  }\n  .avatar-status.status-away {\n    background-color: var(--yellow-500);\n  }\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n  }\n  .avatar-stack .avatar {\n    margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n    border: var(--avatar-border-width) solid var(--avatar-border-color);\n    mask-image: none;\n    transition: var(--avatar-stack-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .avatar-stack .avatar {\n      transition: none;\n    }\n  }\n  .avatar-stack .avatar:last-child {\n    margin-left: 0;\n  }\n  .avatar-stack .avatar:hover {\n    z-index: 1;\n    transform: translateY(-2px);\n  }\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: 1.5rem;\n    --avatar-status-size: 0.625rem;\n  }\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: 2rem;\n  }\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: 3rem;\n    --avatar-status-size: 1rem;\n  }\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: 4rem;\n    --avatar-status-size: 1.25rem;\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: var(--font-weight-semibold);\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: var(--border-width);\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: inherit;\n    --breadcrumb-bg: transparent;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .chip {\n    --chip-height: 1.75rem;\n    --chip-padding-x: 0.625rem;\n    --chip-gap: 0.3125rem;\n    --chip-border-radius: var(--border-radius-pill);\n    --chip-img-size: 1.25rem;\n    --chip-icon-size: 1rem;\n    --chip-dismiss-size: 1rem;\n    --chip-dismiss-opacity: 0.65;\n    --chip-dismiss-hover-opacity: 1;\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    border-radius: var(--chip-border-radius);\n  }\n  .chip:hover {\n    --chip-bg: var(--theme-bg-muted, var(--bg-3));\n  }\n  .chip:focus-visible {\n    outline: 0;\n  }\n  .chip.active {\n    --chip-color: var(--chip-selected-color);\n    --chip-bg: var(--chip-selected-bg);\n    --chip-border-color: var(--chip-selected-border-color);\n  }\n  .chip.active:hover {\n    --chip-bg: var(--chip-selected-bg);\n    opacity: 0.9;\n  }\n  .chip.disabled, .chip:disabled {\n    pointer-events: none;\n    opacity: 0.65;\n  }\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    border-radius: 50%;\n  }\n  .chip-img:first-child {\n    margin-inline-start: -0.375rem;\n  }\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -0.25);\n  }\n  .chip-icon > svg {\n    display: block;\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n  }\n  .chip-icon > img {\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n    object-fit: cover;\n    border-radius: 50%;\n  }\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n  }\n  .chip-dismiss:hover {\n    opacity: var(--chip-dismiss-hover-opacity);\n  }\n  .chip-dismiss:focus-visible {\n    outline: 0;\n    opacity: 1;\n    outline: var(--focus-ring);\n  }\n  .chip-dismiss > svg {\n    display: block;\n    width: var(--chip-dismiss-size);\n    height: var(--chip-dismiss-size);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: inherit;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: none;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: inherit;\n    --card-height: auto;\n    --card-color: inherit;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .card-translucent .card-header,\n  .card-translucent .card-footer {\n    background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n    --carousel-control-color: #fff;\n    --carousel-control-width: 15%;\n    --carousel-control-opacity: 0.5;\n    --carousel-control-hover-opacity: 0.9;\n    --carousel-control-transition: opacity 0.15s ease;\n    --carousel-control-icon-filter: none;\n    --carousel-indicator-width: 30px;\n    --carousel-indicator-height: 3px;\n    --carousel-indicator-hit-area-height: 10px;\n    --carousel-indicator-spacer: 3px;\n    --carousel-indicator-opacity: 0.5;\n    --carousel-indicator-active-bg: var(--white);\n    --carousel-indicator-active-opacity: 1;\n    --carousel-indicator-transition: opacity 0.6s ease;\n    --carousel-caption-width: 70%;\n    --carousel-caption-color: var(--white);\n    --carousel-caption-padding-y: 1.25rem;\n    --carousel-caption-spacer: 1.25rem;\n    --carousel-control-icon-width: 2rem;\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n    --carousel-transition-duration: 0.6s;\n    --carousel-transition: transform 0.6s ease-in-out;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: var(--carousel-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s var(--carousel-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    transition: var(--carousel-control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: var(--carousel-control-color);\n    text-decoration: none;\n    outline: 0;\n    opacity: var(--carousel-control-hover-opacity);\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: var(--carousel-indicator-width);\n    height: var(--carousel-indicator-height);\n    padding: 0;\n    margin-inline: var(--carousel-indicator-spacer);\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n    opacity: var(--carousel-indicator-opacity);\n    transition: var(--carousel-indicator-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: var(--carousel-indicator-active-opacity);\n  }\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * 0.5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * 0.5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  @media (prefers-color-scheme: dark) {\n    :root {\n      --carousel-indicator-active-bg: #000;\n      --carousel-caption-color: #000;\n      --carousel-control-icon-filter: invert(1) grayscale(100);\n    }\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    border-radius: var(--datepicker-border-radius);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    pointer-events: none;\n  }\n  [data-vc-dates=row] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-backdrop-blur: 8px;\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    width: var(--dialog-width);\n    max-width: 100%;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    overflow: visible;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n    opacity: 0;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), display var(--dialog-transition-duration) allow-discrete, overlay var(--dialog-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog {\n      transition: none;\n    }\n  }\n  .dialog.dialog-slide-down {\n    transform: translateY(3rem);\n  }\n  .dialog.dialog-slide-up {\n    transform: translateY(-3rem);\n  }\n  .dialog[open] {\n    display: flex;\n    flex-direction: column;\n    overflow: visible;\n    opacity: 1;\n    transform: none;\n  }\n  .dialog::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n    transition: background-color var(--dialog-transition-duration) var(--dialog-transition-timing), backdrop-filter var(--dialog-transition-duration) var(--dialog-transition-timing), display var(--dialog-transition-duration) allow-discrete, overlay var(--dialog-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  @starting-style {\n    .dialog[open] {\n      opacity: 0;\n    }\n    .dialog.dialog-slide-down[open] {\n      opacity: 0;\n      transform: translateY(-3rem);\n    }\n    .dialog.dialog-slide-up[open] {\n      opacity: 0;\n      transform: translateY(3rem);\n    }\n    .dialog::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .sm-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .md-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .menu {\n    --menu-zindex: 1000;\n    --menu-gap: 0.125rem;\n    --menu-min-width: 10rem;\n    --menu-padding-x: 0.25rem;\n    --menu-padding-y: 0.25rem;\n    --menu-spacer: 0.125rem;\n    --menu-font-size: var(--font-size-sm);\n    --menu-color: var(--fg-body);\n    --menu-bg: var(--bg-body);\n    --menu-box-shadow: var(--box-shadow);\n    --menu-divider-bg: var(--border-color-translucent);\n    --menu-divider-margin-y: 0.125rem;\n    --menu-divider-margin-x: 0.25rem;\n    --menu-item-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-bg: var(--bg-1);\n    --menu-item-active-color: var(--primary-contrast);\n    --menu-item-active-bg: var(--primary-bg);\n    --menu-item-disabled-color: var(--fg-3);\n    --menu-item-gap: 0.5rem;\n    --menu-item-padding-x: 0.75rem;\n    --menu-item-padding-y: 0.25rem;\n    --menu-item-border-radius: var(--border-radius);\n    --menu-icon-size: 1rem;\n    --menu-image-size: 1.5rem;\n    --menu-description-font-size: var(--font-size-xs);\n    --menu-check-color: currentcolor;\n    --menu-header-color: var(--fg-3);\n    --menu-header-padding-x: 0.75rem;\n    --menu-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    border-radius: var(--menu-border-radius, var(--border-radius-lg));\n    box-shadow: var(--menu-box-shadow);\n  }\n  .menu.show {\n    display: flex;\n  }\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    border-radius: var(--menu-item-border-radius, 0);\n  }\n  .menu-item:hover, .menu-item:focus {\n    color: var(--theme-text, var(--menu-item-hover-color));\n    background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n  }\n  .menu-item.active, .menu-item:active {\n    color: var(--theme-contrast, var(--menu-item-active-color));\n    background-color: var(--theme-bg, var(--menu-item-active-bg));\n  }\n  .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n    color: inherit !important;\n  }\n  .menu-item.selected {\n    font-weight: 600;\n  }\n  .menu-item.disabled, .menu-item:disabled {\n    color: var(--menu-item-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: 0.125rem;\n  }\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    border-radius: var(--border-radius-sm);\n  }\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: 0.125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n  }\n  .selected > .menu-item-check {\n    visibility: visible;\n  }\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n  .submenu {\n    position: relative;\n  }\n  .submenu > .menu-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .submenu > .menu-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .submenu > .menu-item::after {\n    transform: rotate(135deg);\n  }\n  .submenu > .menu {\n    top: 0;\n    margin-top: calc(-1 * var(--menu-padding-y));\n  }\n  .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  .submenu.show > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      border-radius: 0;\n      box-shadow: none;\n    }\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n    }\n    .submenu-back::before {\n      display: inline-block;\n      flex-shrink: 0;\n      width: 0.375em;\n      height: 0.375em;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0.125em 0 0 0.125em;\n      transform: rotate(-45deg);\n    }\n    [dir=rtl] .submenu-back::before {\n      border-width: 0 0.125em 0.125em 0;\n    }\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: 0.3;\n    }\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--fg-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--fg-2);\n    --list-group-action-hover-color: var(--fg-1);\n    --list-group-action-hover-bg: var(--bg-1);\n    --list-group-action-active-color: var(--fg-body);\n    --list-group-action-active-bg: var(--bg-2);\n    --list-group-disabled-color: var(--fg-3);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n    text-decoration: none;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .sm\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-align: center;\n    --nav-link-justify: center;\n    --nav-link-padding-x: 0.75rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-transition-property: color, background-color, border-color;\n    --nav-link-transition-timing: 0.15s ease-in-out;\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    border-radius: var(--border-radius);\n    transition: var(--nav-link-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--fg-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-bottom-color: var(--nav-tabs-border-color);\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--fg-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0;\n  }\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n  .nav-overflow [data-bs-nav-overflow=true] {\n    display: none;\n  }\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg-body);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: var(--font-size-md);\n    --navbar-brand-font-weight: var(--font-weight-medium);\n    --navbar-brand-color: var(--fg-body);\n    --navbar-brand-hover-color: var(--fg-body);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-width: 2rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: var(--font-size-lg);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    container-type: inline-size;\n    color: var(--navbar-color, var(--fg-body));\n    background-color: var(--navbar-bg, var(--bg-body));\n  }\n  .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-gap: 0.25rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-padding-x: 0.5rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--navbar-color);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-hover-bg: transparent;\n    --nav-link-active-color: var(--navbar-active-color);\n    --nav-link-active-bg: transparent;\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n    border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n  }\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand [class*=offcanvas] {\n    position: static !important;\n    inset: auto !important;\n    z-index: auto;\n    display: flex !important;\n    flex-grow: 1;\n    width: auto !important;\n    max-width: none !important;\n    height: auto !important;\n    max-height: none !important;\n    padding: 0;\n    margin: 0;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand [class*=offcanvas] .offcanvas-header {\n    display: none !important;\n  }\n  .navbar-expand [class*=offcanvas] .offcanvas-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: row;\n    align-items: center;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:navbar-expand > .container,\n    .sm\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .sm\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .sm\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .sm\\:navbar-expand [class*=offcanvas] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .sm\\:navbar-expand [class*=offcanvas] .offcanvas-header {\n      display: none !important;\n    }\n    .sm\\:navbar-expand [class*=offcanvas] .offcanvas-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:navbar-expand > .container,\n    .md\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .md\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .md\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .md\\:navbar-expand [class*=offcanvas] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .md\\:navbar-expand [class*=offcanvas] .offcanvas-header {\n      display: none !important;\n    }\n    .md\\:navbar-expand [class*=offcanvas] .offcanvas-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:navbar-expand > .container,\n    .lg\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .lg\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .lg\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .lg\\:navbar-expand [class*=offcanvas] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .lg\\:navbar-expand [class*=offcanvas] .offcanvas-header {\n      display: none !important;\n    }\n    .lg\\:navbar-expand [class*=offcanvas] .offcanvas-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:navbar-expand > .container,\n    .xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .xl\\:navbar-expand [class*=offcanvas] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .xl\\:navbar-expand [class*=offcanvas] .offcanvas-header {\n      display: none !important;\n    }\n    .xl\\:navbar-expand [class*=offcanvas] .offcanvas-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:navbar-expand > .container,\n    .\\32 xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .\\32 xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand [class*=offcanvas] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .\\32 xl\\:navbar-expand [class*=offcanvas] .offcanvas-header {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand [class*=offcanvas] .offcanvas-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar [class*=offcanvas]:not([open]) {\n    transition: none !important;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar [class*=offcanvas]:not([open]) {\n      transition: none;\n    }\n  }\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n  }\n  .navbar-translucent::before {\n    position: absolute;\n    inset: 0;\n    z-index: -1;\n    content: \"\";\n    background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n    background-image: none;\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n    --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n    --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n    --navbar-active-color: var(--white);\n    --navbar-brand-color: var(--white);\n    --navbar-brand-hover-color: var(--white);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n  }\n}\n.offcanvas, .\\32 xl\\:offcanvas, .xl\\:offcanvas, .lg\\:offcanvas, .md\\:offcanvas, .sm\\:offcanvas {\n  --offcanvas-inset: var(--spacer);\n  --offcanvas-zindex: 1045;\n  --offcanvas-width: 400px;\n  --offcanvas-height: 30vh;\n  --offcanvas-padding-x: var(--spacer);\n  --offcanvas-padding-y: var(--spacer);\n  --offcanvas-color: var(--fg-body);\n  --offcanvas-bg: var(--bg-body);\n  --offcanvas-border-width: var(--border-width);\n  --offcanvas-border-color: var(--border-color-translucent);\n  --offcanvas-border-radius: var(--border-radius-lg);\n  --offcanvas-box-shadow: var(--box-shadow-lg);\n  --offcanvas-transition-duration: 0.3s;\n  --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n  --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .sm\\:offcanvas {\n      position: fixed;\n      inset: auto;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      outline: 0;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n      border-radius: var(--offcanvas-border-radius);\n      box-shadow: var(--offcanvas-box-shadow);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .sm\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas[open] {\n      visibility: visible;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:offcanvas[open] {\n      transition: none;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:offcanvas {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .sm\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:offcanvas {\n      position: fixed;\n      inset: auto;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      outline: 0;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n      border-radius: var(--offcanvas-border-radius);\n      box-shadow: var(--offcanvas-box-shadow);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas[open] {\n      visibility: visible;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:offcanvas[open] {\n      transition: none;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:offcanvas {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .md\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:offcanvas {\n      position: fixed;\n      inset: auto;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      outline: 0;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n      border-radius: var(--offcanvas-border-radius);\n      box-shadow: var(--offcanvas-box-shadow);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas[open] {\n      visibility: visible;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:offcanvas[open] {\n      transition: none;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:offcanvas {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .lg\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:offcanvas {\n      position: fixed;\n      inset: auto;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      outline: 0;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n      border-radius: var(--offcanvas-border-radius);\n      box-shadow: var(--offcanvas-box-shadow);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas[open] {\n      visibility: visible;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:offcanvas[open] {\n      transition: none;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:offcanvas {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .xl\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:offcanvas {\n      position: fixed;\n      inset: auto;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      outline: 0;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n      border-radius: var(--offcanvas-border-radius);\n      box-shadow: var(--offcanvas-box-shadow);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas[open] {\n      visibility: visible;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:offcanvas[open] {\n      transition: none;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:offcanvas {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:offcanvas {\n      transition: none;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .\\32 xl\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    inset: auto;\n    z-index: var(--offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    width: auto;\n    max-width: calc(100% - var(--offcanvas-inset) * 2);\n    height: auto;\n    max-height: calc(100% - var(--offcanvas-inset) * 2);\n    padding: 0;\n    margin: 0;\n    color: var(--offcanvas-color);\n    visibility: hidden;\n    background-color: var(--offcanvas-bg);\n    background-clip: padding-box;\n    border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    outline: 0;\n    transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas {\n    border-radius: var(--offcanvas-border-radius);\n    box-shadow: var(--offcanvas-box-shadow);\n  }\n  .offcanvas:where(.offcanvas-start) {\n    inset-block: var(--offcanvas-inset);\n    inset-inline-start: var(--offcanvas-inset);\n    width: var(--offcanvas-width);\n    transform: translateX(calc(-100% - var(--offcanvas-inset)));\n  }\n  :root:dir(rtl) .offcanvas:where(.offcanvas-start) {\n    transform: translateX(calc(100% + var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-end) {\n    inset-block: var(--offcanvas-inset);\n    inset-inline-end: var(--offcanvas-inset);\n    width: var(--offcanvas-width);\n    transform: translateX(calc(100% + var(--offcanvas-inset)));\n  }\n  :root:dir(rtl) .offcanvas:where(.offcanvas-end) {\n    transform: translateX(calc(-100% - var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-top) {\n    inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n    height: var(--offcanvas-height);\n    transform: translateY(calc(-100% - var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-bottom) {\n    inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n    height: var(--offcanvas-height);\n    transform: translateY(calc(100% + var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-fullscreen) {\n    inset: var(--offcanvas-inset);\n    width: auto;\n    max-width: none;\n    height: auto;\n    max-height: none;\n    transform: translateY(calc(100% + var(--offcanvas-inset)));\n  }\n  .offcanvas[open] {\n    visibility: visible;\n    transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas[open] {\n      transition: none;\n    }\n  }\n  .offcanvas[open] {\n    transform: none;\n  }\n  .sm\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .sm\\:offcanvas::backdrop {\n      transition: none;\n    }\n  }\n  .md\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .md\\:offcanvas::backdrop {\n      transition: none;\n    }\n  }\n  .lg\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .lg\\:offcanvas::backdrop {\n      transition: none;\n    }\n  }\n  .xl\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .xl\\:offcanvas::backdrop {\n      transition: none;\n    }\n  }\n  .\\32 xl\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:offcanvas::backdrop {\n      transition: none;\n    }\n  }\n  .offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas::backdrop {\n      transition: none;\n    }\n  }\n  @starting-style {\n    .sm\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .md\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .lg\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .xl\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .\\32 xl\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .offcanvas-static {\n    transform: scale(1.02);\n  }\n  .offcanvas-translucent {\n    background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    gap: var(--offcanvas-padding-y);\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n  .offcanvas-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n  }\n  .offcanvas-fit-content {\n    inset-block-end: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-min-height: var(--btn-input-min-height);\n    --pagination-padding-x: var(--btn-input-padding-x);\n    --pagination-padding-y: var(--btn-input-padding-y);\n    --pagination-font-size: var(--btn-input-font-size);\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--btn-input-border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--bg-1);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--bg-2);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--fg-3);\n    --pagination-disabled-bg: var(--bg-2);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--pagination-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-sm {\n    --pagination-min-height: var(--bs-btn-input-sm-min-height);\n    --pagination-padding-y: var(--btn-input-sm-padding-y);\n    --pagination-padding-x: var(--btn-input-sm-padding-x);\n    --pagination-font-size: var(--btn-input-sm-font-size);\n    --pagination-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .pagination-lg {\n    --pagination-min-height: var(--bs-btn-input-lg-min-height);\n    --pagination-padding-y: var(--btn-input-lg-padding-y);\n    --pagination-padding-x: var(--btn-input-lg-padding-x);\n    --pagination-font-size: var(--btn-input-lg-font-size);\n    --pagination-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer components {\n  .placeholder {\n    --placeholder-opacity-max: 0.5;\n    --placeholder-opacity-min: 0.2;\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: var(--font-size-sm);\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--fg-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: var(--font-size-sm);\n    --progress-bg: var(--bg-2);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: var(--white);\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: var(--progress-bar-animation);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .stepper {\n    --stepper-size: 2rem;\n    --stepper-gap: 1rem;\n    --stepper-font-size: var(--font-size-sm);\n    --stepper-text-gap: 0.5rem;\n    --stepper-track-size: 0.125rem;\n    --stepper-bg: var(--bg-2);\n    --stepper-active-color: var(--primary-contrast);\n    --stepper-active-bg: var(--primary-bg);\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n  }\n  .stepper-item::before {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--stepper-size);\n    height: var(--stepper-size);\n    padding: 0.5rem;\n    font-size: var(--stepper-font-size);\n    font-weight: 600;\n    line-height: 1;\n    text-align: center;\n    content: counter(stepper);\n    counter-increment: stepper;\n    background-color: var(--stepper-bg);\n    border-radius: 50%;\n  }\n  .stepper-item::after {\n    position: absolute;\n    inset-block-start: 50%;\n    inset-block-end: 100%;\n    inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    width: var(--stepper-track-size);\n    height: calc(100% + var(--stepper-gap));\n    content: \"\";\n    background-color: var(--stepper-bg);\n  }\n  .stepper-item:last-child::after {\n    display: none;\n  }\n  .stepper-item.active::before, .stepper-item.active::after {\n    color: var(--theme-contrast, var(--stepper-active-color));\n    background-color: var(--theme-bg, var(--stepper-active-bg));\n  }\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n  .stepper-horizontal {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n  }\n  .stepper-horizontal .stepper-item::after {\n    inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    inset-block-end: auto;\n    inset-inline-start: 50%;\n    inset-inline-end: 100%;\n    width: calc(100% + var(--stepper-gap));\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal .stepper-item:last-child::after {\n    right: 100%;\n  }\n  @container (width >= 576px) {\n    .sm\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .sm\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .sm\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .sm\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .md\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .md\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .md\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .lg\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .lg\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .lg\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n  }\n  .stepper-overflow > .stepper {\n    width: max-content;\n    min-width: 100%;\n  }\n}\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 1rem;\n    --toast-padding-y: 0.75rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: var(--font-size-sm);\n    --toast-bg: var(--bg-body);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--fg-3);\n    --toast-header-bg: var(--bg-1);\n    --toast-header-border-color: var(--border-color-translucent);\n    display: flex;\n    flex-direction: column;\n    width: var(--toast-max-width);\n    max-width: 100%;\n    overflow: hidden;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color, var(--fg-body));\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius, var(--border-radius-lg));\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--theme-text-emphasis, var(--toast-header-color));\n    background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n    border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: calc(0.5 * var(--toast-padding-x));\n    margin-inline-end: calc(-0.25 * var(--toast-padding-x));\n    color: inherit;\n  }\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 1rem;\n    }\n    .sm\\:m-4 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-5 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 1rem;\n    }\n    .sm\\:p-4 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-5 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 1rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-5 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 1rem;\n    }\n    .md\\:m-4 {\n      margin: 1.5rem;\n    }\n    .md\\:m-5 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 1rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-5 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 1rem;\n    }\n    .md\\:p-4 {\n      padding: 1.5rem;\n    }\n    .md\\:p-5 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 1rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-5 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 1rem;\n    }\n    .md\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-5 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 1rem;\n    }\n    .lg\\:m-4 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-5 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 1rem;\n    }\n    .lg\\:p-4 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-5 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 1rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-5 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 1rem;\n    }\n    .xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-5 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 1rem;\n    }\n    .xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-5 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n  (\n    --blockquote-gap: calc(var(--spacer) / 2),\n    --blockquote-padding-x: var(--spacer),\n    --blockquote-margin-y: 1rem,\n    --blockquote-font-size: var(--font-size-md),\n    --blockquote-border-width: .25rem,\n    --blockquote-border-color: var(--border-color),\n    --blockquote-footer-font-size: var(--font-size-sm),\n    --blockquote-footer-color: var(--fg-3),\n  ),\n  $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n    }\n  }\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    @include tokens($blockquote-tokens);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n    > * {\n      margin-bottom: 0;\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  figure.blockquote {\n    blockquote {\n      margin-bottom: 0;\n    }\n  }\n\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n  (\n    --table-cell-padding-y: .5rem,\n    --table-cell-padding-x: .5rem,\n    --table-cell-vertical-align: top,\n    --table-color: var(--fg-body),\n    --table-bg: var(--bg-body),\n    --table-accent-bg: transparent,\n    --table-border-width: var(--border-width),\n    --table-border-color: var(--border-color),\n    --table-group-separator-color: currentcolor,\n    --table-striped-color: var(--table-color),\n    --table-striped-bg-factor: .05,\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n    --table-active-color: var(--table-color),\n    --table-active-bg-factor: .1,\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n    --table-hover-color: var(--table-color),\n    --table-hover-bg-factor: .075,\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n  ),\n  $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    @include tokens($table-tokens);\n\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: var(--table-border-width);\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      --table-cell-padding-y: .25rem;\n      --table-cell-padding-x: .25rem;\n    }\n  }\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: var(--table-border-width) 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 var(--table-border-width);\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of responsive `.table-responsive` classes for configuring\n  // the screen size of where your table will overflow.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .#{$prefix}table-responsive {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n  (\n    --thumbnail-padding: .25rem,\n    --thumbnail-bg: var(--bg-body),\n    --thumbnail-border-width: var(--border-width),\n    --thumbnail-border-color: var(--border-color),\n    --thumbnail-border-radius: var(--border-radius),\n    --thumbnail-box-shadow: var(--box-shadow-sm),\n  ),\n  $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n  (\n    --figure-gap: calc(var(--spacer) * .5),\n    --figure-caption-font-size: var(--font-size-sm),\n    --figure-caption-color: var(--fg-3),\n  ),\n  $figure-tokens\n);\n// scss-docs-end figure-tokens\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n  .img-thumbnail {\n    @include tokens($thumbnail-tokens);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    @include border-radius(var(--thumbnail-border-radius));\n    @include box-shadow(var(--thumbnail-box-shadow));\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  .figure {\n    @include tokens($figure-tokens);\n    // Ensures the caption's text aligns with the image.\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n  (\n    --content-font-size: 1rem,\n    --content-gap: 20px,\n    --heading-color: light-dark(var(--gray-900), var(--white)),\n  ),\n  $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n  .prose {\n    @include tokens($prose-tokens);\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    :where(hr):not(:where(.not-prose, .not-prose *)) {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n      margin-top: 0;\n      margin-bottom: calc(var(--content-gap) / -2);\n      font-weight: 500;\n      line-height: 1.25;\n\n      code {\n        font-weight: 600;\n        color: inherit;\n      }\n    }\n\n    :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .75);\n    }\n\n    :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .5);\n    }\n\n    :where(h1):not(:where(.not-prose, .not-prose *)) {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    :where(h2):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.75em;\n    }\n    :where(h3):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.5em;\n    }\n    :where(h4):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.25em;\n    }\n    :where(h5):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.125em;\n    }\n    :where(h6):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1em;\n    }\n\n    :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n\n      &:hover {\n        text-decoration-color: var(--link-hover-color);\n      }\n    }\n\n    :where(img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n\n    :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    :where(table):not(:where(.not-prose, .not-prose *)) {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    :where(dt):not(:where(.not-prose, .not-prose *)) {\n      font-weight: 500;\n    }\n\n    :where(video, img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n  (\n    --label-margin-bottom: calc(var(--spacer) / 2),\n    --label-font-size: null,\n    --label-font-style: null,\n    --label-font-weight: null,\n    --label-color: null,\n  ),\n  $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n\n  // For use with horizontal and inline forms, when you need the label (or legend)\n  // text to align with the form controls.\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0; // Override the `<legend>` default\n  }\n\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n  (\n    --form-text-margin-top: .25rem,\n    --form-text-font-size: var(--font-size-sm),\n    --form-text-font-style: null,\n    --form-text-font-weight: null,\n    --form-text-color: var(--fg-3),\n  ),\n  $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n  .form-text {\n    @include tokens($form-text-tokens);\n\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n  (\n    --control-min-height: var(--btn-input-min-height),\n    --control-padding-y: var(--btn-input-padding-y),\n    --control-padding-x: var(--btn-input-padding-x),\n    --control-font-size: var(--btn-input-font-size),\n    --control-line-height: var(--btn-input-line-height),\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n    --control-box-shadow: var(--box-shadow-inset),\n    --control-action-bg: var(--bg-1),\n    --control-action-hover-bg: var(--bg-2),\n    --control-transition-property: \"border-color, box-shadow\",\n    --control-transition-timing: .15s ease-in-out,\n    --control-transition: var(--control-transition-property) var(--control-transition-timing),\n    --control-placeholder-color: var(--fg-3),\n    --control-disabled-color: var(--control-fg),\n    --control-disabled-bg: var(--bg-2),\n    --control-disabled-border-color: var(--control-border-color),\n    --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n    --control-select-bg-position: right .75rem center,\n    --control-select-bg-size: 16px 12px,\n    --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n  ),\n  $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .form-control {\n    @include tokens($form-control-tokens);\n\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow(var(--control-box-shadow));\n    @include transition(var(--control-transition));\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      @include focus-ring(true);\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: var(--control-placeholder-color);\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: var(--control-disabled-color);\n      background-color: var(--control-disabled-bg);\n      border-color: var(--control-disabled-border-color);\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // Date and time inputs\n    // &::-webkit-date-and-time-value {\n    //   // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   //\n    //   // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n    //   // Tested under iOS 16.2 / Safari 16.2\n    //   min-width: 85px; // Seems to be a good minimum safe width\n\n    //   // Add some height to date inputs on iOS\n    //   // https://github.com/twbs/bootstrap/issues/23307\n    //   // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n    //   // Multiply line-height by 1em if it has no unit\n    //   height: 1.5em;\n\n    //   // Android Chrome type=\"date\" is taller than the other inputs\n    //   // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   margin: 0;\n    //   background-color: var(--red-500);\n    // }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n\n    // mdo-do: need to check this stuff out across browsers\n    &::-webkit-datetime-edit {\n      display: block;\n      height: 1.5rem;\n      padding: 0;\n      margin-bottom: -.125rem;\n    }\n    &::-webkit-datetime-edit-fields-wrapper {\n      height: 1.5rem;\n    }\n\n    // File inputs\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: var(--control-fg);\n      @include gradient-bg(var(--control-action-bg));\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition(var(--control-transition));\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: var(--control-action-hover-bg);\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n  }\n\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n  @each $size, $_ in $form-control-sizes {\n    .form-control-#{$size} {\n      --control-min-height: var(--btn-input-#{$size}-min-height);\n      --control-padding-y: var(--btn-input-#{$size}-padding-y);\n      --control-padding-x: var(--btn-input-#{$size}-padding-x);\n      --control-font-size: var(--btn-input-#{$size}-font-size);\n      --control-line-height: var(--btn-input-#{$size}-line-height);\n      --control-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n  (\n    --check-size: 1.25rem,\n    --check-margin-block: .125rem,\n    --check-bg: transparent,\n    --check-border-color: var(--border-color),\n    --check-border-radius: .375rem,\n    --check-checked-bg: var(--control-checked-bg),\n    --check-checked-border-color: var(--control-checked-border-color),\n    --check-indeterminate-bg: var(--control-checked-bg),\n    --check-indeterminate-border-color: var(--control-checked-border-color),\n    --check-active-bg: var(--control-active-bg),\n    --check-active-border-color: var(--control-active-border-color),\n    --check-disabled-bg: var(--control-disabled-bg),\n    --check-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .check {\n    @include tokens($check-tokens);\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: var(--check-size);\n      height: var(--check-size);\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .3em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--theme-contrast, var(--primary-contrast));\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--fg-3);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n  (\n    --radio-size: 1.25rem,\n    --radio-margin-block: .125rem,\n    --radio-bg: transparent,\n    --radio-border-color: var(--border-color),\n    --radio-checked-bg: var(--control-checked-bg),\n    --radio-checked-border-color: var(--control-checked-border-color),\n    --radio-disabled-bg: var(--control-disabled-bg),\n    --radio-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .radio {\n    @include tokens($radio-tokens);\n\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n  }\n\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n  (\n    --switch-height: 1.25rem,\n    --switch-width: calc(var(--switch-height) * 1.5),\n    --switch-padding: .0625rem,\n    --switch-margin-block: .125rem,\n    --switch-bg: var(--bg-3),\n    --switch-border-width: var(--border-width),\n    --switch-border-color: var(--border-color),\n    --switch-indicator-bg: var(--white),\n    --switch-checked-bg: var(--control-checked-bg),\n    --switch-checked-border-color: var(--switch-checked-bg),\n    --switch-checked-indicator-bg: var(--white),\n    --switch-disabled-bg: var(--control-disabled-bg),\n    --switch-disabled-indicator-bg: var(--fg-3),\n  ),\n  $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .switch {\n    @include tokens($switch-tokens);\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--theme-contrast, var(--switch-indicator-bg));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n  (\n    --range-track-width: 100%,\n    --range-track-height: .5rem,\n    --range-track-cursor: pointer,\n    --range-track-bg: var(--bg-3),\n    --range-track-border-radius: 1rem,\n    --range-track-box-shadow: var(--box-shadow-inset),\n    --range-thumb-width: 1rem,\n    --range-thumb-height: var(--range-thumb-width),\n    --range-thumb-bg: var(--primary-base),\n    --range-thumb-border: 0,\n    --range-thumb-border-radius: 1rem,\n    --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n    --range-thumb-disabled-bg: var(--fg-3),\n    --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n    --range-thumb-transition-timing: .15s ease-in-out,\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n  ),\n  $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n  width: var(--range-thumb-width);\n  height: var(--range-thumb-height);\n  appearance: none;\n  @include gradient-bg(var(--range-thumb-bg));\n  border: var(--range-thumb-border);\n  @include border-radius(var(--range-thumb-border-radius));\n  @include box-shadow(var(--range-thumb-box-shadow));\n  @include transition(var(--range-thumb-transition));\n\n  &:active {\n    @include gradient-bg(var(--range-thumb-active-bg));\n  }\n}\n\n@mixin range-track() {\n  width: var(--range-track-width);\n  height: var(--range-track-height);\n  color: transparent; // Why?\n  cursor: var(--range-track-cursor);\n  background-color: var(--range-track-bg);\n  border-color: transparent; // Firefox specific?\n  @include border-radius(var(--range-track-border-radius));\n  @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n  .form-range {\n    @include tokens($range-tokens);\n\n    width: 100%;\n    height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      @include range-thumb();\n      margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n    }\n\n    &::-moz-range-thumb {\n      @include range-thumb();\n    }\n\n    &::-webkit-slider-runnable-track {\n      @include range-track();\n    }\n\n    &::-moz-range-track {\n      @include range-track();\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n\n      &::-moz-range-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n  (\n    --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n    --form-floating-line-height: 1.25,\n    --form-floating-padding-x: var(--btn-input-padding-x),\n    --form-floating-padding-y: 1rem,\n    --form-floating-input-padding-t: 1.625rem,\n    --form-floating-input-padding-b: .625rem,\n    --form-floating-label-height: 1.5em,\n    --form-floating-label-opacity: .65,\n    --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n    --form-floating-label-disabled-color: var(--fg-3),\n    --form-floating-transition-property: \"opacity, transform\",\n    --form-floating-transition-timing: .1s ease-in-out,\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n  ),\n  $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n  .form-floating {\n    @include tokens($form-floating-tokens);\n\n    position: relative;\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      display: flex;\n      align-items: center;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      overflow: hidden;\n      color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: var(--input-btn-border-width) solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition(var(--form-floating-transition));\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      height: var(--form-floating-height);\n      min-height: var(--form-floating-height);\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      line-height: var(--form-floating-line-height);\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n        z-index: -1;\n        height: var(--form-floating-label-height);\n        content: \"\";\n        background-color: var(--control-bg);\n        @include border-radius(var(--btn-input-border-radius));\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: var(--control-disabled-bg);\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: var(--control-border-width) 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: var(--form-floating-label-disabled-color);\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n  (\n    --input-group-addon-padding-y: var(--btn-input-padding-y),\n    --input-group-addon-padding-x: var(--btn-input-padding-x),\n    --input-group-addon-font-size: var(--btn-input-font-size),\n    --input-group-addon-line-height: var(--btn-input-line-height),\n    --input-group-addon-color: var(--fg-body),\n    --input-group-addon-bg: var(--bg-2),\n    --input-group-addon-border-color: var(--border-color),\n  ),\n  $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n  .input-group {\n    @include tokens($input-group-addon-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    > .input-group-btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size); // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    @include border-radius(var(--btn-input-border-radius));\n  }\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  @each $size, $_ in $input-group-sizes {\n    .input-group-#{$size} {\n      > .form-control,\n      > .input-group-text,\n      > .btn {\n        min-height: var(--btn-input-#{$size}-min-height);\n        padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n        font-size: var(--btn-input-#{$size}-font-size);\n        @include border-radius(var(--btn-input-#{$size}-border-radius));\n      }\n    }\n  }\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * var(--border-width));\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n  (\n    --strength-height: .375rem,\n    --strength-gap: .25rem,\n    --strength-margin-top: .25rem,\n    --strength-border-radius: var(--border-radius-pill),\n    --strength-bg: var(--bg-2),\n    --strength-color: var(--bg-2),\n    --strength-weak-color: var(--danger-bg),\n    --strength-fair-color: var(--warning-bg),\n    --strength-good-color: var(--info-bg),\n    --strength-strong-color: var(--success-bg),\n  ),\n  $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    @include tokens($strength-tokens);\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  @each $level in $strength-levels {\n    .strength[data-bs-strength=\"#{$level}\"] {\n      --strength-color: var(--strength-#{$level}-color);\n    }\n  }\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    @include tokens($strength-tokens);\n\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    @each $level in $strength-levels {\n      &[data-bs-strength=\"#{$level}\"] {\n        --strength-color: var(--strength-#{$level}-color);\n        --strength-width: #{list.index($strength-levels, $level) * 25%};\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n  (\n    --otp-size: var(--btn-input-lg-min-height),\n    --otp-font-size: var(--btn-input-font-size),\n    --otp-gap: .5rem,\n  ),\n  $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n  .otp {\n    @include tokens($otp-tokens);\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n      @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  @each $size, $_ in $otp-sizes {\n    .otp-#{$size} {\n      --otp-size: var(--btn-input-#{$size}-min-height);\n      --otp-font-size: var(--btn-input-#{$size}-font-size);\n      --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n  (\n    --form-adorn-gap: .375rem,\n    --form-adorn-icon-size: 1rem,\n    --form-adorn-icon-color: var(--fg-2),\n  ),\n  $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n  .form-adorn {\n    @include tokens($form-adorn-tokens);\n\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Prevent default `.form-control` focus\n    &:focus-visible {\n      outline: 0;\n    }\n\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n  (\n    --chip-input-padding-y: .75rem,\n    --chip-input-padding-x: .75rem,\n    --chip-input-gap: .375rem,\n    --chip-input-ghost-min-width: 5rem,\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n  ),\n  $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n  .chip-input {\n    @include tokens($chip-input-tokens);\n\n    // Flexbox wrapping layout\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1 1 0;\n      min-width: var(--chip-input-ghost-min-width);\n      min-height: 1.75rem;\n    }\n\n    // Disabled state\n    &.disabled,\n    &:has(.form-ghost:disabled) {\n      background-color: var(--bg-2);\n      opacity: 1;\n\n      > .chip {\n        opacity: var(--control-disabled-opacity);\n\n        .chip-dismiss {\n          pointer-events: none;\n        }\n      }\n\n      > .form-ghost {\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Theme cascade: .chip-input.theme-* passes theme to child chips\n  // Chips inherit theme variables from parent\n  // @each $color-name, $theme-props in $theme-map {\n  //   .chip-input.theme-#{$color-name} > .chip {\n  //     // Subtle default state\n  //     --chip-color: var(--theme-text);\n  //     --chip-bg: var(--theme-bg-subtle);\n\n  //     // Selected/active solid state\n  //     --chip-selected-color: var(--theme-contrast);\n  //     --chip-selected-bg: var(--theme-bg);\n  //     --chip-selected-border-color: var(--theme-bg);\n  //   }\n  // }\n\n  // // Sizing variants\n  // .chip-input-sm {\n  //   --control-min-height: #{$control-min-height-sm};\n  //   --control-padding-y: #{$control-padding-y-sm};\n  //   --control-padding-x: #{$control-padding-x-sm};\n  //   --control-font-size: #{$control-font-size-sm};\n  //   --control-line-height: #{$control-line-height-sm};\n  //   --control-border-radius: #{$control-border-radius-sm};\n  //   --chip-input-gap: .25rem;\n  //   --chip-input-chip-font-size: .8125em;\n  // }\n\n  // .chip-input-lg {\n  //   --control-min-height: #{$control-min-height-lg};\n  //   --control-padding-y: #{$control-padding-y-lg};\n  //   --control-padding-x: #{$control-padding-x-lg};\n  //   --control-font-size: #{$control-font-size-lg};\n  //   --control-line-height: #{$control-line-height-lg};\n  //   --control-border-radius: #{$control-border-radius-lg};\n  //   --chip-input-gap: .5rem;\n  //   --chip-input-chip-font-size: .9375em;\n  // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: .5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n\n    &.show {\n      background-color: var(--bg-1);\n    }\n\n    &:disabled,\n    &.disabled {\n      cursor: not-allowed;\n      opacity: .65;\n    }\n  }\n\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: .5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .combobox-caret {\n    flex-shrink: 0;\n    @include transition(transform .2s ease-in-out);\n\n    .show > & {\n      transform: rotate(180deg);\n    }\n  }\n\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, .25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n\n  .combobox-search-input {\n    width: 100%;\n  }\n\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n  (\n    --tooltip-zindex: #{$zindex-tooltip},\n    --tooltip-max-width: 200px,\n    --tooltip-padding-x: #{$spacer * .75},\n    --tooltip-padding-y: #{$spacer * .375},\n    --tooltip-font-size: var(--font-size-sm),\n    --tooltip-color: var(--bg-body),\n    --tooltip-bg: var(--fg-body),\n    --tooltip-border-radius: var(--border-radius),\n    --tooltip-opacity: .95,\n    --tooltip-arrow-width: .8rem,\n    --tooltip-arrow-height: .4rem,\n  ),\n  $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x:     var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size:     var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n  .tooltip {\n    @include tokens($tooltip-tokens);\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@mixin reset-text {\n  font-family: var(--body-font-family);\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: var(--body-font-weight);\n  line-height: var(--body-line-height);\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-ring-color: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: calc(var(--control-padding-x) * 3.5);\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right var(--control-padding-x) center;\n        background-size: 1rem;\n      }\n\n      &:focus-visible {\n        @include focus-ring(true, $color: $focus-ring-color);\n        border-color: $border-color;\n      }\n    }\n\n    &::-webkit-contacts-auto-fill-button {\n      @if $enable-validation-icons {\n        // margin-inline-end: calc(var(--control-padding-x) * 3);\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // padding-inline-end: $input-height-inner;\n        background-position: right var(--control-padding-x) top var(--control-padding-x);\n        // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // width: calc($form-color-width + $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        // box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           var(--font-size-xs) !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success-text) !default;\n$form-feedback-invalid-color:       var(--danger-text) !default;\n\n$form-feedback-icon-valid-color:    #00a748 !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  #dd0d37 !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": var(--success-contrast),\n    \"tooltip-bg-color\": var(--success-bg),\n    \"focus-ring-color\": var(--success-focus-ring),\n    \"border-color\": var(--success-border),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": var(--danger-contrast),\n    \"tooltip-bg-color\": var(--danger-bg),\n    \"focus-ring-color\": var(--danger-focus-ring),\n    \"border-color\": var(--danger-border),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n  (\n    --btn-min-height: var(--btn-input-min-height),\n    --btn-padding-x: var(--btn-input-padding-x),\n    --btn-padding-y: var(--btn-input-padding-y),\n    --btn-font-size: var(--btn-input-font-size),\n    --btn-font-weight: var(--btn-input-font-weight),\n    --btn-line-height: var(--btn-input-line-height),\n    --btn-color: var(--fg-body),\n    --btn-white-space: nowrap,\n    --btn-border-width: var(--border-width),\n    --btn-border-color: transparent,\n    --btn-border-radius: var(--border-radius),\n    --btn-hover-border-color: transparent,\n    --btn-disabled-opacity: .65,\n    --btn-transition-timing: .15s ease-in-out,\n    --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n  ),\n  $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n  (\n    --btn-font-weight: var(--font-weight-normal),\n    --btn-color: var(--link-color),\n    --btn-bg: transparent,\n    --btn-border-color: transparent,\n    --btn-hover-color: var(--link-hover-color),\n    --btn-hover-bg: transparent,\n    --btn-hover-border-color: transparent,\n    --btn-active-color: var(--link-hover-color),\n    --btn-active-bg: transparent,\n    --btn-active-border-color: transparent,\n    --btn-disabled-color: var(--fg-3),\n    --btn-disabled-border-color: transparent,\n  ),\n  $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n  (\n    --btn-gradient-start: rgb(255 255 255 / 12.5%),\n    --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n    --btn-border-mix-color: #000,\n    --btn-border-mix-amount: 10%,\n    --btn-border-hover-mix-amount: 12.5%,\n    --btn-border-active-mix-amount: 20%,\n    --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n  ),\n  $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n  (\"xs\", \"sm\", \"lg\"),\n  $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n  (\n    \"solid\": (\n      \"base\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      )\n    ),\n    \"outline\": (\n      \"base\": (\n        \"bg\": \"transparent\",\n        \"color\": \"text\",\n        \"border-color\": \"border\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      )\n    ),\n    \"subtle\": (\n      \"base\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"bg\": (\"bg-muted\", \"bg-subtle\"),\n        \"color\": \"text-emphasis\"\n      ),\n      \"active\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text-emphasis\"\n      )\n    ),\n    \"text\": (\n      \"base\": (\n        \"color\": \"text\",\n        \"bg\": \"transparent\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      ),\n      \"active\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      )\n    )\n  ),\n  $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n  #{$btn-variant-selectors} {\n    @include tokens($button-tokens);\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition(var(--btn-transition));\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $config in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    @include tokens($button-link-tokens);\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n\n  // scss-docs-start btn-sizes-loop\n  @each $size, $_ in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: var(--btn-input-#{$size}-min-height);\n      --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n      --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n      --btn-font-size: var(--btn-input-#{$size}-font-size);\n      --btn-line-height: var(--btn-input-#{$size}-line-height);\n      --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end btn-sizes-loop\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    @include tokens($button-styled-tokens);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius(var(--btn-border-radius));\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n  (\n    --btn-close-size: 1.25rem,\n    --btn-close-color: inherit,\n    --btn-close-opacity: .5,\n    --btn-close-hover-opacity: .75,\n    --btn-close-focus-opacity: .85,\n    --btn-close-disabled-opacity: .25,\n  ),\n  $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    @include tokens($btn-close-tokens);\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent; // for button elements\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus-visible {\n      opacity: var(--btn-close-focus-opacity);\n      @include focus-ring();\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n  (\n    --accordion-padding-x: 1.25rem,\n    --accordion-padding-y: 1rem,\n    --accordion-color: var(--fg-body),\n    --accordion-bg: var(--bg-body),\n    --accordion-transition-property: \"color, background-color, border-radius\",\n    --accordion-transition-timing: \".15s ease-in-out\",\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n    --accordion-border-color: var(--border-color),\n    --accordion-border-width: var(--border-width),\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n    --accordion-btn-color: var(--fg-2),\n    --accordion-btn-bg: var(--bg-body),\n    --accordion-btn-icon-width: 1rem,\n    --accordion-btn-icon-transform: rotate(-180deg),\n    --accordion-btn-icon-transition: transform .2s ease-in-out,\n    --accordion-active-color: var(--fg),\n    --accordion-active-bg: var(--bg-2),\n  ),\n  $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n  .accordion {\n    @include tokens($accordion-tokens);\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    @include transition(var(--accordion-transition));\n\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n  (\n    --alert-gap: #{$spacer * .75},\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n    --alert-padding-x: #{$spacer},\n    --alert-padding-y: #{$spacer},\n    --alert-color: var(--theme-text, inherit),\n    --alert-border-color: var(--theme-border, var(--border-color)),\n    --alert-border: var(--border-width) solid var(--alert-border-color),\n    --alert-border-radius: var(--border-radius),\n    --alert-link-color: inherit,\n    --hr-border-color: var(--theme-border, var(--border-color)),\n  ),\n  $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n  .alert {\n    @include tokens($alert-tokens);\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert > p {\n    margin-bottom: 0;\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n  (\n    --avatar-size: 2.5rem,\n    --avatar-border-radius: 50%,\n    --avatar-border-width: 2px,\n    --avatar-border-color: var(--bg-body),\n    --avatar-bg: var(--bg-2),\n    --avatar-color: var(--fg-body),\n    // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n    --avatar-status-size: .75rem,\n    --avatar-status-border-width: 2px,\n    --avatar-status-border-color: var(--bg-body),\n    --avatar-stack-spacing: -.3,\n    --avatar-stack-transition: \"transform .2s ease-in-out\",\n  ),\n  $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n  (\n    \"xs\": (\n      size: 1.5rem,\n      status-size: .625rem,\n    ),\n    \"sm\": (\n      size: 2rem,\n    ),\n    \"lg\": (\n      size: 3rem,\n      status-size: 1rem,\n    ),\n    \"xl\": (\n      size: 4rem,\n      status-size: 1.25rem,\n    ),\n  ),\n  $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n  .avatar {\n    @include tokens($avatar-tokens);\n\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * .4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    @include border-radius(var(--avatar-border-radius));\n  }\n\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    @include border-radius(inherit);\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    @include border-radius(50%);\n\n    &.status-online {\n      background-color: var(--green-500);\n    }\n\n    &.status-offline {\n      background-color: var(--gray-400);\n      @include border-radius(20%);\n    }\n\n    &.status-busy {\n      background-color: var(--red-500);\n      @include border-radius(20%);\n    }\n\n    &.status-away {\n      background-color: var(--yellow-500);\n    }\n  }\n\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n\n    .avatar {\n      // Stack spacing is calculated as a percentage of avatar size\n      margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n      border: var(--avatar-border-width) solid var(--avatar-border-color);\n      mask-image: none;\n      @include transition(var(--avatar-stack-transition));\n\n      &:last-child {\n        margin-left: 0;\n      }\n\n      &:hover {\n        z-index: 1;\n        transform: translateY(-2px);\n      }\n    }\n  }\n\n  @each $size, $tokens in $avatar-sizes {\n    .avatar-#{$size},\n    .avatar-stack-#{$size} {\n      --avatar-size: #{map.get($tokens, size)};\n\n      @if map.has-key($tokens, status-size) {\n        --avatar-status-size: #{map.get($tokens, status-size)};\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n  (\n    --badge-padding-x: .625em,\n    --badge-padding-y: .25em,\n    --badge-font-size: clamp(12px, .75em, .75em),\n    --badge-font-weight: var(--font-weight-semibold),\n    --badge-color: inherit,\n    --badge-bg: var(--bg-2),\n    --badge-border-width: var(--border-width),\n    --badge-border-color: transparent,\n    --badge-border-radius: var(--border-radius-lg),\n  ),\n  $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    @include tokens($badge-tokens);\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n  (\n    --breadcrumb-margin-bottom: 1rem,\n    --breadcrumb-font-size: inherit,\n    --breadcrumb-bg: transparent,\n    --breadcrumb-border-radius: var(--border-radius),\n    --breadcrumb-divider-color: var(--fg-4),\n    --breadcrumb-link-padding-x: .75rem,\n    --breadcrumb-link-padding-y: .25rem,\n    --breadcrumb-link-color: var(--fg-3),\n    --breadcrumb-link-hover-color: var(--fg-2),\n    --breadcrumb-link-hover-bg: var(--bg-1),\n    --breadcrumb-link-active-color: var(--fg-1),\n    --breadcrumb-link-border-radius: var(--border-radius-lg),\n  ),\n  $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n  .breadcrumb {\n    @include tokens($breadcrumb-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n  (\n    --chip-height: 1.75rem,\n    --chip-padding-x: .625rem,\n    --chip-gap: .3125rem,\n    --chip-border-radius: var(--border-radius-pill),\n    --chip-img-size: 1.25rem,\n    --chip-icon-size: 1rem,\n    --chip-dismiss-size: 1rem,\n    --chip-dismiss-opacity: .65,\n    --chip-dismiss-hover-opacity: 1,\n    --chip-color: var(--theme-text, var(--fg-body)),\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n    --chip-border-color: transparent,\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n  ),\n  $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .chip {\n    @include tokens($chip-tokens);\n\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    @include border-radius(var(--chip-border-radius));\n\n    &:hover {\n      --chip-bg: var(--theme-bg-muted, var(--bg-3));\n    }\n\n    &:focus-visible {\n      outline: 0;\n      // @include focus-ring();\n    }\n\n    &.active {\n      --chip-color: var(--chip-selected-color);\n      --chip-bg: var(--chip-selected-bg);\n      --chip-border-color: var(--chip-selected-border-color);\n\n      &:hover {\n        --chip-bg: var(--chip-selected-bg);\n        opacity: .9;\n      }\n    }\n\n    &.disabled,\n    &:disabled {\n      pointer-events: none;\n      opacity: .65;\n    }\n  }\n\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    @include border-radius(50%);\n\n    &:first-child {\n      margin-inline-start: -.375rem;\n    }\n  }\n\n  // Chip icon (left side)\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -.25);\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n    }\n\n    > img {\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n      object-fit: cover;\n      @include border-radius(50%);\n    }\n  }\n\n  // Dismiss button (right side)\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n    margin-inline-end: calc(var(--chip-padding-x) * -.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n    // @include transition(opacity .15s ease-in-out);\n\n    &:hover {\n      opacity: var(--chip-dismiss-hover-opacity);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      opacity: 1;\n      @include focus-ring();\n    }\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-dismiss-size);\n      height: var(--chip-dismiss-size);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n  (\n    --card-spacer-y: #{$spacer},\n    --card-spacer-x: #{$spacer},\n    --card-subtitle-color: inherit,\n    --card-border-width: var(--border-width),\n    --card-border-color: var(--border-color-translucent),\n    --card-border-radius: var(--border-radius-lg),\n    --card-box-shadow: none,\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --card-cap-padding-y: #{$spacer * .75},\n    --card-cap-padding-x: #{$spacer},\n    --card-cap-bg: var(--bg-1),\n    --card-cap-color: inherit,\n    --card-height: auto,\n    --card-color: inherit,\n    --card-bg: var(--bg-body),\n    --card-img-overlay-padding: #{$spacer},\n    --card-group-margin: #{$grid-gutter-x * .5},\n    --card-body-gap: #{$spacer * .5},\n  ),\n  $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n  .card {\n    @include tokens($card-tokens);\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n\n    .card-header,\n    .card-footer {\n      background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n  (\n    --carousel-control-color: #{$white},\n    --carousel-control-width: 15%,\n    --carousel-control-opacity: .5,\n    --carousel-control-hover-opacity: .9,\n    --carousel-control-transition: opacity .15s ease,\n    --carousel-control-icon-filter: none,\n    --carousel-indicator-width: 30px,\n    --carousel-indicator-height: 3px,\n    --carousel-indicator-hit-area-height: 10px,\n    --carousel-indicator-spacer: 3px,\n    --carousel-indicator-opacity: .5,\n    --carousel-indicator-active-bg: var(--white),\n    --carousel-indicator-active-opacity: 1,\n    --carousel-indicator-transition: opacity .6s ease,\n    --carousel-caption-width: 70%,\n    --carousel-caption-color: var(--white),\n    --carousel-caption-padding-y: 1.25rem,\n    --carousel-caption-spacer: 1.25rem,\n    --carousel-control-icon-width: 2rem,\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n    --carousel-transition-duration: .6s,\n    --carousel-transition: transform .6s ease-in-out,\n  ),\n  $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n  (\n    --carousel-indicator-active-bg: #{$black},\n    --carousel-caption-color: #{$black},\n    --carousel-control-icon-filter: invert(1) grayscale(100),\n  ),\n  $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n    @include tokens($carousel-tokens);\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition(var(--carousel-transition));\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s var(--carousel-transition-duration));\n    }\n  }\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    @include transition(var(--carousel-control-transition));\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: var(--carousel-control-color);\n      text-decoration: none;\n      outline: 0;\n      opacity: var(--carousel-control-hover-opacity);\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: var(--carousel-indicator-width);\n      height: var(--carousel-indicator-height);\n      padding: 0;\n      margin-inline: var(--carousel-indicator-spacer);\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n      opacity: var(--carousel-indicator-opacity);\n      @include transition(var(--carousel-indicator-transition));\n    }\n\n    .active {\n      opacity: var(--carousel-indicator-active-opacity);\n    }\n  }\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * .5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * .5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    @include tokens($carousel-dark-tokens);\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n  (\n    --datepicker-padding: 1rem,\n    --datepicker-bg: var(--bg-body),\n    --datepicker-color: var(--fg-body),\n    --datepicker-border-color: var(--border-color-translucent),\n    --datepicker-border-width: var(--border-width),\n    --datepicker-border-radius: var(--border-radius-lg),\n    --datepicker-box-shadow: var(--box-shadow),\n    --datepicker-font-size: var(--font-size-sm),\n    --datepicker-min-width: 280px,\n    --datepicker-zindex: #{$zindex-menu},\n    --datepicker-header-font-weight: 600,\n    --datepicker-weekday-color: var(--fg-3),\n    --datepicker-day-hover-bg: var(--bg-1),\n    --datepicker-day-selected-bg: var(--primary-bg),\n    --datepicker-day-selected-color: var(--primary-contrast),\n    --datepicker-day-today-bg: var(--bg-2),\n    --datepicker-day-today-color: var(--fg-1),\n    --datepicker-day-disabled-color: var(--fg-4),\n  ),\n  $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    @include tokens($datepicker-tokens);\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    @include border-radius(var(--datepicker-border-radius));\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    pointer-events: none;\n  }\n\n  [data-vc-dates=\"row\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n  (\n    --dialog-padding: 1rem,\n    --dialog-width: 500px,\n    --dialog-margin: 1.75rem,\n    --dialog-color: var(--fg-body),\n    --dialog-bg: var(--bg-body),\n    --dialog-border-color: var(--border-color-translucent),\n    --dialog-border-width: var(--border-width),\n    --dialog-border-radius: var(--border-radius-lg),\n    --dialog-box-shadow: var(--box-shadow-lg),\n    --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n    --dialog-backdrop-blur: 8px,\n    --dialog-header-padding: 1rem,\n    --dialog-header-border-color: var(--border-color),\n    --dialog-header-border-width: var(--border-width),\n    --dialog-footer-padding: 1rem,\n    --dialog-footer-border-color: var(--border-color),\n    --dialog-footer-border-width: var(--border-width),\n    --dialog-footer-gap: .5rem,\n  ),\n  $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n  (\n    sm: 280px,\n    lg: 800px,\n    xl: 1140px,\n  ),\n  $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    @include tokens($dialog-tokens);\n\n    // Reset native dialog styles\n    width: var(--dialog-width);\n    max-width: 100%;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    overflow: visible;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Exit state: faded out\n    opacity: 0;\n\n    // Transitions on the base so they apply to both entry and exit.\n    // display/overlay use allow-discrete to keep the element visible\n    // and in the top layer throughout the exit animation.\n    @include transition(\n      opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n      transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n      display var(--dialog-transition-duration) allow-discrete,\n      overlay var(--dialog-transition-duration) allow-discrete\n    );\n\n    // Slide-down variant: enters from above, exits below.\n    // Must come BEFORE [open] so that [open]'s transform: none wins by source order.\n    &.dialog-slide-down {\n      transform: translateY(3rem);\n    }\n\n    // Slide-up variant: enters from below, exits above.\n    &.dialog-slide-up {\n      transform: translateY(-3rem);\n    }\n\n    // Open state: visible and faded in\n    &[open] {\n      display: flex;\n      flex-direction: column;\n      overflow: visible;\n      opacity: 1;\n      transform: none;\n    }\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--dialog-backdrop-bg);\n      backdrop-filter: blur(var(--dialog-backdrop-blur));\n      @include transition(\n        background-color var(--dialog-transition-duration) var(--dialog-transition-timing),\n        backdrop-filter var(--dialog-transition-duration) var(--dialog-transition-timing),\n        display var(--dialog-transition-duration) allow-discrete,\n        overlay var(--dialog-transition-duration) allow-discrete\n      );\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Entry animations via @starting-style.\n  // Slide variants need this because the base transform is the EXIT position,\n  // but entry must start from the opposite direction.\n  // ::backdrop also needs it since it only exists in the top layer.\n  @starting-style {\n    .dialog[open] {\n      opacity: 0;\n    }\n\n    // Slide-down: enters from above (negative Y), slides down into view\n    .dialog.dialog-slide-down[open] {\n      opacity: 0;\n      transform: translateY(-3rem);\n    }\n\n    // Slide-up: enters from below (positive Y), slides up into view\n    .dialog.dialog-slide-up[open] {\n      opacity: 0;\n      transform: translateY(3rem);\n    }\n\n    .dialog::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n\n  // Dialog sizes\n  @each $size, $value in $dialog-sizes {\n    .dialog-#{$size} { --dialog-width: #{$value}; }\n  }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @if $prefix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n  (\n    --menu-zindex: #{$zindex-menu},\n    --menu-gap: .125rem,\n    --menu-min-width: 10rem,\n    --menu-padding-x: .25rem,\n    --menu-padding-y: .25rem,\n    --menu-spacer: .125rem,\n    --menu-font-size: var(--font-size-sm),\n    --menu-color: var(--fg-body),\n    --menu-bg: var(--bg-body),\n    // --menu-border-color: var(--border-color-translucent),\n    // --menu-border-radius: var(--border-radius-lg),\n    // --menu-border-width: var(--border-width),\n    --menu-box-shadow: var(--box-shadow),\n    // --menu-max-height: none,\n    --menu-divider-bg: var(--border-color-translucent),\n    --menu-divider-margin-y: .125rem,\n    --menu-divider-margin-x: .25rem,\n    --menu-item-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-bg: var(--bg-1),\n    --menu-item-active-color: var(--primary-contrast),\n    --menu-item-active-bg: var(--primary-bg),\n    --menu-item-disabled-color: var(--fg-3),\n    --menu-item-gap: .5rem,\n    --menu-item-padding-x: .75rem,\n    --menu-item-padding-y: .25rem,\n    --menu-item-border-radius: var(--border-radius),\n    --menu-icon-size: 1rem,\n    --menu-image-size: 1.5rem,\n    --menu-description-font-size: var(--font-size-xs),\n    --menu-check-color: currentcolor,\n    --menu-header-color: var(--fg-3),\n    --menu-header-padding-x: .75rem,\n    --menu-header-padding-y: .25rem,\n  ),\n  $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n  .menu {\n    @include tokens($menu-tokens);\n\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n    @include box-shadow(var(--menu-box-shadow));\n\n    &.show {\n      display: flex;\n    }\n  }\n\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    @include border-radius(var(--menu-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--theme-text, var(--menu-item-hover-color));\n      @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n    }\n\n    &.active,\n    &:active {\n      color: var(--theme-contrast, var(--menu-item-active-color));\n      @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n      .menu-item-icon {\n        color: inherit !important; // stylelint-disable-line declaration-no-important\n      }\n    }\n\n    &.selected {\n      font-weight: $font-weight-semibold;\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--menu-item-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: .125rem;\n  }\n\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    @include border-radius(var(--border-radius-sm));\n  }\n\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: .125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n\n    .selected > & {\n      visibility: visible;\n    }\n  }\n\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // scss-docs-start submenu\n  .submenu {\n    position: relative;\n\n    > .menu-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .menu-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    > .menu {\n      top: 0;\n      margin-top: calc(-1 * var(--menu-padding-y));\n    }\n\n    &:hover > .menu-item,\n    &:focus-within > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n\n    &.show > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n  }\n\n  // Mobile stacking: submenu covers the parent menu in-place\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      @include border-radius(0);\n      box-shadow: none;\n    }\n\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n\n      &::before {\n        display: inline-block;\n        flex-shrink: 0;\n        width: .375em;\n        height: .375em;\n        content: \"\";\n        border-color: currentcolor;\n        border-style: solid;\n        border-width: .125em 0 0 .125em;\n        transform: rotate(-45deg);\n\n        [dir=\"rtl\"] & {\n          border-width: 0 .125em .125em 0;\n        }\n      }\n    }\n\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: .3;\n    }\n  }\n  // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n  (\n    --list-group-color: var(--fg-body),\n    --list-group-bg: var(--bg-body),\n    --list-group-border-color: var(--border-color),\n    --list-group-border-width: var(--border-width),\n    --list-group-border-radius: var(--border-radius),\n    --list-group-item-padding-x: #{$spacer},\n    --list-group-item-padding-y: #{$spacer * .5},\n    --list-group-action-color: var(--fg-2),\n    --list-group-action-hover-color: var(--fg-1),\n    --list-group-action-hover-bg: var(--bg-1),\n    --list-group-action-active-color: var(--fg-body),\n    --list-group-action-active-bg: var(--bg-2),\n    --list-group-disabled-color: var(--fg-3),\n    --list-group-disabled-bg: var(--bg-body),\n    --list-group-active-color: var(--primary-contrast),\n    --list-group-active-bg: var(--primary-bg),\n    --list-group-active-border-color: var(--primary-bg),\n  ),\n  $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n  .list-group {\n    @include tokens($list-group-tokens);\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n    text-decoration: none;\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}list-group-horizontal {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n  (\n    --nav-gap: .125rem,\n    --nav-link-gap: .5rem,\n    --nav-link-align: center,\n    --nav-link-justify: center,\n    --nav-link-padding-x: .75rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--fg-2),\n    --nav-link-hover-color: var(--fg-1),\n    --nav-link-hover-bg: var(--bg-1),\n    --nav-link-active-color: var(--fg-body),\n    --nav-link-active-bg: var(--bg-2),\n    --nav-link-disabled-color: var(--fg-4),\n    --nav-link-border-width: var(--border-width),\n    --nav-link-transition-property: \"color, background-color, border-color\",\n    --nav-link-transition-timing: .15s ease-in-out,\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n  ),\n  $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n  (\n    --nav-tabs-border-width: var(--border-width),\n    --nav-tabs-border-color: var(--border-color),\n    --nav-tabs-border-radius: var(--border-radius),\n    --nav-tabs-link-hover-border-color: var(--border-subtle),\n    --nav-tabs-link-active-color: var(--fg-color),\n    --nav-tabs-link-active-bg: var(--bg-body),\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n  ),\n  $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n  (\n    --nav-pills-link-active-color: var(--primary-contrast),\n    --nav-pills-link-active-bg: var(--primary-bg),\n  ),\n  $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n  (\n    --nav-gap: 1rem,\n    --nav-link-active-bg: transparent,\n    --nav-underline-border-width: .125rem,\n    --nav-underline-link-active-color: var(--fg-color),\n  ),\n  $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    @include tokens($nav-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    @include border-radius(var(--border-radius));\n    @include transition(var(--nav-link-transition));\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    @include tokens($nav-tabs-tokens);\n    // scss-docs-end nav-tabs-css-vars\n\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n    .nav-link {\n      border: var(--nav-tabs-border-width) solid transparent;\n      border-bottom-color: var(--nav-tabs-border-color);\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .menu {\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      @include border-top-radius(0);\n    }\n  }\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    @include tokens($nav-pills-tokens);\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    @include tokens($nav-underline-tokens);\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0; // Allow flex child to shrink below content width\n  }\n\n  // Container item for overflow\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n\n  // Hide items that have been moved to overflow\n  .nav-overflow [data-bs-nav-overflow=\"true\"] {\n    display: none;\n  }\n\n  // Preserve items that should never overflow\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n  (\n    --navbar-padding-x: 0,\n    --navbar-padding-y: .5rem,\n    --navbar-color: var(--fg-2),\n    --navbar-hover-color: var(--fg-1),\n    --navbar-disabled-color: var(--fg-3),\n    --navbar-active-color: var(--fg-body),\n    --navbar-brand-padding-y: .75rem,\n    --navbar-brand-margin-end: 1rem,\n    --navbar-brand-font-size: var(--font-size-md),\n    --navbar-brand-font-weight: var(--font-weight-medium),\n    --navbar-brand-color: var(--fg-body),\n    --navbar-brand-hover-color: var(--fg-body),\n    --navbar-nav-link-padding-x: .75rem,\n    --navbar-toggler-width: 2rem,\n    --navbar-toggler-padding-y: .25rem,\n    --navbar-toggler-padding-x: .75rem,\n    --navbar-toggler-font-size: var(--font-size-lg),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    --navbar-toggler-border-radius: var(--border-radius),\n    --navbar-toggler-transition: box-shadow .15s ease-in-out,\n  ),\n  $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n  (\n    --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n    --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n    --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n    --navbar-active-color: var(--white),\n    --navbar-brand-color: var(--white),\n    --navbar-brand-hover-color: var(--white),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n  ),\n  $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n  (\n    --nav-gap: .25rem,\n    --nav-link-gap: .5rem,\n    --nav-link-padding-x: .5rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--navbar-color),\n    --nav-link-border-width: var(--border-width),\n    //--nav-link-border-color: var(--border-color),\n    --nav-link-hover-color: var(--navbar-hover-color),\n    --nav-link-hover-bg: transparent,\n    --nav-link-active-color: var(--navbar-active-color),\n    --nav-link-active-bg: transparent,\n    --nav-link-disabled-color: var(--navbar-disabled-color),\n  ),\n  $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  // Base navbar\n  .navbar {\n    @include tokens($navbar-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include set-container();\n    color: var(--navbar-color, var(--fg-body));\n    @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n    // Container properties for nested containers\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n  // Navigation within navbars. Sets all nav-link CSS variables needed for\n  // proper styling.\n  //\n  // Relies on `.nav` base class.\n  .navbar-nav {\n    @include tokens($navbar-nav-tokens);\n\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n        border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n      }\n    }\n  }\n\n  // Navbar text\n  //\n  // For adding text or inline elements to the navbar\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus {\n      color: var(--navbar-active-color);\n    }\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of responsive `.navbar-expand` classes for configuring\n  // where your navbar collapses and expands. Uses container queries so the\n  // navbar responds to its own width, not the viewport width.\n\n  // Mixin for expanded state styles (applied to descendants)\n  @mixin navbar-expanded {\n    // Style the inner container since we can't style .navbar itself with container queries\n    > .container,\n    > .container-fluid,\n    %navbar-expand-container {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n\n    .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n\n    .navbar-toggler {\n      display: none !important; // stylelint-disable-line declaration-no-important\n    }\n\n    [class*=\"offcanvas\"] {\n      // stylelint-disable declaration-no-important\n      // Reset native <dialog> UA styles and below-breakpoint drawer styles.\n      // Must use !important to override both UA <dialog> defaults and the\n      // responsive offcanvas styles from media-breakpoint-down().\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      @include box-shadow(none);\n      @include transition(none);\n      // stylelint-enable declaration-no-important\n\n      .offcanvas-header {\n        display: none !important; // stylelint-disable-line declaration-no-important\n      }\n\n      .offcanvas-body {\n        display: flex;\n        flex-grow: 1;\n        flex-direction: row;\n        align-items: center;\n        padding: 0;\n        overflow-y: visible;\n      }\n    }\n  }\n\n  // Always expanded (no responsive behavior)\n  .navbar-expand {\n    @include navbar-expanded();\n\n    // Also set on navbar itself for non-responsive case\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n\n  // Responsive navbar expand classes using container queries\n  @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}navbar-expand {\n        @include container-breakpoint-up($next) {\n          @include navbar-expanded();\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Prevent offcanvas flash on breakpoint crossing.\n  // When the navbar crosses from expanded (inline) to collapsed (drawer),\n  // the offcanvas transitions from visibility:visible to visibility:hidden.\n  // Without this override, the slide transition plays — briefly showing the\n  // panel sliding away. Disabling transitions when not [open] ensures only\n  // intentional show/hide actions animate.\n  // stylelint-disable-next-line no-duplicate-selectors\n  .navbar {\n    [class*=\"offcanvas\"]:not([open]) {\n      @include transition(none !important);\n    }\n  }\n\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n\n    &::before {\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      content: \"\";\n      background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n      background-image: none;\n      backdrop-filter: blur(5px) saturate(180%);\n    }\n  }\n\n  .navbar[data-bs-theme=\"dark\"] {\n    @include tokens($navbar-dark-tokens);\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$offcanvas-tokens: () !default;\n\n// scss-docs-start offcanvas-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-tokens: defaults(\n  (\n    --offcanvas-inset: var(--spacer),\n    --offcanvas-zindex: #{$zindex-offcanvas},\n    --offcanvas-width: 400px,\n    --offcanvas-height: 30vh,\n    --offcanvas-padding-x: var(--spacer),\n    --offcanvas-padding-y: var(--spacer),\n    --offcanvas-color: var(--fg-body),\n    --offcanvas-bg: var(--bg-body),\n    --offcanvas-border-width: var(--border-width),\n    --offcanvas-border-color: var(--border-color-translucent),\n    --offcanvas-border-radius: var(--border-radius-lg),\n    --offcanvas-box-shadow: var(--box-shadow-lg),\n    --offcanvas-transition-duration: .3s,\n    --offcanvas-transition-timing: cubic-bezier(.22, 1, .36, 1),\n    --offcanvas-title-line-height: 1.5,\n  ),\n  $offcanvas-tokens\n);\n// scss-docs-end offcanvas-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$offcanvas-backdrop-tokens: () !default;\n\n// scss-docs-start offcanvas-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-backdrop-tokens: defaults(\n  (\n    --offcanvas-backdrop-bg: var(--bg-body),\n    --offcanvas-backdrop-opacity: 25%,\n    --offcanvas-backdrop-blur: 8px,\n  ),\n  $offcanvas-backdrop-tokens\n);\n// scss-docs-end offcanvas-backdrop-tokens\n\n%offcanvas-css-vars {\n  @include tokens($offcanvas-tokens);\n}\n\n@layer components {\n  // Apply CSS vars to all offcanvas responsive variants\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}offcanvas {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  // Responsive offcanvas styles\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}offcanvas {\n      @include media-breakpoint-down($next) {\n        // Reset native <dialog> UA defaults (fit-content sizing, inset, margins)\n        // and override display:none so visibility controls the hidden state.\n        position: fixed;\n        inset: auto;\n        z-index: var(--offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        width: auto;\n        max-width: calc(100% - var(--offcanvas-inset) * 2);\n        height: auto;\n        max-height: calc(100% - var(--offcanvas-inset) * 2);\n        padding: 0;\n        margin: 0;\n        color: var(--offcanvas-color);\n        visibility: hidden;\n        background-color: var(--offcanvas-bg);\n        background-clip: padding-box;\n        border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n        outline: 0;\n\n        // Exit transition: transform slides out, then visibility flips hidden\n        // after the transform completes (via the delay matching the duration).\n        @include transition(transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration));\n        @include border-radius(var(--offcanvas-border-radius));\n        @include box-shadow(var(--offcanvas-box-shadow));\n\n        // Placement transforms (off-screen) — includes inset so element\n        // fully clears the viewport edge.\n        &:where(.offcanvas-start) {\n          inset-block: var(--offcanvas-inset);\n          inset-inline-start: var(--offcanvas-inset);\n          width: var(--offcanvas-width);\n          transform: translateX(calc(-100% - var(--offcanvas-inset)));\n\n          :root:dir(rtl) & {\n            transform: translateX(calc(100% + var(--offcanvas-inset)));\n          }\n        }\n\n        &:where(.offcanvas-end) {\n          inset-block: var(--offcanvas-inset);\n          inset-inline-end: var(--offcanvas-inset);\n          width: var(--offcanvas-width);\n          transform: translateX(calc(100% + var(--offcanvas-inset)));\n\n          :root:dir(rtl) & {\n            transform: translateX(calc(-100% - var(--offcanvas-inset)));\n          }\n        }\n\n        &:where(.offcanvas-top) {\n          inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n          height: var(--offcanvas-height);\n          transform: translateY(calc(-100% - var(--offcanvas-inset)));\n        }\n\n        &:where(.offcanvas-bottom) {\n          inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n          height: var(--offcanvas-height);\n          transform: translateY(calc(100% + var(--offcanvas-inset)));\n        }\n\n        &:where(.offcanvas-fullscreen) {\n          inset: var(--offcanvas-inset);\n          width: auto;\n          max-width: none;\n          height: auto;\n          max-height: none;\n          transform: translateY(calc(100% + var(--offcanvas-inset)));\n        }\n\n        // Open state: visible and on-screen.\n        // Entry transition: visibility flips visible immediately (0s, no delay),\n        // then transform slides in.\n        &[open] {\n          visibility: visible;\n          @include transition(transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s);\n          transform: none;\n        }\n      }\n\n      // Above breakpoint - show content inline (for responsive offcanvas)\n      // Above breakpoint - show content inline (for responsive offcanvas).\n      // Must fully reset all drawer styles so the element behaves as an\n      // inline flex container within its parent (e.g., a navbar).\n      @if not ($prefix == \"\") {\n        @include media-breakpoint-up($next) {\n          // stylelint-disable declaration-no-important\n          --offcanvas-height: auto;\n          --offcanvas-border-width: 0;\n          // Reset native <dialog> UA styles\n          position: static !important;\n          inset: auto;\n          z-index: auto;\n          display: flex !important;\n          flex-grow: 1;\n          width: auto !important;\n          max-width: none;\n          height: auto !important;\n          max-height: none;\n          padding: 0;\n          margin: 0;\n          visibility: visible !important;\n          background-color: transparent !important;\n          border: 0 !important;\n          transform: none !important;\n          @include transition(none !important);\n          // stylelint-enable declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            flex-direction: row;\n            align-items: center;\n            width: 100%;\n            padding: 0;\n            overflow-y: visible;\n            // stylelint-disable-next-line declaration-no-important\n            background-color: transparent !important;\n          }\n          @include border-radius(0);\n          @include box-shadow(none);\n        }\n      }\n    }\n  }\n\n  // Native ::backdrop for modal offcanvas.\n  // ::backdrop lives in the top layer outside the DOM tree, so it does NOT\n  // inherit custom properties from the element. Tokens must be applied directly.\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}offcanvas::backdrop {\n      @include tokens($offcanvas-backdrop-tokens);\n      @include tokens($offcanvas-tokens);\n      background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n      backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n      @include transition(\n        background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing),\n        backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing),\n        display var(--offcanvas-transition-duration) allow-discrete,\n        overlay var(--offcanvas-transition-duration) allow-discrete\n      );\n    }\n  }\n\n  // Backdrop entry animation — ::backdrop can safely use @starting-style\n  // since it only exists when the dialog is in the top layer (no responsive issue).\n  @starting-style {\n    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n      .#{$prefix}offcanvas::backdrop {\n        background-color: transparent;\n        backdrop-filter: blur(0);\n      }\n    }\n  }\n\n  // Static backdrop transition (\"bounce\")\n  .offcanvas-static {\n    transform: scale(1.02);\n  }\n\n  .offcanvas-translucent {\n    background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  // Header with close button\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n    }\n  }\n\n  // Title\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n\n  // Scrollable body\n  .offcanvas-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    gap: var(--offcanvas-padding-y);\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n\n  // Optional footer\n  .offcanvas-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: .5rem;\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n  }\n\n  .offcanvas-fit-content {\n    inset-block-end: auto;\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n  (\n    --pagination-min-height: var(--btn-input-min-height),\n    --pagination-padding-x: var(--btn-input-padding-x),\n    --pagination-padding-y: var(--btn-input-padding-y),\n    --pagination-font-size: var(--btn-input-font-size),\n    --pagination-color: var(--link-color),\n    --pagination-bg: var(--bg-body),\n    --pagination-border-width: var(--border-width),\n    --pagination-border-color: var(--border-color),\n    --pagination-border-radius: var(--btn-input-border-radius),\n    --pagination-hover-color: var(--link-hover-color),\n    --pagination-hover-bg: var(--bg-1),\n    --pagination-hover-border-color: var(--border-color),\n    --pagination-focus-color: var(--link-hover-color),\n    --pagination-focus-bg: var(--bg-2),\n    --pagination-active-color: var(--primary-contrast),\n    --pagination-active-bg: var(--primary-bg),\n    --pagination-active-border-color: var(--primary-bg),\n    --pagination-disabled-color: var(--fg-3),\n    --pagination-disabled-bg: var(--bg-2),\n    --pagination-disabled-border-color: var(--border-color),\n  ),\n  $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .pagination {\n    @include tokens($pagination-tokens);\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: calc(-1 * var(--pagination-border-width));\n    }\n\n    &:first-child {\n      .page-link {\n        @include border-start-radius(var(--pagination-border-radius));\n      }\n    }\n\n    &:last-child {\n      .page-link {\n        @include border-end-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n  //\n  // Sizing\n  //\n\n  // scss-docs-start pagination-sizes-loop\n  @each $size, $_ in $pagination-sizes {\n    .pagination-#{$size} {\n      --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n      --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n      --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n      --pagination-font-size: var(--btn-input-#{$size}-font-size);\n      --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n  (\n    --placeholder-opacity-max: .5,\n    --placeholder-opacity-min: .2,\n  ),\n  $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n  .placeholder {\n    @include tokens($placeholder-tokens);\n\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n  (\n    --popover-zindex: #{$zindex-popover},\n    --popover-max-width: 280px,\n    --popover-font-size: var(--font-size-sm),\n    --popover-bg: var(--bg-body),\n    --popover-border-width: var(--border-width),\n    --popover-border-color: var(--border-color-translucent),\n    --popover-border-radius: var(--border-radius-lg),\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --popover-box-shadow: var(--box-shadow),\n    --popover-header-padding-x: #{$spacer},\n    --popover-header-padding-y: #{$spacer * .75},\n    --popover-header-font-size: var(--font-size-sm),\n    --popover-header-color: #{$headings-color},\n    --popover-header-bg: var(--bg-1),\n    --popover-body-padding-x: #{$spacer},\n    --popover-body-padding-y: #{$spacer * .75},\n    --popover-body-color: var(--fg-body),\n    --popover-arrow-width: 1rem,\n    --popover-arrow-height: .5rem,\n    --popover-arrow-border: var(--popover-border-color),\n  ),\n  $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    @include tokens($popover-tokens);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n  (\n    --progress-height: 1rem,\n    --progress-font-size: var(--font-size-sm),\n    --progress-bg: var(--bg-2),\n    --progress-border-radius: var(--border-radius),\n    --progress-box-shadow: var(--box-shadow-inset),\n    --progress-bar-color: var(--white),\n    --progress-bar-bg: var(--primary-bg),\n    --progress-bar-transition: width .6s ease,\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n  ),\n  $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    @include tokens($progress-tokens);\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: var(--progress-bar-animation);\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-border-width: .25em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-border,\n  ),\n  $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-grow,\n  ),\n  $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n  // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    @include tokens($spinner-border-tokens);\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    @include tokens($spinner-grow-tokens);\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    // scss-docs-start spinner-grow-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    // scss-docs-end spinner-grow-sm-css-vars\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: 1.5s;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n  (\n    --stepper-size: 2rem,\n    --stepper-gap: 1rem,\n    --stepper-font-size: var(--font-size-sm),\n    --stepper-text-gap: .5rem,\n    --stepper-track-size: .125rem,\n    --stepper-bg: var(--bg-2),\n    --stepper-active-color: var(--primary-contrast),\n    --stepper-active-bg: var(--primary-bg),\n  ),\n  $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n\n  .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n\n    &::after {\n      inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n\n    &:last-child::after {\n      right: 100%;\n    }\n  }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n  .stepper {\n    @include tokens($stepper-tokens);\n\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n\n    // The counter\n    &::before {\n      position: relative;\n      z-index: 1;\n      display: flex;\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      width: var(--stepper-size);\n      height: var(--stepper-size);\n      padding: .5rem;\n      font-size: var(--stepper-font-size);\n      font-weight: 600;\n      line-height: 1;\n      text-align: center;\n      content: counter(stepper);\n      counter-increment: stepper;\n      background-color: var(--stepper-bg);\n      @include border-radius(50%);\n    }\n\n    // Connecting lines\n    &::after {\n      position: absolute;\n      inset-block-start: 50%;\n      inset-block-end: 100%;\n      inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      width: var(--stepper-track-size);\n      height: calc(100% + var(--stepper-gap));\n      content: \"\";\n      background-color: var(--stepper-bg);\n    }\n\n    // Avoid sibling selector for easier CSS overrides\n    &:last-child::after {\n      display: none;\n    }\n\n    &.active {\n      &::before,\n      &::after {\n        color: var(--theme-contrast, var(--stepper-active-color));\n        background-color: var(--theme-bg, var(--stepper-active-bg));\n      }\n    }\n  }\n\n  // Targets the last .active element from a sequence of active elements\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n\n  .stepper-horizontal {\n    @include stepper-horizontal();\n  }\n\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}stepper-horizontal {\n        @include container-breakpoint-up($next) {\n          @include stepper-horizontal();\n        }\n      }\n    }\n  }\n\n  // scss-docs-start stepper-overflow\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n\n    > .stepper {\n      width: max-content;\n      min-width: 100%;\n    }\n  }\n  // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n  (\n    --toast-zindex: #{$zindex-toast},\n    --toast-padding-x: 1rem,\n    --toast-padding-y: .75rem,\n    --toast-spacing: #{$container-padding-x},\n    --toast-max-width: 350px,\n    --toast-font-size: var(--font-size-sm),\n    --toast-color: null,\n    --toast-bg: var(--bg-body),\n    --toast-border-width: var(--border-width),\n    --toast-border-color: var(--border-color-translucent),\n    --toast-border-radius: null,\n    --toast-box-shadow: var(--box-shadow),\n    --toast-header-color: var(--fg-3),\n    --toast-header-bg: var(--bg-1),\n    --toast-header-border-color: var(--border-color-translucent),\n  ),\n  $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n  .toast {\n    @include tokens($toast-tokens);\n\n    display: flex;\n    flex-direction: column;\n    width: var(--toast-max-width);\n    max-width: 100%;\n    overflow: hidden;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color, var(--fg-body));\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius, var(--border-radius-lg)));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--theme-text-emphasis, var(--toast-header-color));\n    background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n    // background-clip: padding-box;\n    border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n\n    .btn-close {\n      margin-inline-start: calc(.5 * var(--toast-padding-x));\n      margin-inline-end: calc(-.25 * var(--toast-padding-x));\n      color: inherit;\n    }\n  }\n\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/mixins/_dialog-shared.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_drawer.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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wBAAA;EnBs6EV;EmBv6EQ;IACE,yBAAA;EnBy6EV;EmB16EQ;IACE,yBAAA;EnB46EV;EmB76EQ;IACE,yBAAA;EnB+6EV;EmBx6EQ;IACE,oBAFS;EnB46EnB;EmB36EQ;IACE,oBAFS;EnB+6EnB;EmB96EQ;IACE,oBAFS;EnBk7EnB;EmBj7EQ;IACE,oBAFS;EnBq7EnB;EmBp7EQ;IACE,oBAFS;EnBw7EnB;EmBv7EQ;IACE,oBAFS;EnB27EnB;EmB17EQ;IACE,oBAFS;EnB87EnB;EmB77EQ;IACE,oBAFS;EnBi8EnB;EmBh8EQ;IACE,oBAFS;EnBo8EnB;EmBn8EQ;IACE,qBAFS;EnBu8EnB;EmBt8EQ;IACE,qBAFS;EnB08EnB;EW99EE;IQaM;MACE,wBAAA;InBo9ER;ImBr9EM;MACE,wBAAA;InBu9ER;ImBx9EM;MACE,wBAAA;InB09ER;ImB39EM;MACE,wBAAA;InB69ER;ImB99EM;MACE,wBAAA;InBg+ER;ImBj+EM;MACE,wBAAA;InBm+ER;ImBp+EM;MACE,wBAAA;InBs+ER;ImBv+EM;MACE,wBAAA;InBy+ER;ImB1+EM;MACE,wBAAA;InB4+ER;ImB7+EM;MACE,yBAAA;InB++ER;ImBh/EM;MACE,yBAAA;InBk/ER;ImBn/EM;MACE,yBAAA;InBq/ER;ImB9+EM;MACE,oBAFS;InBk/EjB;ImBj/EM;MACE,oBAFS;InBq/EjB;ImBp/EM;MACE,oBAFS;InBw/EjB;ImBv/EM;MACE,oBAFS;InB2/EjB;ImB1/EM;MACE,oBAFS;InB8/EjB;ImB7/EM;MACE,oBAFS;InBigFjB;ImBhgFM;MACE,oBAFS;InBogFjB;ImBngFM;MACE,oBAFS;InBugFjB;ImBtgFM;MACE,oBAFS;InB0gFjB;ImBzgFM;MACE,qBAFS;InB6gFjB;ImB5gFM;MACE,qBAFS;InBghFjB;EACF;EWriFE;IQaM;MACE,wBAAA;InB2hFR;ImB5hFM;MACE,wBAAA;InB8hFR;ImB/hFM;MACE,wBAAA;InBiiFR;ImBliFM;MACE,wBAAA;InBoiFR;ImBriFM;MACE,wBAAA;InBuiFR;ImBxiFM;MACE,wBAAA;InB0iFR;ImB3iFM;MACE,wBAAA;InB6iFR;ImB9iFM;MACE,wBAAA;InBgjFR;ImBjjFM;MACE,wBAAA;InBmjFR;ImBpjFM;MACE,yBAAA;InBsjFR;ImBvjFM;MACE,yBAAA;InByjFR;ImB1jFM;MACE,yBAAA;InB4jFR;ImBrjFM;MACE,oBAFS;InByjFjB;ImBxjFM;MACE,oBAFS;InB4jFjB;ImB3jFM;MACE,oBAFS;InB+jFjB;ImB9jFM;MACE,oBAFS;InBkkFjB;ImBjkFM;MACE,oBAFS;InBqkFjB;ImBpkFM;MACE,oBAFS;InBwkFjB;ImBvkFM;MACE,oBAFS;InB2kFjB;ImB1kFM;MACE,oBAFS;InB8kFjB;ImB7kFM;MACE,oBAFS;InBilFjB;ImBhlFM;MACE,qBAFS;InBolFjB;ImBnlFM;MACE,qBAFS;InBulFjB;EACF;EW5mFE;IQaM;MACE,wBAAA;InBkmFR;ImBnmFM;MACE,wBAAA;InBqmFR;ImBtmFM;MACE,wBAAA;InBwmFR;ImBzmFM;MACE,wBAAA;InB2mFR;ImB5mFM;MACE,wBAAA;InB8mFR;ImB/mFM;MACE,wBAAA;InBinFR;ImBlnFM;MACE,wBAAA;InBonFR;ImBrnFM;MACE,wBAAA;InBunFR;ImBxnFM;MACE,wBAAA;InB0nFR;ImB3nFM;MACE,yBAAA;InB6nFR;ImB9nFM;MACE,yBAAA;InBgoFR;ImBjoFM;MACE,yBAAA;InBmoFR;ImB5nFM;MACE,oBAFS;InBgoFjB;ImB/nFM;MACE,oBAFS;InBmoFjB;ImBloFM;MACE,oBAFS;InBsoFjB;ImBroFM;MACE,oBAFS;InByoFjB;ImBxoFM;MACE,oBAFS;InB4oFjB;ImB3oFM;MACE,oBAFS;InB+oFjB;ImB9oFM;MACE,oBAFS;InBkpFjB;ImBjpFM;MACE,oBAFS;InBqpFjB;ImBppFM;MACE,oBAFS;InBwpFjB;ImBvpFM;MACE,qBAFS;InB2pFjB;ImB1pFM;MACE,qBAFS;InB8pFjB;EACF;EWnrFE;IQaM;MACE,wBAAA;InByqFR;ImB1qFM;MACE,wBAAA;InB4qFR;ImB7qFM;MACE,wBAAA;InB+qFR;ImBhrFM;MACE,wBAAA;InBkrFR;ImBnrFM;MACE,wBAAA;InBqrFR;ImBtrFM;MACE,wBAAA;InBwrFR;ImBzrFM;MACE,wBAAA;InB2rFR;ImB5rFM;MACE,wBAAA;InB8rFR;ImB/rFM;MACE,wBAAA;InBisFR;ImBlsFM;MACE,yBAAA;InBosFR;ImBrsFM;MACE,yBAAA;InBusFR;ImBxsFM;MACE,yBAAA;InB0sFR;ImBnsFM;MACE,oBAFS;InBusFjB;ImBtsFM;MACE,oBAFS;InB0sFjB;ImBzsFM;MACE,oBAFS;InB6sFjB;ImB5sFM;MACE,oBAFS;InBgtFjB;ImB/sFM;MACE,oBAFS;InBmtFjB;ImBltFM;MACE,oBAFS;InBstFjB;ImBrtFM;MACE,oBAFS;InBytFjB;ImBxtFM;MACE,oBAFS;InB4tFjB;ImB3tFM;MACE,oBAFS;InB+tFjB;ImB9tFM;MACE,qBAFS;InBkuFjB;ImBjuFM;MACE,qBAFS;InBquFjB;EACF;EW1vFE;IQaM;MACE,wBAAA;InBgvFR;ImBjvFM;MACE,wBAAA;InBmvFR;ImBpvFM;MACE,wBAAA;InBsvFR;ImBvvFM;MACE,wBAAA;InByvFR;ImB1vFM;MACE,wBAAA;InB4vFR;ImB7vFM;MACE,wBAAA;InB+vFR;ImBhwFM;MACE,wBAAA;InBkwFR;ImBnwFM;MACE,wBAAA;InBqwFR;ImBtwFM;MACE,wBAAA;InBwwFR;ImBzwFM;MACE,yBAAA;InB2wFR;ImB5wFM;MACE,yBAAA;InB8wFR;ImB/wFM;MACE,yBAAA;InBixFR;ImB1wFM;MACE,oBAFS;InB8wFjB;ImB7wFM;MACE,oBAFS;InBixFjB;ImBhxFM;MACE,oBAFS;InBoxFjB;ImBnxFM;MACE,oBAFS;InBuxFjB;ImBtxFM;MACE,oBAFS;InB0xFjB;ImBzxFM;MACE,oBAFS;InB6xFjB;ImB5xFM;MACE,oBAFS;InBgyFjB;ImB/xFM;MACE,oBAFS;InBmyFjB;ImBlyFM;MACE,oBAFS;InBsyFjB;ImBryFM;MACE,qBAFS;InByyFjB;ImBxyFM;MACE,qBAFS;InB4yF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tST;EkFvoSE;IAxHI,iKA0CG;ElFwtST;EkF1oSE;IAxHI,qKA0CG;ElF2tST;EkF7oSE;IAxHI,mKA0CG;ElF8tST;EkFhpSE;IAxHI,+JA0CG;ElFiuST;EkFnpSE;IAxHI,qKA0CG;ElFouST;EkFtpSE;IAxHI,iKA0CG;ElFuuST;EkFzpSE;IAxHI,qHA0CG;ElF0uST;EkF5pSE;IAxHI,qHA0CG;ElF6uST;EkF/pSE;IAxHI,gBA+CO;ElF2uSb;EkFlqSE;IAxHI,kBA+CO;ElF8uSb;EkFrqSE;IAxHI,kBA+CO;ElFivSb;EkFxqSE;IAxHI,eA+CO;ElFovSb;EkF3qSE;IAxHI,gBA+CO;ElFuvSb;EkF9qSE;IAxHI,MA0CG;ElF+vST;EkFjrSE;IAxHI,QA0CG;ElFkwST;EkFprSE;IAxHI,SA0CG;ElFqwST;EkFvrSE;IAxHI,SA0CG;ElFwwST;EkF1rSE;IAxHI,WA0CG;ElF2wST;EkF7rSE;IAxHI,YA0CG;ElF8wST;EkFhsSE;IAxHI,OA0CG;ElFixST;EkFnsSE;IAxHI,SA0CG;ElFoxST;EkFtsSE;IAxHI,UA0CG;ElFuxST;EkFzsSE;IAxHI,QA0CG;ElF0xST;EkF5sSE;IAxHI,UA0CG;ElF6xST;EkF/sSE;IAxHI,WA0CG;ElFgyST;EkFltSE;IAxHI,gCA0CG;ElFmyST;EkFrtSE;IAxHI,2BA0CG;ElFsyST;EkFxtSE;IAxHI,2BA0CG;ElFyyST;EkF3tSE;IAxHI,4EA0CG;ElF4yST;EkF9tSE;IAxHI,SA0CG;ElF+yST;EkFjuSE;IAxHI,wFA0CG;ElFkzST;EkFpuSE;IAxHI,qBA0CG;ElFqzST;EkFvuSE;IAxHI,uFA0CG;ElFwzST;EkF1uSE;IAxHI,oBA0CG;ElF2zST;EkF7uSE;IAxHI,sFA0CG;ElF8zST;EkFhvSE;IAxHI,mBA0CG;ElFi0ST;EkFnvSE;IAxHI,yFA0CG;ElFo0ST;EkFtvSE;IAxHI,sBA0CG;ElFu0ST;EkFzvSE;IAxHI,kFA0CG;ElF00ST;EkF5vSE;IAxHI,eA0CG;ElF60ST;EkF/vSE;IAxHI,mFA0CG;ElFg1ST;EkFlwSE;IAxHI,gBA0CG;E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E;IAxHI,aA0CG;ElFqkTT;EkFv/SE;IAxHI,gBA0CG;ElFwkTT;EkF1/SE;IAxHI,aA0CG;ElF2kTT;EkF7/SE;IAxHI,iBA0CG;ElF8kTT;EkFhgTE;IAxHI,cA0CG;ElFilTT;EkFngTE;IAxHI,mBA+CO;ElF+kTb;EkFtgTE;IAxHI,sBA+CO;ElFklTb;EkFzgTE;IAxHI,2BA+CO;ElFqlTb;EkF5gTE;IAxHI,8BA+CO;ElFwlTb;EkF/gTE;IAxHI,YA0CG;ElFgmTT;EkFlhTE;IAxHI,YA0CG;ElFmmTT;EkFrhTE;IAxHI,cA0CG;ElFsmTT;EkFxhTE;IAxHI,cA0CG;ElFymTT;EkF3hTE;IAxHI,eA+CO;ElFumTb;EkF9hTE;IAxHI,iBA+CO;ElF0mTb;EkFjiTE;IAxHI,uBA+CO;ElF6mTb;EkFpiTE;IAxHI,2BA0CG;ElFqnTT;EkFviTE;IAxHI,yBA0CG;ElFwnTT;EkF1iTE;IAxHI,uBA0CG;ElF2nTT;EkF7iTE;IAxHI,8BA0CG;ElF8nTT;EkFhjTE;IAxHI,6BA0CG;ElFioTT;EkFnjTE;IAxHI,6BA0CG;ElFooTT;EkFtjTE;IAxHI,oBA0CG;ElFuoTT;EkFzjTE;IAxHI,kBA0CG;ElF0oTT;EkF5jTE;IAxHI,qBA0CG;ElF6oTT;EkF/jTE;IAxHI,sBA0CG;ElFgpTT;EkFlkTE;IAxHI,wBA0CG;ElFmpTT;EkFrkTE;IAxHI,sBA0CG;ElFspTT;EkFxkTE;IAxHI,oBA0CG;ElFypTT;EkF3kTE;IAxHI,uBA0CG;ElF4pTT;EkF9kTE;IAxHI,qBA0CG;ElF+pTT;EkFjlTE;IAxHI,mBA0CG;ElFkqTT;EkFplTE;IAxHI,qBA0CG;ElFqqTT;EkFvlTE;IAxHI,oBA0CG;ElFwqTT;EkF1lTE;IAxHI,yBA0CG;ElF2qTT;EkF7lTE;IAxHI,uBA0CG;ElF8qTT;EkFhmTE;IAxHI,qBA0CG;ElFirTT;EkFnmTE;IAxHI,4BA0CG;ElForTT;EkFtmTE;IAxHI,2BA0CG;ElFurTT;EkFzmTE;IAxHI,sBA0CG;ElF0rTT;EkF5mTE;IAxHI,gBA0CG;ElF6rTT;EkF/mTE;IAxHI,sBA0CG;ElFgsTT;EkFlnTE;IAxHI,oBA0CG;ElFmsTT;EkFrnTE;IAxHI,kBA0CG;ElFssTT;EkFxnTE;IAxHI,oBA0CG;ElFysTT;EkF3nTE;IAxHI,mBA0CG;ElF4sTT;EkF9nTE;IAxHI,kBA0CG;ElF+sTT;EkFjoTE;IAxHI,gBA0CG;ElFktTT;EkFpoTE;IAxHI,mBA0CG;ElFqtTT;EkFvoTE;IAxHI,oBA0CG;ElFwtTT;EkF1oTE;IAxHI,0BA0CG;ElF2tTT;EkF7oTE;IAxHI,qCA0CG;ElF8tTT;EkFhpTE;IAxHI,qCA0CG;ElFiuTT;EkFnpTE;IAxHI,qCA0CG;ElFouTT;EkFtpTE;IAxHI,qCA0CG;ElFuuTT;EkFzpTE;IAxHI,mBA0CG;ElF0uTT;EkF5pTE;IAxHI,mBA+CO;ElFwuTb;EkF/pTE;IAxHI,sBA+CO;ElF2uTb;EkFlqTE;IAxHI,qBA+CO;ElF8uTb;EkFrqTE;IAxHI,SA0CG;ElFsvTT;EkFxqTE;IAxHI,QA0CG;ElFyvTT;EkF3qTE;IAxHI,QA0CG;ElF4vTT;EkF9qTE;IAxHI,QA0CG;ElF+vTT;EkFjrTE;IAxHI,QA0CG;ElFkwTT;EkFprTE;IAxHI,QA0CG;ElFqwTT;EkFvrTE;IAxHI,QA0CG;ElFwwTT;EkF1rTE;IAxHI,QA0CG;ElF2wTT;EkF7rTE;IAxHI,SA0CG;ElF8wTT;EkFhsTE;IAxHI,eA0CG;ElFixTT;EkFnsTE;IAxHI,cA0CG;ElFoxTT;EkFtsTE;IAxHI,eA0CG;ElFuxTT;EkFzsTE;IAxHI,YA0CG;ElF0xTT;EkF5sTE;IAxHI,eA0CG;ElF6xTT;EkF/sTE;IAxHI,cA0CG;ElFgyTT;EkFltTE;IAxHI,YA0CG;ElFmyTT;EkFrtTE;IAxHI,cA0CG;ElFsyTT;EkFxtTE;IAxHI,YA0CG;ElFyyTT;EkF3tTE;IAxHI,YA0CG;ElF4yTT;EkF9tTE;IAxHI,gBA0CG;ElF+yTT;EkFjuTE;IAxHI,sBA0CG;ElFkzTT;EkFpuTE;IAxHI,qBA0CG;ElFqzTT;EkFvuTE;IAxHI,sBA0CG;ElFwzTT;EkF1uTE;IAxHI,mBA0CG;ElF2zTT;EkF7uTE;IAxHI,sBA0CG;ElF8zTT;EkFhvTE;IAxHI,qBA0CG;ElFi0TT;EkFnvTE;IAxHI,mBA0CG;ElFo0TT;EkFtvTE;IAxHI,qBA0CG;ElFu0TT;EkFzvTE;IAxHI,mBA0CG;ElF00TT;EkF5vTE;IAxHI,mBA0CG;ElF60TT;EkF/vTE;IAxHI,eA0CG;ElFg1TT;EkFlwTE;IAxHI,qBA0CG;ElFm1TT;EkFrwTE;IAxHI,oBA0CG;ElFs1TT;EkFxwTE;IAxHI,qBA0CG;ElFy1TT;EkF3wTE;IAxHI,kBA0CG;ElF41TT;EkF9wTE;IAxHI,qBA0CG;ElF+1TT;EkFjxTE;IAxHI,oBA0CG;ElFk2TT;EkFpxTE;IAxHI,kBA0CG;ElFq2TT;EkFvxTE;IAxHI,oBA0CG;ElFw2TT;EkF1xTE;IAxHI,kBA0CG;ElF22TT;EkF7xTE;IAxHI,kBA0CG;ElF82TT;EkFhyTE;IAxHI,qBA0CG;ElFi3TT;EkFnyTE;IAxHI,2BA0CG;ElFo3TT;EkFtyTE;IAxHI,0BA0CG;ElFu3TT;EkFzyTE;IAxHI,2BA0CG;ElF03TT;EkF5yTE;IAxHI,wBA0CG;ElF63TT;EkF/yTE;IAxHI,2BA0CG;ElFg4TT;EkFlzTE;IAxHI,0BA0CG;ElFm4TT;EkFrzTE;IAxHI,wBA0CG;ElFs4TT;EkFxzTE;IAxHI,0BA0CG;ElFy4TT;EkF3zTE;IAxHI,wBA0CG;ElF44TT;EkF9zTE;IAxHI,wBA0CG;ElF+4TT;EkFj0TE;IAxHI,oBA0CG;ElFk5TT;EkFp0TE;IAxHI,0BA0CG;ElFq5TT;EkFv0TE;IAxHI,yBA0CG;ElFw5TT;EkF10TE;IAxHI,0BA0CG;ElF25TT;EkF70TE;IAxHI,uBA0CG;ElF85TT;EkFh1TE;IAxHI,0BA0CG;ElFi6TT;EkFn1TE;IAxHI,yBA0CG;ElFo6TT;EkFt1TE;IAxHI,uBA0CG;ElFu6TT;EkFz1TE;IAxHI,yBA0CG;ElF06TT;EkF51TE;IAxHI,uBA0CG;ElF66TT;EkF/1TE;IAxHI,uBA0CG;ElFg7TT;EkFl2TE;IAxHI,mBA0CG;ElFm7TT;EkFr2TE;IAxHI,yBA0CG;ElFs7TT;EkFx2TE;IAxHI,wBA0CG;ElFy7TT;EkF32TE;IAxHI,yBA0CG;ElF47TT;EkF92TE;IAxHI,sBA0CG;ElF+7TT;EkFj3TE;IAxHI,yBA0CG;ElFk8TT;EkFp3TE;IAxHI,wBA0CG;ElFq8TT;EkFv3TE;IAxHI,sBA0CG;ElFw8TT;EkF13TE;IAxHI,wBA0CG;ElF28TT;EkF73TE;IAxHI,sBA0CG;ElF88TT;EkFh4TE;IAxHI,sBA0CG;ElFi9TT;EkFn4TE;IAxHI,sBA0CG;ElFo9TT;EkFt4TE;IAxHI,4BA0CG;ElFu9TT;EkFz4TE;IAxHI,2BA0CG;ElF09TT;EkF54TE;IAxHI,4BA0CG;ElF69TT;EkF/4TE;IAxHI,yBA0CG;ElFg+TT;EkFl5TE;IAxHI,4BA0CG;ElFm+TT;EkFr5TE;IAxHI,2BA0CG;ElFs+TT;EkFx5TE;IAxHI,yBA0CG;ElFy+TT;EkF35TE;IAxHI,2BA0CG;ElF4+TT;EkF95TE;IAxHI,yBA0CG;ElF++TT;EkFj6TE;IAxHI,6BA0CG;ElFk/TT;EkFp6TE;IAxHI,4BA0CG;ElFq/TT;EkFv6TE;IAxHI,yBA0CG;ElFw/TT;EkF16TE;IAxHI,UA0CG;ElF2/TT;EkF76TE;IAxHI,gBA0CG;ElF8/TT;EkFh7TE;IAxHI,eA0CG;ElFigUT;EkFn7TE;IAxHI,gBA0CG;ElFogUT;EkFt7TE;IAxHI,aA0CG;ElFugUT;EkFz7TE;IAxHI,gBA0CG;ElF0gUT;EkF57TE;IAxHI,eA0CG;ElF6gUT;EkF/7TE;IAxHI,aA0CG;ElFghUT;EkFl8TE;IAxHI,eA0CG;ElFmhUT;EkFr8TE;IAxHI,aA0CG;ElFshUT;EkFx8TE;IAxHI,iBA0CG;ElFyhUT;EkF38TE;IAxHI,uBA0CG;ElF4hUT;EkF98TE;IAxHI,sBA0CG;ElF+hUT;EkFj9TE;IAxHI,uBA0CG;ElFkiUT;EkFp9TE;IAxHI,oBA0CG;ElFqiUT;EkFv9TE;IAxHI,uBA0CG;ElFwiUT;EkF19TE;IAxHI,sBA0CG;ElF2iUT;EkF79TE;IAxHI,oBA0CG;ElF8iUT;EkFh+TE;IAxHI,sBA0CG;ElFijUT;EkFn+TE;IAxHI,oBA0CG;ElFojUT;EkFt+TE;IAxHI,gBA0CG;ElFujUT;EkFz+TE;IAxHI,sBA0CG;ElF0jUT;EkF5+TE;IAxHI,qBA0CG;ElF6jUT;EkF/+TE;IAxHI,sBA0CG;ElFgkUT;EkFl/TE;IAxHI,mBA0CG;ElFmkUT;EkFr/TE;IAxHI,sBA0CG;ElFskUT;EkFx/TE;IAxHI,qBA0CG;ElFykUT;EkF3/TE;IAxHI,mBA0CG;ElF4kUT;EkF9/TE;IAxHI,qBA0CG;ElF+kUT;EkFjgUE;IAxHI,mBA0CG;ElFklUT;EkFpgUE;IAxHI,sBA0CG;ElFqlUT;EkFvgUE;IAxHI,4BA0CG;ElFwlUT;EkF1gUE;IAxHI,2BA0CG;ElF2lUT;EkF7gUE;IAxHI,4BA0CG;ElF8lUT;EkFhhUE;IAxHI,yBA0CG;ElFimUT;EkFnhUE;IAxHI,4BA0CG;ElFomUT;EkFthUE;IAxHI,2BA0CG;ElFumUT;EkFzhUE;IAxHI,yBA0CG;ElF0mUT;EkF5hUE;IAxHI,2BA0CG;ElF6mUT;EkF/hUE;IAxHI,yBA0CG;ElFgnUT;EkFliUE;IAxHI,qBA0CG;ElFmnUT;EkFriUE;IAxHI,2BA0CG;ElFsnUT;EkFxiUE;IAxHI,0BA0CG;ElFynUT;EkF3iUE;IAxHI,2BA0CG;ElF4nUT;EkF9iUE;IAxHI,wBA0CG;ElF+nUT;EkFjjUE;IAxHI,2BA0CG;ElFkoUT;EkFpjUE;IAxHI,0BA0CG;ElFqoUT;EkFvjUE;IAxHI,wBA0CG;ElFwoUT;EkF1jUE;IAxHI,0BA0CG;ElF2oUT;EkF7jUE;IAxHI,wBA0CG;ElF8oUT;EkFhkUE;IAxHI,oBA0CG;ElFipUT;EkFnkUE;IAxHI,0BA0CG;ElFopUT;EkFtkUE;IAxHI,yBA0CG;ElFupUT;EkFzkUE;IAxHI,0BA0CG;ElF0pUT;EkF5kUE;IAxHI,uBA0CG;ElF6pUT;EkF/kUE;IAxHI,0BA0CG;ElFgqUT;EkFllUE;IAxHI,yBA0CG;ElFmqUT;EkFrlUE;IAxHI,uBA0CG;ElFsqUT;EkFxlUE;IAxHI,yBA0CG;ElFyqUT;EkF3lUE;IAxHI,uBA0CG;ElF4qUT;EkF9lUE;IAxHI,uBA0CG;ElF+qUT;EkFjmUE;IAxHI,6BA0CG;ElFkrUT;EkFpmUE;I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0CG;ElF6oVT;EkFxiVM;IA/IA,iEA0CG;ElFgpVT;EkFlkVE;IAxHI,iEA0CG;ElFmpVT;EkF9iVM;IA/IA,iEA0CG;ElFspVT;EkFxkVE;IAxHI,2BA0CG;ElFypVT;EkFpjVM;IA/IA,2BA0CG;ElF4pVT;EkF9kVE;IAxHI,8BA0CG;ElF+pVT;EkF1jVM;IA/IA,8BA0CG;ElFkqVT;EkFplVE;IAxHI,6BA0CG;ElFqqVT;EkFhkVM;IA/IA,6BA0CG;ElFwqVT;EkF1lVE;IAxHI,8BA0CG;ElF2qVT;EkFtkVM;IA/IA,8BA0CG;ElF8qVT;EkFhmVE;IAxHI,yEA0CG;ElFirVT;EkFnmVE;IAxHI,wHA0CG;ElForVT;EkFtmVE;IAxHI,2EA0CG;ElFurVT;EkFzmVE;IAxHI,uEA0CG;ElF0rVT;EkF5mVE;IAxHI,6EA0CG;ElF6rVT;EkF/mVE;IAxHI,yEA0CG;ElFgsVT;EkFlnVE;IAxHI,yEA0CG;ElFmsVT;EkFrnVE;IAxHI,yEA0CG;ElFssVT;EkFxnVE;IAxHI,iFA0CG;ElFysVT;EkFpmVM;IA/IA,iFA0CG;ElF4sVT;EkF9nVE;IAxHI,iFA0CG;ElF+sVT;EkF1mVM;IA/IA,iFA0CG;ElFktVT;EkFpoVE;IAxHI,iFA0CG;ElFqtVT;EkFhnVM;IA/IA,iFA0CG;ElFwtVT;EkF1oVE;IAxHI,iFA0CG;ElF2tVT;EkFtnVM;IA/IA,iFA0CG;ElF8tVT;EkFhpVE;IAxHI,iFA0CG;ElFiuVT;EkF5nVM;IA/IA,iFA0CG;ElFouVT;EkFtpVE;IAxHI,iFA0CG;ElFuuVT;EkFloVM;IA/IA,iFA0CG;ElF0uVT;EkF5pVE;IAxHI,iFA0CG;ElF6uVT;EkFxoVM;IA/IA,iFA0CG;ElFgvVT;EkFlqVE;IAxHI,iFA0CG;ElFmvVT;EkF9oVM;IA/IA,iFA0CG;ElFsvVT;EkFxqVE;IAxHI,iFA0CG;ElFyvVT;EkFppVM;IA/IA,iFA0CG;ElF4vVT;EkF9qVE;IAxHI,2CA0CG;ElF+vVT;EkF1pVM;IA/IA,2CA0CG;ElFkwVT;EkFprVE;IAxHI,8BA0CG;ElFqwVT;EkFhqVM;IA/IA,8BA0CG;ElFwwVT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AxHI,mBA+CO;IlFktWX;IkFzoWA;MAxHI,aA+CO;IlFqtWX;IkF5oWA;MAxHI,oBA+CO;IlFwtWX;IkF/oWA;MAxHI,iBA+CO;IlF2tWX;IkFlpWA;MAxHI,kBA+CO;IlF8tWX;IkFrpWA;MAxHI,aA+CO;IlFiuWX;IkFxpWA;MAxHI,cA0CG;IlFyuWP;IkF3pWA;MAxHI,mBA+CO;IlFuuWX;IkF9pWA;MAxHI,sBA+CO;IlF0uWX;IkFjqWA;MAxHI,2BA+CO;IlF6uWX;IkFpqWA;MAxHI,8BA+CO;IlFgvWX;IkFvqWA;MAxHI,YA0CG;IlFwvWP;IkF1qWA;MAxHI,YA0CG;IlF2vWP;IkF7qWA;MAxHI,cA0CG;IlF8vWP;IkFhrWA;MAxHI,cA0CG;IlFiwWP;IkFnrWA;MAxHI,eA+CO;IlF+vWX;IkFtrWA;MAxHI,iBA+CO;IlFkwWX;IkFzrWA;MAxHI,uBA+CO;IlFqwWX;IkF5rWA;MAxHI,2BA0CG;IlF6wWP;IkF/rWA;MAxHI,yBA0CG;IlFgxWP;IkFlsWA;MAxHI,uBA0CG;IlFmxWP;IkFrsWA;MAxHI,8BA0CG;IlFsxWP;IkFxsWA;MAxHI,6BA0CG;IlFyxWP;IkF3sWA;MAxHI,6BA0CG;IlF4xWP;IkF9sWA;MAxHI,oBA0CG;IlF+xWP;IkFjtWA;MAxHI,kBA0CG;IlFkyWP;IkFptWA;MAxHI,qBA0CG;IlFqyWP;IkFvtWA;MAxHI,sBA0CG;IlFwyWP;IkF1tWA;MAxHI,wBA0CG;IlF2yWP;IkF7tWA;MAxHI,sBA0CG;IlF8yWP;IkFhuWA;MAxHI,oBA0CG;IlFizWP;IkFnuWA;MAxHI,uBA0CG;IlFozWP;IkFtuWA;MAxHI,qBA0CG;IlFuzWP;IkFzuWA;MAxHI,mBA0CG;IlF0zWP;IkF5uWA;MAxHI,qBA0CG;IlF6zWP;IkF/uWA;MAxHI,oBA0CG;IlFg0WP;IkFlvWA;MAxHI,yBA0CG;IlFm0WP;IkFrvWA;MAxHI,uBA0CG;IlFs0WP;IkFxvWA;MAxHI,qBA0CG;IlFy0WP;IkF3vWA;MAxHI,4BA0CG;IlF40WP;IkF9vWA;MAxHI,2BA0CG;IlF+0WP;IkFjwWA;MAxHI,sBA0CG;IlFk1WP;IkFpwWA;MAxHI,gBA0CG;IlFq1WP;IkFvwWA;MAxHI,sBA0CG;IlFw1WP;IkF1wWA;MAxHI,oBA0CG;IlF21WP;IkF7wWA;MAxHI,kBA0CG;IlF81WP;IkFhxWA;MAxHI,oBA0CG;IlFi2WP;IkFnxWA;MAxHI,mBA0CG;IlFo2WP;IkFtxWA;MAxHI,kBA0CG;IlFu2WP;IkFzxWA;MAxHI,gBA0CG;IlF02WP;IkF5xWA;MAxHI,mBA0CG;IlF62WP;IkF/xWA;MAxHI,oBA0CG;IlFg3WP;IkFlyWA;MAxHI,0BA0CG;IlFm3WP;IkFryWA;MAxHI,qCA0CG;IlFs3WP;IkFxyWA;MAxHI,qCA0CG;IlFy3WP;IkF3yWA;MAxHI,qCA0CG;IlF43WP;IkF9yWA;MAxHI,qCA0CG;IlF+3WP;IkFjzWA;MAxHI,mBA0CG;IlFk4WP;IkFpzWA;MAxHI,mBA+CO;IlFg4WX;IkFvzWA;MAxHI,sBA+CO;IlFm4WX;IkF1zWA;MAxHI,qBA+CO;IlFs4WX;IkF7zWA;MAxHI,SA0CG;IlF84WP;IkFh0WA;MAxHI,QA0CG;IlFi5WP;IkFn0WA;MAxHI,QA0CG;IlFo5WP;IkFt0WA;MAxHI,QA0CG;IlFu5WP;IkFz0WA;MAxHI,QA0CG;IlF05WP;IkF50WA;MAxHI,QA0CG;IlF65WP;IkF/0WA;MAxHI,QA0CG;IlFg6WP;IkFl1WA;MAxHI,QA0CG;IlFm6WP;IkFr1WA;MAxHI,SA0CG;IlFs6WP;IkFx1WA;MAxHI,eA0CG;IlFy6WP;IkF31WA;MAxHI,cA0CG;IlF46WP;IkF91WA;MAxHI,eA0CG;IlF+6WP;IkFj2WA;MAxHI,YA0CG;IlFk7WP;IkFp2WA;MAxHI,eA0CG;IlFq7WP;IkFv2WA;MAxHI,cA0CG;IlFw7WP;IkF12WA;MAxHI,YA0CG;IlF27WP;IkF72WA;MAxHI,cA0CG;IlF87WP;IkFh3WA;MAxHI,YA0CG;IlFi8WP;IkFn3WA;MAxHI,YA0CG;IlFo8WP;IkFt3WA;MAxHI,gBA0CG;IlFu8WP;IkFz3WA;MAxHI,sBA0CG;IlF08WP;IkF53WA;MAxHI,qBA0CG;IlF68WP;IkF/3WA;MAxHI,sBA0CG;IlFg9WP;IkFl4WA;MAxHI,mBA0CG;IlFm9WP;IkFr4WA;MAxHI,sBA0CG;IlFs9WP;IkFx4WA;MAxHI,qBA0CG;IlFy9WP;IkF34WA;MAxHI,mBA0CG;IlF49WP;IkF94WA;MAxHI,qBA0CG;IlF+9WP;IkFj5WA;MAxHI,mBA0CG;IlFk+WP;IkFp5WA;MAxHI,mBA0CG;IlFq+WP;IkFv5WA;MAxHI,eA0CG;IlFw+WP;IkF15WA;MAxHI,qBA0CG;IlF2+WP;IkF75WA;MAxHI,oBA0CG;IlF8+WP;IkFh6WA;MAxHI,qBA0CG;IlFi/WP;IkFn6WA;MAxHI,kBA0CG;IlFo/WP;IkFt6WA;MAxHI,qBA0CG;IlFu/WP;IkFz6WA;MAxHI,oBA0CG;IlF0/WP;IkF56WA;MAxHI,kBA0CG;IlF6/WP;IkF/6WA;MAxHI,oBA0CG;IlFggXP;IkFl7WA;MAxHI,kBA0CG;IlFmgXP;IkFr7WA;MAxHI,kBA0CG;IlFsgXP;IkFx7WA;MAxHI,qBA0CG;IlFygXP;IkF37WA;MAxHI,2BA0CG;IlF4gXP;IkF97WA;MAxHI,0BA0CG;IlF+gXP;IkFj8WA;MAxHI,2BA0CG;IlFkhXP;IkFp8WA;MAxHI,wBA0CG;IlFqhXP;IkFv8WA;MAxHI,2BA0CG;IlFwhXP;IkF18WA;MAxHI,0BA0CG;IlF2hXP;IkF78WA;MAxHI,wBA0CG;IlF8hXP;IkFh9WA;MAxHI,0BA0CG;IlFiiXP;IkFn9WA;MAxHI,wBA0CG;IlFoiXP;IkFt9WA;MAxHI,wBA0CG;IlFuiXP;IkFz9WA;MAxHI,oBA0CG;IlF0iXP;IkF59WA;MAxHI,0BA0CG;IlF6iXP;IkF/9WA;MAxHI,yBA0CG;IlFgjXP;IkFl+WA;MAxHI,0BA0CG;IlFmjXP;IkFr+WA;MAxHI,uBA0CG;IlFsjXP;IkFx+WA;MAxHI,0BA0CG;IlFyjXP;IkF3+WA;MAxHI,yBA0CG;IlF4jXP;IkF9+WA;MAxHI,uBA0CG;IlF+jXP;IkFj/WA;MAxHI,yBA0CG;IlFkkXP;IkFp/WA;MAxHI,uBA0CG;IlFqkXP;IkFv/WA;MAxHI,uBA0CG;IlFwkXP;IkF1/WA;MAxHI,mBA0CG;IlF2kXP;IkF7/WA;MAxHI,yBA0CG;IlF8kXP;IkFhgXA;MAxHI,wBA0CG;IlFilXP;IkFngXA;MAxHI,yBA0CG;IlFolXP;IkFtgXA;MAxHI,sBA0CG;IlFulXP;IkFzgXA;MAxHI,yBA0CG;IlF0lXP;IkF5gXA;MAxHI,wBA0CG;IlF6lXP;IkF/gXA;MAxHI,sBA0CG;IlFgmXP;IkFlhXA;MAxHI,wBA0CG;IlFmmXP;IkFrhXA;MAxHI,sBA0CG;IlFsmXP;IkFxhXA;MAxHI,sBA0CG;IlFymXP;IkF3hXA;MAxHI,sBA0CG;IlF4mXP;IkF9hXA;MAxHI,4BA0CG;IlF+mXP;IkFjiXA;MAxHI,2BA0CG;IlFknXP;IkFpiXA;MAxHI,4BA0CG;IlFqnXP;IkFviXA;MAxHI,yBA0CG;IlFwnXP;IkF1iXA;MAxHI,4BA0CG;IlF2nXP;IkF7iXA;MAxHI,2BA0CG;IlF8nXP;IkFhjXA;MAxHI,yBA0CG;IlFioXP;IkFnjXA;MAxHI,2BA0CG;IlFooXP;IkFtjXA;MAxHI,yBA0CG;IlFuoXP;IkFzjXA;MAxHI,6BA0CG;IlF0oXP;IkF5jXA;MAxHI,4BA0CG;IlF6oXP;IkF/jXA;MAxHI,yBA0CG;IlFgpXP;IkFlkXA;MAxHI,UA0CG;IlFmpXP;IkFrkXA;MAxHI,gBA0CG;IlFspXP;IkFxkXA;MAxHI,eA0CG;IlFypXP;IkF3kXA;MAxHI,gBA0CG;IlF4pXP;IkF9kXA;MAxHI,aA0CG;IlF+pXP;IkFjlXA;MAxHI,gBA0CG;IlFkqXP;IkFplXA;MAxHI,eA0CG;IlFqqXP;IkFvlXA;MAxHI,aA0CG;IlFwqXP;IkF1lXA;MAxHI,eA0CG;IlF2qXP;IkF7lXA;MAxHI,aA0CG;IlF8qXP;IkFhmXA;MAxHI,iBA0CG;IlFirXP;IkFnmXA;MAxHI,uBA0CG;IlForXP;IkFtmXA;MAxHI,sBA0CG;IlFurXP;IkFzmXA;MAxHI,uBA0CG;IlF0rXP;IkF5mXA;MAxHI,oBA0CG;IlF6rXP;IkF/mXA;MAxHI,uBA0CG;IlFgsXP;IkFlnXA;MAxHI,sBA0CG;IlFmsXP;IkFrnXA;MAxHI,oBA0CG;IlFssXP;IkFxnXA;MAxHI,sBA0CG;IlFysXP;IkF3nXA;MAxHI,oBA0CG;IlF4sXP;IkF9nXA;MAxHI,gBA0CG;IlF+sXP;IkFjoXA;MAxHI,sBA0CG;IlFktXP;IkFpoXA;MAxHI,qBA0CG;IlFqtXP;IkFvoXA;MAxHI,sBA0CG;IlFwtXP;IkF1oXA;MAxHI,mBA0CG;IlF2tXP;IkF7oXA;MAxHI,sBA0CG;IlF8tXP;IkFhpXA;MAxHI,qBA0CG;IlFiuXP;IkFnpXA;MAxHI,mBA0CG;IlFouXP;IkFtpXA;MAxHI,qBA0CG;IlFuuXP;IkFzpXA;MAxHI,mBA0CG;IlF0uXP;IkF5pXA;MAxHI,sBA0CG;IlF6uXP;IkF/pXA;MAxHI,4BA0CG;IlFgvXP;IkFlqXA;MAxHI,2BA0CG;IlFmvXP;IkFrqXA;MAxHI,4BA0CG;IlFsvXP;IkFxqXA;MAxHI,yBA0CG;IlFyvXP;IkF3qXA;MAxHI,4BA0CG;IlF4vXP;IkF9qXA;MAxHI,2BA0CG;IlF+vXP;IkFjrXA;MAxHI,yBA0CG;IlFkwXP;IkFprXA;MAxHI,2BA0CG;IlFqwXP;IkFvrXA;MAxHI,yBA0CG;IlFwwXP;IkF1rXA;MAxHI,qBA0CG;IlF2wXP;IkF7rXA;MAxHI,2BA0CG;IlF8wXP;IkFhsXA;MAxHI,0BA0CG;IlFixXP;IkFnsXA;MAxHI,2BA0CG;IlFoxXP;IkFtsXA;MAxHI,wBA0CG;IlFuxXP;IkFzsXA;MAxHI,2BA0CG;IlF0xXP;IkF5sXA;MAxHI,0BA0CG;IlF6xXP;IkF/sXA;MAxHI,wBA0CG;IlFgyXP;IkFltXA;MAxHI,0BA0CG;IlFmyXP;IkFrtXA;MAxHI,wBA0CG;IlFsyXP;IkFxtXA;MAxHI,oBA0CG;IlFyyXP;IkF3tXA;MAxHI,0BA0CG;IlF4yXP;IkF9tXA;MAxHI,yBA0CG;IlF+yXP;IkFjuXA;MAxHI,0BA0CG;IlFkzXP;IkFpuXA;MAxHI,uBA0CG;IlFqzXP;IkFvuXA;MAxHI,0BA0CG;IlFwzXP;IkF1uXA;MAxHI,yBA0CG;IlF2zXP;IkF7uXA;MAxHI,uBA0CG;IlF8zXP;IkFhvXA;MAxHI,yBA0CG;IlFi0XP;IkFnvXA;MAxHI,uBA0CG;IlFo0XP;IkFtvXA;MAxH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XA;MAxHI,yBA0CG;IlFgjYP;IkFl+XA;MAxHI,uBA0CG;IlFmjYP;IkFr+XA;MAxHI,8BA0CG;IlFsjYP;IkFx+XA;MAxHI,6BA0CG;IlFyjYP;IkF3+XA;MAxHI,6BA0CG;IlF4jYP;IkF9+XA;MAxHI,oBA0CG;IlF+jYP;IkFj/XA;MAxHI,kBA0CG;IlFkkYP;IkFp/XA;MAxHI,qBA0CG;IlFqkYP;IkFv/XA;MAxHI,sBA0CG;IlFwkYP;IkF1/XA;MAxHI,wBA0CG;IlF2kYP;IkF7/XA;MAxHI,sBA0CG;IlF8kYP;IkFhgYA;MAxHI,oBA0CG;IlFilYP;IkFngYA;MAxHI,uBA0CG;IlFolYP;IkFtgYA;MAxHI,qBA0CG;IlFulYP;IkFzgYA;MAxHI,mBA0CG;IlF0lYP;IkF5gYA;MAxHI,qBA0CG;IlF6lYP;IkF/gYA;MAxHI,oBA0CG;IlFgmYP;IkFlhYA;MAxHI,yBA0CG;IlFmmYP;IkFrhYA;MAxHI,uBA0CG;IlFsmYP;IkFxhYA;MAxHI,qBA0CG;IlFymYP;IkF3hYA;MAxHI,4BA0CG;IlF4mYP;IkF9hYA;MAxHI,2BA0CG;IlF+mYP;IkFjiYA;MAxHI,sBA0CG;IlFknYP;IkFpiYA;MAxHI,gBA0CG;IlFqnYP;IkFviYA;MAxHI,sBA0CG;IlFwnYP;IkF1iYA;MAxHI,oBA0CG;IlF2nYP;IkF7iYA;MAxHI,kBA0CG;IlF8nYP;IkFhjYA;MAxHI,oBA0CG;IlFioYP;IkFnjYA;MAxHI,mBA0CG;IlFooYP;IkFtjYA;MAxHI,kBA0CG;IlFuoYP;IkFzjYA;MAxHI,gBA0CG;IlF0oYP;IkF5jYA;MAxHI,mBA0CG;IlF6oYP;IkF/jYA;MAxHI,oBA0CG;IlFgpYP;IkFlkYA;MAxHI,0BA0CG;IlFmpYP;IkFrkYA;MAxHI,qCA0CG;IlFspYP;IkFxkYA;MAxHI,qCA0CG;IlFypYP;IkF3kYA;MAxHI,qCA0CG;IlF4pYP;IkF9kYA;MAxHI,qCA0CG;IlF+pYP;IkFjlYA;MAxHI,mBA0CG;IlFkqYP;IkFplYA;MAxHI,mBA+CO;IlFgqYX;IkFvlYA;MAxHI,sBA+CO;IlFmqYX;IkF1lYA;MAxHI,qBA+CO;IlFsqYX;IkF7lYA;MAxHI,SA0CG;IlF8qYP;IkFhmYA;MAxHI,QA0CG;IlFirYP;IkFnmYA;MAxHI,QA0CG;IlForYP;IkFtmYA;MAxHI,QA0CG;IlFurYP;IkFzmYA;MAxHI,QA0CG;IlF0rYP;IkF5mYA;MAxHI,QA0CG;IlF6rYP;IkF/mYA;MAxHI,QA0CG;IlFgsYP;IkFlnYA;MAxHI,QA0CG;IlFmsYP;IkFrnYA;MAxHI,SA0CG;IlFssYP;IkFxnYA;MAxHI,eA0CG;IlFysYP;IkF3nYA;MAxHI,cA0CG;IlF4sYP;IkF9nYA;MAxHI,eA0CG;IlF+sYP;IkFjoYA;MAxHI,YA0CG;IlFktYP;IkFpoYA;MAxHI,eA0CG;IlFqtYP;IkFvoYA;MAxHI,cA0CG;IlFwtYP;IkF1oYA;MAxHI,YA0CG;IlF2tYP;IkF7oYA;MAxHI,cA0CG;IlF8tYP;IkFhpYA;MAxHI,YA0CG;IlFiuYP;IkFnpYA;MAxHI,YA0CG;IlFouYP;IkFtpYA;MAxHI,gBA0CG;IlFuuYP;IkFzpYA;MAxHI,sBA0CG;IlF0uYP;IkF5pYA;MAxHI,qBA0CG;IlF6uYP;IkF/pYA;MAxHI,sBA0CG;IlFgvYP;IkFlqYA;MAxHI,mBA0CG;IlFmvYP;IkFrqYA;MAxHI,sBA0CG;IlFsvYP;IkFxqYA;MAxHI,qBA0CG;IlFyvYP;IkF3qYA;MAxHI,mBA0CG;IlF4vYP;IkF9qYA;MAxHI,qBA0CG;IlF+vYP;IkFjrYA;MAxHI,mBA0CG;IlFkwYP;IkFprYA;MAxHI,mBA0CG;IlFqwYP;IkFvrYA;MAxHI,eA0CG;IlFwwYP;IkF1rYA;MAxHI,qBA0CG;IlF2wYP;IkF7rYA;MAxHI,oBA0CG;IlF8wYP;IkFhsYA;MAxHI,qBA0CG;IlFixYP;IkFnsYA;MAxHI,kBA0CG;IlFoxYP;IkFtsYA;MAxHI,qBA0CG;IlFuxYP;IkFzsYA;MAxHI,oBA0CG;IlF0xYP;IkF5sYA;MAxHI,kBA0CG;IlF6xYP;IkF/sYA;MAxHI,oBA0CG;IlFgyYP;IkFltYA;MAxHI,kBA0CG;IlFmyYP;IkFrtYA;MAxHI,kBA0CG;IlFsyYP;IkFxtYA;MAxHI,qBA0CG;IlFyyYP;IkF3tYA;MAxHI,2BA0CG;IlF4yYP;IkF9tYA;MAxHI,0BA0CG;IlF+yYP;IkFjuYA;MAxHI,2BA0CG;IlFkzYP;IkFpuYA;MAxHI,wBA0CG;IlFqzYP;IkFvuYA;MAxHI,2BA0CG;IlFwzYP;IkF1uYA;MAxHI,0BA0CG;IlF2zYP;IkF7uYA;MAxHI,wBA0CG;IlF8zYP;IkFhvYA;MAxHI,0BA0CG;IlFi0YP;IkFnvYA;MAxHI,wBA0CG;IlFo0YP;IkFtvYA;MAxHI,wBA0CG;IlFu0YP;IkFzvYA;MAxHI,oBA0CG;IlF00YP;IkF5vYA;MAxHI,0BA0CG;IlF60YP;IkF/vYA;MAxHI,yBA0CG;IlFg1YP;IkFlwYA;MAxHI,0BA0CG;IlFm1YP;IkFrwYA;MAxHI,uBA0CG;IlFs1YP;IkFxwYA;MAxHI,0BA0CG;IlFy1YP;IkF3wYA;MAxHI,yBA0CG;IlF41YP;IkF9wYA;MAxHI,uBA0CG;IlF+1YP;IkFjxYA;MAxHI,yBA0CG;IlFk2YP;IkFpxYA;MAxHI,uBA0CG;IlFq2YP;IkFvxYA;MAxHI,uBA0CG;IlFw2YP;IkF1xYA;MAxHI,mBA0CG;IlF22YP;IkF7xYA;MAxHI,yBA0CG;IlF82YP;IkFhyYA;MAxHI,wBA0CG;IlFi3YP;IkFnyYA;MAxHI,yBA0CG;IlFo3YP;IkFtyYA;MAxHI,sBA0CG;IlFu3YP;IkFzyYA;MAxHI,yBA0CG;IlF03YP;IkF5yYA;MAxHI,wBA0CG;IlF63YP;IkF/yYA;MAxHI,sBA0CG;IlFg4YP;IkFlzYA;MAxHI,wBA0CG;IlFm4YP;IkFrzYA;MAxHI,sBA0CG;IlFs4YP;IkFxzYA;MAxHI,sBA0CG;IlFy4YP;IkF3zYA;MAxHI,sBA0CG;IlF44YP;IkF9zYA;MAxHI,4BA0CG;IlF+4YP;IkFj0YA;MAxHI,2BA0CG;IlFk5YP;IkFp0YA;MAxHI,4BA0CG;IlFq5YP;IkFv0YA;MAxHI,yBA0CG;IlFw5YP;IkF10YA;MAxHI,4BA0CG;IlF25YP;IkF70YA;MAxHI,2BA0CG;IlF85YP;IkFh1YA;MAxHI,yBA0CG;IlFi6YP;IkFn1YA;MAxHI,2BA0CG;IlFo6YP;IkFt1YA;MAxHI,yBA0CG;IlFu6YP;IkFz1YA;MAxHI,6BA0CG;IlF06YP;IkF51YA;MAxHI,4BA0CG;IlF66YP;IkF/1YA;MAxHI,yBA0CG;IlFg7YP;IkFl2YA;MAxHI,UA0CG;IlFm7YP;IkFr2YA;MAxHI,gBA0CG;IlFs7YP;IkFx2YA;MAxHI,eA0CG;IlFy7YP;IkF32YA;MAxHI,gBA0CG;IlF47YP;IkF92YA;MAxHI,aA0CG;IlF+7YP;IkFj3YA;MAxHI,gBA0CG;IlFk8YP;IkFp3YA;MAxHI,eA0CG;IlFq8YP;IkFv3YA;MAxHI,aA0CG;IlFw8YP;IkF13YA;MAxHI,eA0CG;IlF28YP;IkF73YA;MAxHI,aA0CG;IlF88YP;IkFh4YA;MAxHI,iBA0CG;IlFi9YP;IkFn4YA;MAxHI,uBA0CG;IlFo9YP;IkFt4YA;MAxHI,sBA0CG;IlFu9YP;IkFz4YA;MAxHI,uBA0CG;IlF09YP;IkF54YA;MAxHI,oBA0CG;IlF69YP;IkF/4YA;MAxHI,uBA0CG;IlFg+YP;IkFl5YA;MAxHI,sBA0CG;IlFm+YP;IkFr5YA;MAxHI,oBA0CG;IlFs+YP;IkFx5YA;MAxHI,sBA0CG;IlFy+YP;IkF35YA;MAxHI,oBA0CG;IlF4+YP;IkF95YA;MAxHI,gBA0CG;IlF++YP;IkFj6YA;MAxHI,sBA0CG;IlFk/YP;IkFp6YA;MAxHI,qBA0CG;IlFq/YP;IkFv6YA;MAxHI,sBA0CG;IlFw/YP;IkF16YA;MAxHI,mBA0CG;IlF2/YP;IkF76YA;MAxHI,sBA0CG;IlF8/YP;IkFh7YA;MAxHI,qBA0CG;IlFigZP;IkFn7YA;MAxHI,mBA0CG;IlFogZP;IkFt7YA;MAxHI,qBA0CG;IlFugZP;IkFz7YA;MAxHI,mBA0CG;IlF0gZP;IkF57YA;MAxHI,sBA0CG;IlF6gZP;IkF/7YA;MAxHI,4BA0CG;IlFghZP;IkFl8YA;MAxHI,2BA0CG;IlFmhZP;IkFr8YA;MAxHI,4BA0CG;IlFshZP;IkFx8YA;MAxHI,yBA0CG;IlFyhZP;IkF38YA;MAxHI,4BA0CG;IlF4hZP;IkF98YA;MAxHI,2BA0CG;IlF+hZP;IkFj9YA;MAxHI,yBA0CG;IlFkiZP;IkFp9YA;MAxHI,2BA0CG;IlFqiZP;IkFv9YA;MAxHI,yBA0CG;IlFwiZP;IkF19YA;MAxHI,qBA0CG;IlF2iZP;IkF79YA;MAxHI,2BA0CG;IlF8iZP;IkFh+YA;MAxHI,0BA0CG;IlFijZP;IkFn+YA;MAxHI,2BA0CG;IlFojZP;IkFt+YA;MAxHI,wBA0CG;IlFujZP;IkFz+YA;MAxHI,2BA0CG;IlF0jZP;IkF5+YA;MAxHI,0BA0CG;IlF6jZP;IkF/+YA;MAxHI,wBA0CG;IlFgkZP;IkFl/YA;MAxHI,0BA0CG;IlFmkZP;IkFr/YA;MAxHI,wBA0CG;IlFskZP;IkFx/YA;MAxHI,oBA0CG;IlFykZP;IkF3/YA;MAxHI,0BA0CG;IlF4kZP;IkF9/YA;MAxHI,yBA0CG;IlF+kZP;IkFjgZA;MAxHI,0BA0CG;IlFklZP;IkFpgZA;MAxHI,uBA0CG;IlFqlZP;IkFvgZA;MAxHI,0BA0CG;IlFwlZP;IkF1gZA;MAxHI,yBA0CG;IlF2lZP;IkF7gZA;MAxHI,uBA0CG;IlF8lZP;IkFhhZA;MAxHI,yBA0CG;IlFimZP;IkFnhZA;MAxHI,uBA0CG;IlFomZP;IkFthZA;MAxHI,uBA0CG;IlFumZP;IkFzhZA;MAxHI,6BA0CG;IlF0mZP;IkF5hZA;MAxHI,4BA0CG;IlF6mZP;IkF/hZA;MAxHI,6BA0CG;IlFgnZP;IkFliZA;MAxHI,0BA0CG;IlFmnZP;IkFriZA;MAxHI,6BA0CG;IlFsnZP;IkFxiZA;MAxHI,4BA0CG;IlFynZP;IkF3iZA;MAxHI,0BA0CG;IlF4nZP;IkF9iZA;MAxHI,4BA0CG;IlF+nZP;IkFjjZA;MAxHI,0BA0CG;IlFkoZP;IkFpjZA;MAxHI,MA0CG;IlFqoZP;IkFvjZA;MAxHI,YA0CG;IlFwoZP;IkF1jZA;MAxHI,WA0CG;IlF2oZP;IkF7jZA;MAxHI,YA0CG;IlF8oZP;IkFhkZA;MAxHI,SA0CG;IlFipZP;IkFnkZA;MAxHI,YA0CG;IlFopZP;IkFtkZA;MAxHI,WA0CG;IlFupZP;IkFzkZA;MAxHI,SA0CG;IlF0pZP;IkF5kZA;MAxHI,WA0CG;IlF6pZP;IkF/kZA;MAxHI,SA0CG;IlFgqZP;IkFllZA;MAxHI,UA0CG;IlFmqZP;IkFrlZA;MAxHI,gBA0CG;IlFsqZP;IkFxlZA;MAxHI,eA0CG;IlFyqZP;IkF3lZA;MAxHI,gBA0CG;IlF4qZP;IkF9lZA;MAxHI,aA0CG;IlF+qZP;IkFjmZA;MAxHI,gBA0CG;IlFkrZP;IkFpmZA;MAxHI,eA0CG;IlFqrZP;IkFvmZA;MAxHI,aA0CG;IlFwrZP;IkF1mZA;MAxHI,eA0CG;IlF2rZP;IkF7mZA;MAxHI,aA0CG;IlF8rZP;IkFhnZA;MAxHI,kBA0CG;MA1CH,aA0CG;IlFisZP;IkFnnZA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlFosZP;IkFtnZA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFusZP;IkFznZA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlF0sZP;IkF5nZA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlF6sZP;IkF/nZA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlFgtZP;IkFloZA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFmtZP;IkFroZA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlFstZP;IkFxoZA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFytZP;IkF3oZA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlF4tZP;IkF9oZA;MAxHI,iBA0CG;IlF+tZP;IkFjpZA;MAxHI,eA0CG;IlFkuZP;IkFppZA;MAxHI,kBA0CG;IlFquZP;EACF;EW7tZE;IuEqEA;MAxHI,mBA0CG;IlF0uZP;IkF5pZA;MAxHI,iBA0CG;IlF6uZP;IkF/pZA;MAxHI,WA0CG;IlFgvZP;IkFlqZA;MAxHI,sBA0CG;MA1CH,mBA0CG;IlFmvZP;IkFrqZA;MAxHI,oBA0CG;MA1CH,iBA0CG;IlFsvZP;IkFxqZA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlFyvZP;IkF3qZA;MAxHI,yBA0CG;MA1CH,sBA0CG;IlF4vZP;IkF9qZA;MAxHI,mBA0CG;MA1CH,gBA0CG;IlF+vZP;IkFjrZA;MAxHI,eA+CO;IlF6vZX;IkFprZA;MAxHI,qBA+CO;IlFgwZX;IkFvrZA;MAxHI,cA+CO;IlFmwZX;IkF1rZA;MAxHI,aA+CO;IlFswZX;IkF7rZA;MAxHI,oBA+CO;IlFywZX;IkFhsZA;MAxHI,cA+CO;IlF4wZX;IkFnsZA;MAxHI,kBA+CO;IlF+wZX;IkFtsZA;MAxHI,mBA+CO;IlFkxZX;IkFzsZA;MAxHI,aA+CO;IlFqxZX;IkF5sZA;MAxHI,oBA+CO;IlFwxZX;IkF/sZA;MAxHI,iBA+CO;IlF2xZX;IkFltZA;MAxHI,kBA+CO;IlF8xZX;IkFrtZA;MAxHI,aA+CO;IlFiyZX;IkFxtZA;MAxHI,cA0CG;IlFyyZP;IkF3tZA;MAxHI,mBA+CO;IlFuyZX;IkF9tZA;MAxHI,sBA+CO;IlF0yZX;IkFjuZA;MAxHI,2BA+CO;IlF6yZX;IkFpuZA;MAxHI,8BA+CO;IlFgzZX;IkFvuZA;MAxHI,YA0CG;IlFwzZP;IkF1uZA;MAxHI,YA0CG;IlF2zZP;IkF7uZA;MAxHI,cA0CG;IlF8zZP;IkFhvZA;MAxHI,cA0CG;IlFi0ZP;IkFnvZA;MAxHI,eA+CO;IlF+zZX;IkFtvZA;MAxHI,iBA+CO;IlFk0ZX;IkFzvZA;MAxHI,uBA+CO;IlFq0ZX;IkF5vZA;MAxHI,2BA0CG;IlF60ZP;IkF/vZA;MAxHI,yBA0CG;IlFg1ZP;IkFlwZA;MAxHI,uBA0CG;IlFm1ZP;IkFrwZA;MAxHI,8BA0CG;IlFs1ZP;IkFxwZA;MAxHI,6BA0CG;IlFy1ZP;IkF3wZA;MAxHI,6BA0CG;IlF41ZP;IkF9wZA;MAxHI,oBA0CG;IlF+1ZP;IkFjxZA;MAxHI,kBA0CG;IlFk2ZP;IkFpxZA;MAxHI,qBA0CG;IlFq2ZP;IkFvxZA;MAxHI,sBA0CG;IlFw2ZP;IkF1xZA;MAxHI,wBA0CG;IlF22ZP;IkF7xZA;MAxHI,sBA0CG;IlF82ZP;IkFhyZA;MAxHI,oBA0CG;IlFi3ZP;IkFnyZA;MAxHI,uBA0CG;IlFo3ZP;IkFtyZA;MAxHI,qBA0CG;IlFu3ZP;IkFzyZA;MAxHI,mBA0CG;IlF03ZP;IkF5yZA;MAxHI,qBA0CG;IlF63ZP;IkF/yZA;MAxHI,oBA0CG;IlFg4ZP;IkFlzZA;MAxHI,yBA0CG;IlFm4ZP;IkFrzZA;MAxHI,uBA0CG;IlFs4ZP;IkFxzZA;MAxHI,qBA0CG;IlFy4ZP;IkF3zZA;MAxHI,4BA0CG;IlF44ZP;IkF9zZA;MAxHI,2BA0CG;IlF+4ZP;IkFj0ZA;MAxHI,sBA0CG;IlFk5ZP;IkFp0ZA;MAxHI,gBA0CG;IlFq5ZP;IkFv0ZA;MAxHI,sBA0CG;IlFw5ZP;IkF10ZA;MAxHI,oBA0CG;IlF25ZP;IkF70ZA;MAxHI,kBA0CG;IlF85ZP;IkFh1ZA;MAxHI,oBA0CG;IlFi6ZP;IkFn1ZA;MAxHI,mBA0CG;IlFo6ZP;IkFt1ZA;MAxHI,kBA0CG;IlFu6ZP;IkFz1ZA;MAxHI,gBA0CG;IlF06ZP;IkF51ZA;MAxHI,mBA0CG;IlF66ZP;IkF/1ZA;MAxHI,oBA0CG;IlFg7ZP;IkFl2ZA;MAxHI,0BA0CG;IlFm7ZP;IkFr2ZA;MAxHI,qCA0CG;IlFs7ZP;IkFx2ZA;MAxHI,qCA0CG;IlFy7ZP;IkF32ZA;MAxHI,qCA0CG;IlF47ZP;IkF92ZA;MAxHI,qCA0CG;IlF+7ZP;IkFj3ZA;MAxHI,mBA0CG;IlFk8ZP;IkFp3ZA;MAxHI,mBA+CO;IlFg8ZX;IkFv3ZA;MAxHI,sBA+CO;IlFm8ZX;IkF13ZA;MAxHI,qBA+CO;IlFs8ZX;IkF73ZA;MAxHI,SA0CG;IlF88ZP;IkFh4ZA;MAxHI,QA0CG;IlFi9ZP;IkFn4ZA;MAxHI,QA0CG;IlFo9ZP;IkFt4ZA;MAxHI,QA0CG;IlFu9ZP;IkFz4ZA;MAxHI,QA0CG;IlF09ZP;IkF54ZA;MAxHI,QA0CG;IlF69ZP;IkF/4ZA;MAxHI,QA0CG;IlFg+ZP;IkFl5ZA;MAxHI,QA0CG;IlFm+ZP;IkFr5ZA;MAxHI,SA0CG;IlFs+ZP;IkFx5ZA;MAxHI,eA0CG;IlFy+ZP;IkF35ZA;MAxHI,cA0CG;IlF4+ZP;IkF95ZA;MAxHI,eA0CG;IlF++ZP;IkFj6ZA;MAxHI,YA0CG;IlFk/ZP;IkFp6ZA;MAxHI,eA0CG;IlFq/ZP;IkFv6ZA;MAxHI,cA0CG;IlFw/ZP;IkF16ZA;MAxHI,YA0CG;IlF2/ZP;IkF76ZA;MAxHI,cA0CG;IlF8/ZP;IkFh7ZA;MAxHI,YA0CG;IlFigaP;IkFn7ZA;MAxHI,YA0CG;IlFogaP;IkFt7ZA;MAxHI,gBA0CG;IlFugaP;IkFz7ZA;MAxHI,sBA0CG;IlF0gaP;IkF57ZA;MAxHI,qBA0CG;IlF6gaP;IkF/7ZA;MAxHI,sBA0CG;IlFghaP;IkFl8ZA;MAxHI,mBA0CG;IlFmhaP;IkFr8ZA;MAxHI,sBA0CG;IlFshaP;IkFx8ZA;MAxHI,qBA0CG;IlFyhaP;IkF38ZA;MAxHI,mBA0CG;IlF4haP;IkF98ZA;MAxHI,qBA0CG;IlF+haP;IkFj9ZA;MAxHI,mBA0CG;IlFkiaP;IkFp9ZA;MAxHI,mBA0CG;IlFqiaP;IkFv9ZA;MAxHI,eA0CG;IlFwiaP;IkF19ZA;MAxHI,qBA0CG;IlF2iaP;IkF79ZA;MAxHI,oBA0CG;IlF8iaP;IkFh+ZA;MAxHI,qBA0CG;IlFijaP;IkFn+ZA;MAxHI,kBA0CG;IlFojaP;IkFt+ZA;MAxHI,qBA0CG;IlFujaP;IkFz+ZA;MAxHI,oBA0CG;IlF0jaP;IkF5+ZA;MAxHI,kBA0CG;IlF6jaP;IkF/+ZA;MAxHI,oBA0CG;IlFgkaP;IkFl/ZA;MAxHI,kBA0CG;IlFmkaP;IkFr/ZA;MAxHI,kBA0CG;IlFskaP;IkFx/ZA;MAxHI,qBA0CG;IlFykaP;IkF3/ZA;MAxHI,2BA0CG;IlF4kaP;IkF9/ZA;MAxHI,0BA0CG;IlF+kaP;IkFjgaA;MAxHI,2BA0CG;IlFklaP;IkFpgaA;MAxHI,wBA0CG;IlFqlaP;IkFvgaA;MAxHI,2BA0CG;IlFwlaP;IkF1gaA;MAxHI,0BA0CG;IlF2laP;IkF7gaA;MAxHI,wBA0CG;IlF8laP;IkFhhaA;MAxHI,0BA0CG;IlFimaP;IkFnhaA;MAxHI,wBA0CG;IlFomaP;IkFthaA;MAxHI,wBA0CG;IlFumaP;IkFzhaA;MAxHI,oBA0CG;IlF0maP;IkF5haA;MAxHI,0BA0CG;IlF6maP;IkF/haA;MAxHI,yBA0CG;IlFgnaP;IkFliaA;MAxHI,0BA0CG;IlFmnaP;IkFriaA;MAxHI,uBA0CG;IlFsnaP;IkFxiaA;MAxHI,0BA0CG;IlFynaP;IkF3iaA;MAxHI,yBA0CG;IlF4naP;IkF9iaA;MAxHI,uBA0CG;IlF+naP;IkFjjaA;MAxHI,yBA0CG;IlFkoaP;IkFpjaA;MAxHI,uBA0CG;IlFqoaP;IkFvjaA;MAxHI,uBA0CG;IlFwoaP;IkF1jaA;MAxHI,mBA0CG;IlF2oaP;IkF7jaA;MAxHI,yBA0CG;IlF8oaP;IkFhkaA;MAxHI,wBA0CG;IlFipaP;IkFnkaA;MAxHI,yBA0CG;IlFopaP;IkFtkaA;MAxHI,sBA0CG;IlFupaP;IkFzkaA;MAxHI,yBA0CG;IlF0paP;IkF5kaA;MAxHI,wBA0CG;IlF6paP;IkF/kaA;MAxHI,sBA0CG;IlFgqaP;IkFllaA;MAxHI,wBA0CG;IlFmqaP;IkFrlaA;MAxHI,sBA0CG;IlFsqaP;IkFxlaA;MAxHI,sBA0CG;IlFyqaP;IkF3laA;MAxHI,sBA0CG;IlF4qaP;IkF9laA;MAxHI,4BA0CG;IlF+qaP;IkFjmaA;MAxHI,2BA0CG;IlFkraP;IkFpmaA;MAxHI,4BA0CG;IlFqraP;IkFvmaA;MAxHI,yBA0CG;IlFwraP;IkF1maA;MAxHI,4BA0CG;IlF2raP;IkF7maA;MAxHI,2BA0CG;IlF8raP;IkFhnaA;MAxHI,yBA0CG;IlFisaP;IkFnnaA;MAxHI,2BA0CG;IlFosaP;IkFtnaA;MAxHI,yBA0CG;IlFusaP;IkFznaA;MAxHI,6BA0CG;IlF0saP;IkF5naA;MAxHI,4BA0CG;IlF6saP;IkF/naA;MAxHI,yBA0CG;IlFgtaP;IkFloaA;MAxHI,UA0CG;IlFmtaP;IkFroaA;MAxHI,gBA0CG;IlFstaP;IkFxoaA;MAxHI,eA0CG;IlFytaP;IkF3oaA;MAxHI,gBA0CG;IlF4taP;IkF9oaA;MAxHI,aA0CG;IlF+taP;IkFjpaA;MAxHI,gBA0CG;IlFkuaP;IkFppaA;MAxHI,eA0CG;IlFquaP;IkFvpaA;MAxHI,aA0CG;IlFwuaP;IkF1paA;MAxHI,eA0CG;IlF2uaP;IkF7paA;MAxHI,aA0CG;IlF8uaP;IkFhqaA;MAxHI,iBA0CG;IlFivaP;IkFnqaA;MAxHI,uBA0CG;IlFovaP;IkFtqaA;MAxHI,sBA0CG;IlFuvaP;IkFzqaA;MAxHI,uBA0CG;IlF0vaP;IkF5qaA;MAxHI,oBA0CG;IlF6vaP;IkF/qaA;MAxHI,uBA0CG;IlFgwaP;IkFlraA;MAxHI,sBA0CG;IlFmwaP;IkFrraA;MAxHI,oBA0CG;IlFswaP;IkFxraA;MAxHI,sBA0CG;IlFywaP;IkF3raA;MAxHI,oBA0CG;IlF4waP;IkF9raA;MAxHI,gBA0CG;IlF+waP;IkFjsaA;MAxHI,sBA0CG;IlFkxaP;IkFpsaA;MAxHI,qBA0CG;IlFqxaP;IkFvsaA;MAxHI,sBA0CG;IlFwxaP;IkF1saA;MAxHI,mBA0CG;IlF2xaP;IkF7saA;MAxHI,sBA0CG;IlF8xaP;IkFhtaA;MAxHI,qBA0CG;IlFiyaP;IkFntaA;MAxHI,mBA0CG;IlFoyaP;IkFttaA;MAxHI,qBA0CG;IlFuyaP;IkFztaA;MAxHI,mBA0CG;IlF0yaP;IkF5taA;MAxHI,sBA0CG;IlF6yaP;IkF/taA;MAxHI,4BA0CG;IlFgzaP;IkFluaA;MAxHI,2BA0CG;IlFmzaP;IkFruaA;MAxHI,4BA0CG;IlFszaP;IkFxuaA;MAxHI,yBA0CG;IlFyzaP;IkF3uaA;MAxHI,4BA0CG;IlF4zaP;IkF9uaA;MAxHI,2BA0CG;IlF+zaP;IkFjvaA;MAxHI,yBA0CG;IlFk0aP;IkFpvaA;MAxHI,2BA0CG;IlFq0aP;IkFvvaA;MAxHI,yBA0CG;IlFw0aP;IkF1vaA;MAxHI,qBA0CG;IlF20aP;IkF7vaA;MAxHI,2BA0CG;IlF80aP;IkFhwaA;MAxHI,0BA0CG;IlFi1aP;IkFnwaA;MAxHI,2BA0CG;IlFo1aP;IkFtwaA;MAxHI,wBA0CG;IlFu1aP;IkFzwaA;MAxHI,2BA0CG;IlF01aP;IkF5waA;MAxHI,0BA0CG;IlF61aP;IkF/waA;MAxHI,wBA0CG;IlFg2aP;IkFlxaA;MAxHI,0BA0CG;IlFm2aP;IkFrxaA;MAxHI,wBA0CG;IlFs2aP;IkFxxaA;MAxHI,oBA0CG;IlFy2aP;IkF3xaA;MAxHI,0BA0CG;IlF42aP;IkF9xaA;MAxHI,yBA0CG;IlF+2aP;IkFjyaA;MAxHI,0BA0CG;IlFk3aP;IkFpyaA;MAxHI,uBA0CG;IlFq3aP;IkFvyaA;MAxHI,0BA0CG;IlFw3aP;IkF1ya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P;IkFnhbA;MAxHI,eA+CO;IlF+lbX;IkFthbA;MAxHI,iBA+CO;IlFkmbX;IkFzhbA;MAxHI,uBA+CO;IlFqmbX;IkF5hbA;MAxHI,2BA0CG;IlF6mbP;IkF/hbA;MAxHI,yBA0CG;IlFgnbP;IkFlibA;MAxHI,uBA0CG;IlFmnbP;IkFribA;MAxHI,8BA0CG;IlFsnbP;IkFxibA;MAxHI,6BA0CG;IlFynbP;IkF3ibA;MAxHI,6BA0CG;IlF4nbP;IkF9ibA;MAxHI,oBA0CG;IlF+nbP;IkFjjbA;MAxHI,kBA0CG;IlFkobP;IkFpjbA;MAxHI,qBA0CG;IlFqobP;IkFvjbA;MAxHI,sBA0CG;IlFwobP;IkF1jbA;MAxHI,wBA0CG;IlF2obP;IkF7jbA;MAxHI,sBA0CG;IlF8obP;IkFhkbA;MAxHI,oBA0CG;IlFipbP;IkFnkbA;MAxHI,uBA0CG;IlFopbP;IkFtkbA;MAxHI,qBA0CG;IlFupbP;IkFzkbA;MAxHI,mBA0CG;IlF0pbP;IkF5kbA;MAxHI,qBA0CG;IlF6pbP;IkF/kbA;MAxHI,oBA0CG;IlFgqbP;IkFllbA;MAxHI,yBA0CG;IlFmqbP;IkFrlbA;MAxHI,uBA0CG;IlFsqbP;IkFxlbA;MAxHI,qBA0CG;IlFyqbP;IkF3lbA;MAxHI,4BA0CG;IlF4qbP;IkF9lbA;MAxHI,2BA0CG;IlF+qbP;IkFjmbA;MAxHI,sBA0CG;IlFkrbP;IkFpmbA;MAxHI,gBA0CG;IlFqrbP;IkFvmbA;MAxHI,sBA0CG;IlFwrbP;IkF1mbA;MAxHI,oBA0CG;IlF2rbP;IkF7mbA;MAxHI,kBA0CG;IlF8rbP;IkFhnbA;MAxHI,oBA0CG;IlFisbP;IkFnnbA;MAxHI,mBA0CG;IlFosbP;IkFtnbA;MAxHI,kBA0CG;IlFusbP;IkFznbA;MAxHI,gBA0CG;IlF0sbP;IkF5nbA;MAxHI,mBA0CG;IlF6sbP;IkF/nbA;MAxHI,oBA0CG;IlFgtbP;IkFlobA;MAxHI,0BA0CG;IlFmtbP;IkFrobA;MAxHI,qCA0CG;IlFstbP;IkFxobA;MAxHI,qCA0CG;IlFytbP;IkF3obA;MAxHI,qCA0CG;IlF4tbP;IkF9obA;MAxHI,qCA0CG;IlF+tbP;IkFjpbA;MAxHI,mBA0CG;IlFkubP;IkFppbA;MAxHI,mBA+CO;IlFgubX;IkFvpbA;MAxHI,sBA+CO;IlFmubX;IkF1pbA;MAxHI,qBA+CO;IlFsubX;IkF7pbA;MAxHI,SA0CG;IlF8ubP;IkFhqbA;MAxHI,QA0CG;IlFivbP;IkFnqbA;MAxHI,QA0CG;IlFovbP;IkFtqbA;MAxHI,QA0CG;IlFuvbP;IkFzqbA;MAxHI,QA0CG;IlF0vbP;IkF5qbA;MAxHI,QA0CG;IlF6vbP;IkF/qbA;MAxHI,QA0CG;IlFgwbP;IkFlrbA;MAxHI,QA0CG;IlFmwbP;IkFrrbA;MAxHI,SA0CG;IlFswbP;IkFxrbA;MAxHI,eA0CG;IlFywbP;IkF3rbA;MAxHI,cA0CG;IlF4wbP;IkF9rbA;MAxHI,eA0CG;IlF+wbP;IkFjsbA;MAxHI,YA0CG;IlFkxbP;IkFpsbA;MAxHI,eA0CG;IlFqxbP;IkFvsbA;MAxHI,cA0CG;IlFwxbP;IkF1sbA;MAxHI,YA0CG;IlF2xbP;IkF7sbA;MAxHI,cA0CG;IlF8xbP;IkFhtbA;MAxHI,YA0CG;IlFiybP;IkFntbA;MAxHI,YA0CG;IlFoybP;IkFttbA;MAxHI,gBA0CG;IlFuybP;IkFztbA;MAxHI,sBA0CG;IlF0ybP;IkF5tbA;MAxHI,qBA0CG;IlF6ybP;IkF/tbA;MAxHI,sBA0CG;IlFgzbP;IkFlubA;MAxHI,mBA0CG;IlFmzbP;IkFrubA;MAxHI,sBA0CG;IlFszbP;IkFxubA;MAxHI,qBA0CG;IlFyzbP;IkF3ubA;MAxHI,mBA0CG;IlF4zbP;IkF9ubA;MAxHI,qBA0CG;IlF+zbP;IkFjvbA;MAxHI,mBA0CG;IlFk0bP;IkFpvbA;MAxHI,mBA0CG;IlFq0bP;IkFvvbA;MAxHI,eA0CG;IlFw0bP;IkF1vbA;MAxHI,qBA0CG;IlF20bP;IkF7vbA;MAxHI,oBA0CG;IlF80bP;IkFhwbA;MAxHI,qBA0CG;IlFi1bP;IkFnwbA;MAxHI,kBA0CG;IlFo1bP;IkFtwbA;MAxHI,qBA0CG;IlFu1bP;IkFzwbA;MAxHI,oBA0CG;IlF01bP;IkF5wbA;MAxHI,kBA0CG;IlF61bP;IkF/wbA;MAxHI,oBA0CG;IlFg2bP;IkFlxbA;MAxHI,kBA0CG;IlFm2bP;IkFrxbA;MAxHI,kBA0CG;IlFs2bP;IkFxxbA;MAxHI,qBA0CG;IlFy2bP;IkF3xbA;MAxHI,2BA0CG;IlF42bP;IkF9xbA;MAxHI,0BA0CG;IlF+2bP;IkFjybA;MAxHI,2BA0CG;IlFk3bP;IkFpybA;MAxHI,wBA0CG;IlFq3bP;IkFvybA;MAxHI,2BA0CG;IlFw3bP;IkF1ybA;MAxHI,0BA0CG;IlF23bP;IkF7ybA;MAxHI,wBA0CG;IlF83bP;IkFhzbA;MAxHI,0BA0CG;IlFi4bP;IkFnzbA;MAxHI,wBA0CG;IlFo4bP;IkFtzbA;MAxHI,wBA0CG;IlFu4bP;IkFzzbA;MAxHI,oBA0CG;IlF04bP;IkF5zbA;MAxHI,0BA0CG;IlF64bP;IkF/zbA;MAxHI,yBA0CG;IlFg5bP;IkFl0bA;MAxHI,0BA0CG;IlFm5bP;IkFr0bA;MAxHI,uBA0CG;IlFs5bP;IkFx0bA;MAxHI,0BA0CG;IlFy5bP;IkF30bA;MAxHI,yBA0CG;IlF45bP;IkF90bA;MAxHI,uBA0CG;IlF+5bP;IkFj1bA;MAxHI,yBA0CG;IlFk6bP;IkFp1bA;MAxHI,uBA0CG;IlFq6bP;IkFv1bA;MAxHI,uBA0CG;IlFw6bP;IkF11bA;MAxHI,mBA0CG;IlF26bP;IkF71bA;MAxHI,yBA0CG;IlF86bP;IkFh2bA;MAxHI,wBA0CG;IlFi7bP;IkFn2bA;MAxHI,yBA0CG;IlFo7bP;IkFt2bA;MAxHI,sBA0CG;IlFu7bP;IkFz2bA;MAxHI,yBA0CG;IlF07bP;IkF52bA;MAxHI,wBA0CG;IlF67bP;IkF/2bA;MAxHI,sBA0CG;IlFg8bP;IkFl3bA;MAxHI,wBA0CG;IlFm8bP;IkFr3bA;MAxHI,sBA0CG;IlFs8bP;IkFx3bA;MAxHI,sBA0CG;IlFy8bP;IkF33bA;MAxHI,sBA0CG;IlF48bP;IkF93bA;MAxHI,4BA0CG;IlF+8bP;IkFj4bA;MAxHI,2BA0CG;IlFk9bP;IkFp4bA;MAxHI,4BA0CG;IlFq9bP;IkFv4bA;MAxHI,yBA0CG;IlFw9bP;IkF14bA;MAxHI,4BA0CG;IlF29bP;IkF74bA;MAxHI,2BA0CG;IlF89bP;IkFh5bA;MAxHI,yBA0CG;IlFi+bP;IkFn5bA;MAxHI,2BA0CG;IlFo+bP;IkFt5bA;MAxHI,yBA0CG;IlFu+bP;IkFz5bA;MAxHI,6BA0CG;IlF0+bP;IkF55bA;MAxHI,4BA0CG;IlF6+bP;IkF/5bA;MAxHI,yBA0CG;IlFg/bP;IkFl6bA;MAxHI,UA0CG;IlFm/bP;IkFr6bA;MAxHI,gBA0CG;IlFs/bP;IkFx6bA;MAxHI,eA0CG;IlFy/bP;IkF36bA;MAxHI,gBA0CG;IlF4/bP;IkF96bA;MAxHI,aA0CG;IlF+/bP;IkFj7bA;MAxHI,gBA0CG;IlFkgcP;IkFp7bA;MAxHI,eA0CG;IlFqgcP;IkFv7bA;MAxHI,aA0CG;IlFwgcP;IkF17bA;MAxHI,eA0CG;IlF2gcP;IkF77bA;MAxHI,aA0CG;IlF8gcP;IkFh8bA;MAxHI,iBA0CG;IlFihcP;IkFn8bA;MAxHI,uBA0CG;IlFohcP;IkFt8bA;MAxHI,sBA0CG;IlFuhcP;IkFz8bA;MAxHI,uBA0CG;IlF0hcP;IkF58bA;MAxHI,oBA0CG;IlF6hcP;IkF/8bA;MAxHI,uBA0CG;IlFgicP;IkFl9bA;MAxHI,sBA0CG;IlFmicP;IkFr9bA;MAxHI,oBA0CG;IlFsicP;IkFx9bA;MAxHI,sBA0CG;IlFyicP;IkF39bA;MAxHI,oBA0CG;IlF4icP;IkF99bA;MAxHI,gBA0CG;IlF+icP;IkFj+bA;MAxHI,sBA0CG;IlFkjcP;IkFp+bA;MAxHI,qBA0CG;IlFqjcP;IkFv+bA;MAxHI,sBA0CG;IlFwjcP;IkF1+bA;MAxHI,mBA0CG;IlF2jcP;IkF7+bA;MAxHI,sBA0CG;IlF8jcP;IkFh/bA;MAxHI,qBA0CG;IlFikcP;IkFn/bA;MAxHI,mBA0CG;IlFokcP;IkFt/bA;MAxHI,qBA0CG;IlFukcP;IkFz/bA;MAxHI,mBA0CG;IlF0kcP;IkF5/bA;MAxHI,sBA0CG;IlF6kcP;IkF//bA;MAxHI,4BA0CG;IlFglcP;IkFlgcA;MAxHI,2BA0CG;IlFmlcP;IkFrgcA;MAxHI,4BA0CG;IlFslcP;IkFxgcA;MAxHI,yBA0CG;IlFylcP;IkF3gcA;MAxHI,4BA0CG;IlF4lcP;IkF9gcA;MAxHI,2BA0CG;IlF+lcP;IkFjhcA;MAxHI,yBA0CG;IlFkmcP;IkFphcA;MAxHI,2BA0CG;IlFqmcP;IkFvhcA;MAxHI,yBA0CG;IlFwmcP;IkF1hcA;MAxHI,qBA0CG;IlF2mcP;IkF7hcA;MAxHI,2BA0CG;IlF8mcP;IkFhicA;MAxHI,0BA0CG;IlFincP;IkFnicA;MAxHI,2BA0CG;IlFoncP;IkFticA;MAxHI,wBA0CG;IlFuncP;IkFzicA;MAxHI,2BA0CG;IlF0ncP;IkF5icA;MAxHI,0BA0CG;IlF6ncP;IkF/icA;MAxHI,wBA0CG;IlFgocP;IkFljcA;MAxHI,0BA0CG;IlFmocP;IkFrjcA;MAxHI,wBA0CG;IlFsocP;IkFxjcA;MAxHI,oBA0CG;IlFyocP;IkF3jcA;MAxHI,0BA0CG;IlF4ocP;IkF9jcA;MAxHI,yBA0CG;IlF+ocP;IkFjkcA;MAxHI,0BA0CG;IlFkpcP;IkFpkcA;MAxHI,uBA0CG;IlFqpcP;IkFvkcA;MAxHI,0BA0CG;IlFwpcP;IkF1kcA;MAxHI,yBA0CG;IlF2pcP;IkF7kcA;MAxHI,uBA0CG;IlF8pcP;IkFhlcA;MAxHI,yBA0CG;IlFiqcP;IkFnlcA;MAxHI,uBA0CG;IlFoqcP;IkFtlcA;MAxHI,uBA0CG;IlFuqcP;IkFzlcA;MAxHI,6BA0CG;IlF0qcP;IkF5lcA;MAxHI,4BA0CG;IlF6qcP;IkF/lcA;MAxHI,6BA0CG;IlFgrcP;IkFlmcA;MAxHI,0BA0CG;IlFmrcP;IkFrmcA;MAxHI,6BA0CG;IlFsrcP;IkFxmcA;MAxHI,4BA0CG;IlFyrcP;IkF3mcA;MAxHI,0BA0CG;IlF4rcP;IkF9mcA;MAxHI,4BA0CG;IlF+rcP;IkFjncA;MAxHI,0BA0CG;IlFkscP;IkFpncA;MAxHI,MA0CG;IlFqscP;IkFvncA;MAxHI,YA0CG;IlFwscP;IkF1ncA;MAxHI,WA0CG;IlF2scP;IkF7ncA;MAxHI,YA0CG;IlF8scP;IkFhocA;MAxHI,SA0CG;IlFitcP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A0CG;IlF07cP;IkF52cA;MAxHI,qBA0CG;IlF67cP;IkF/2cA;MAxHI,oBA0CG;IlFg8cP;IkFl3cA;MAxHI,yBA0CG;IlFm8cP;IkFr3cA;MAxHI,uBA0CG;IlFs8cP;IkFx3cA;MAxHI,qBA0CG;IlFy8cP;IkF33cA;MAxHI,4BA0CG;IlF48cP;IkF93cA;MAxHI,2BA0CG;IlF+8cP;IkFj4cA;MAxHI,sBA0CG;IlFk9cP;IkFp4cA;MAxHI,gBA0CG;IlFq9cP;IkFv4cA;MAxHI,sBA0CG;IlFw9cP;IkF14cA;MAxHI,oBA0CG;IlF29cP;IkF74cA;MAxHI,kBA0CG;IlF89cP;IkFh5cA;MAxHI,oBA0CG;IlFi+cP;IkFn5cA;MAxHI,mBA0CG;IlFo+cP;IkFt5cA;MAxHI,kBA0CG;IlFu+cP;IkFz5cA;MAxHI,gBA0CG;IlF0+cP;IkF55cA;MAxHI,mBA0CG;IlF6+cP;IkF/5cA;MAxHI,oBA0CG;IlFg/cP;IkFl6cA;MAxHI,0BA0CG;IlFm/cP;IkFr6cA;MAxHI,qCA0CG;IlFs/cP;IkFx6cA;MAxHI,qCA0CG;IlFy/cP;IkF36cA;MAxHI,qCA0CG;IlF4/cP;IkF96cA;MAxHI,qCA0CG;IlF+/cP;IkFj7cA;MAxHI,mBA0CG;IlFkgdP;IkFp7cA;MAxHI,mBA+CO;IlFggdX;IkFv7cA;MAxHI,sBA+CO;IlFmgdX;IkF17cA;MAxHI,qBA+CO;IlFsgdX;IkF77cA;MAxHI,SA0CG;IlF8gdP;IkFh8cA;MAxHI,QA0CG;IlFihdP;IkFn8cA;MAxHI,QA0CG;IlFohdP;IkFt8cA;MAxHI,QA0CG;IlFuhdP;IkFz8cA;MAxHI,QA0CG;IlF0hdP;IkF58cA;MAxHI,QA0CG;IlF6hdP;IkF/8cA;MAxHI,QA0CG;IlFgidP;IkFl9cA;MAxHI,QA0CG;IlFmidP;IkFr9cA;MAxHI,SA0CG;IlFsidP;IkFx9cA;MAxHI,eA0CG;IlFyidP;IkF39cA;MAxHI,cA0CG;IlF4idP;IkF99cA;MAxHI,eA0CG;IlF+idP;IkFj+cA;MAxHI,YA0CG;IlFkjdP;IkFp+cA;MAxHI,eA0CG;IlFqjdP;IkFv+cA;MAxHI,cA0CG;IlFwjdP;IkF1+cA;MAxHI,YA0CG;IlF2jdP;IkF7+cA;MAxHI,cA0CG;IlF8jdP;IkFh/cA;MAxHI,YA0CG;IlFikdP;IkFn/cA;MAxHI,YA0CG;IlFokdP;IkFt/cA;MAxHI,gBA0CG;IlFukdP;IkFz/cA;MAxHI,sBA0CG;IlF0kdP;IkF5/cA;MAxHI,qBA0CG;IlF6kdP;IkF//cA;MAxHI,sBA0CG;IlFgldP;IkFlgdA;MAxHI,mBA0CG;IlFmldP;IkFrgdA;MAxHI,sBA0CG;IlFsldP;IkFxgdA;MAxHI,qBA0CG;IlFyldP;IkF3gdA;MAxHI,mBA0CG;IlF4ldP;IkF9gdA;MAxHI,qBA0CG;IlF+ldP;IkFjhdA;MAxHI,mBA0CG;IlFkmdP;IkFphdA;MAxHI,mBA0CG;IlFqmdP;IkFvhdA;MAxHI,eA0CG;IlFwmdP;IkF1hdA;MAxHI,qBA0CG;IlF2mdP;IkF7hdA;MAxHI,oBA0CG;IlF8mdP;IkFhidA;MAxHI,qBA0CG;IlFindP;IkFnidA;MAxHI,kBA0CG;IlFondP;IkFtidA;MAxHI,qBA0CG;IlFundP;IkFzidA;MAxHI,oBA0CG;IlF0ndP;IkF5idA;MAxHI,kBA0CG;IlF6ndP;IkF/idA;MAxHI,oBA0CG;IlFgodP;IkFljdA;MAxHI,kBA0CG;IlFmodP;IkFrjdA;MAxHI,kBA0CG;IlFsodP;IkFxjdA;MAxHI,qBA0CG;IlFyodP;IkF3jdA;MAxHI,2BA0CG;IlF4odP;IkF9jdA;MAxHI,0BA0CG;IlF+odP;IkFjkdA;MAxHI,2BA0CG;IlFkpdP;IkFpkdA;MAxHI,wBA0CG;IlFqpdP;IkFvkdA;MAxHI,2BA0CG;IlFwpdP;IkF1kdA;MAxHI,0BA0CG;IlF2pdP;IkF7kdA;MAxHI,wBA0CG;IlF8pdP;IkFhldA;MAxHI,0BA0CG;IlFiqdP;IkFnldA;MAxHI,wBA0CG;IlFoqdP;IkFtldA;MAxHI,wBA0CG;IlFuqdP;IkFzldA;MAxHI,oBA0CG;IlF0qdP;IkF5ldA;MAxHI,0BA0CG;IlF6qdP;IkF/ldA;MAxHI,yBA0CG;IlFgrdP;IkFlmdA;MAxHI,0BA0CG;IlFmrdP;IkFrmdA;MAxHI,uBA0CG;IlFsrdP;IkFxmdA;MAxHI,0BA0CG;IlFyrdP;IkF3mdA;MAxHI,yBA0CG;IlF4rdP;IkF9mdA;MAxHI,uBA0CG;IlF+rdP;IkFjndA;MAxHI,yBA0CG;IlFksdP;IkFpndA;MAxHI,uBA0CG;IlFqsdP;IkFvndA;MAxHI,uBA0CG;IlFwsdP;IkF1ndA;MAxHI,mBA0CG;IlF2sdP;IkF7ndA;MAxHI,yBA0CG;IlF8sdP;IkFhodA;MAxHI,wBA0CG;IlFitdP;IkFnodA;MAxHI,yBA0CG;IlFotdP;IkFtodA;MAxHI,sBA0CG;IlFutdP;IkFzodA;MAxHI,yBA0CG;IlF0tdP;IkF5odA;MAxHI,wBA0CG;IlF6tdP;IkF/odA;MAxHI,sBA0CG;IlFgudP;IkFlpdA;MAxHI,wBA0CG;IlFmudP;IkFrpdA;MAxHI,sBA0CG;IlFsudP;IkFxpdA;MAxHI,sBA0CG;IlFyudP;IkF3pdA;MAxHI,sBA0CG;IlF4udP;IkF9pdA;MAxHI,4BA0CG;IlF+udP;IkFjqdA;MAxHI,2BA0CG;IlFkvdP;IkFpqdA;MAxHI,4BA0CG;IlFqvdP;IkFvqdA;MAxHI,yBA0CG;IlFwvdP;IkF1qdA;MAxHI,4BA0CG;IlF2vdP;IkF7qdA;MAxHI,2BA0CG;IlF8vdP;IkFhrdA;MAxHI,yBA0CG;IlFiwdP;IkFnrdA;MAxHI,2BA0CG;IlFowdP;IkFtrdA;MAxHI,yBA0CG;IlFuwdP;IkFzrdA;MAxHI,6BA0CG;IlF0wdP;IkF5rdA;MAxHI,4BA0CG;IlF6wdP;IkF/rdA;MAxHI,yBA0CG;IlFgxdP;IkFlsdA;MAxHI,UA0CG;IlFmxdP;IkFrsdA;MAxHI,gBA0CG;IlFsxdP;IkFxsdA;MAxHI,eA0CG;IlFyxdP;IkF3sdA;MAxHI,gBA0CG;IlF4xdP;IkF9sdA;MAxHI,aA0CG;IlF+xdP;IkFjtdA;MAxHI,gBA0CG;IlFkydP;IkFptdA;MAxHI,eA0CG;IlFqydP;IkFvtdA;MAxHI,aA0CG;IlFwydP;IkF1tdA;MAxHI,eA0CG;IlF2ydP;IkF7tdA;MAxHI,aA0CG;IlF8ydP;IkFhudA;MAxHI,iBA0CG;IlFizdP;IkFnudA;MAxHI,uBA0CG;IlFozdP;IkFtudA;MAxHI,sBA0CG;IlFuzdP;IkFzudA;MAxHI,uBA0CG;IlF0zdP;IkF5udA;MAxHI,oBA0CG;IlF6zdP;IkF/udA;MAxHI,uBA0CG;IlFg0dP;IkFlvdA;MAxHI,sBA0CG;IlFm0dP;IkFrvdA;MAxHI,oBA0CG;IlFs0dP;IkFxvdA;MAxHI,sBA0CG;IlFy0dP;IkF3vdA;MAxHI,oBA0CG;IlF40dP;IkF9vdA;MAxHI,gBA0CG;IlF+0dP;IkFjwdA;MAxHI,sBA0CG;IlFk1dP;IkFpwdA;MAxHI,qBA0CG;IlFq1dP;IkFvwdA;MAxHI,sBA0CG;IlFw1dP;IkF1wdA;MAxHI,mBA0CG;IlF21dP;IkF7wdA;MAxHI,sBA0CG;IlF81dP;IkFhxdA;MAxHI,qBA0CG;IlFi2dP;IkFnxdA;MAxHI,mBA0CG;IlFo2dP;IkFtxdA;MAxHI,qBA0CG;IlFu2dP;IkFzxdA;MAxHI,mBA0CG;IlF02dP;IkF5xdA;MAxHI,sBA0CG;IlF62dP;IkF/xdA;MAxHI,4BA0CG;IlFg3dP;IkFlydA;MAxHI,2BA0CG;IlFm3dP;IkFrydA;MAxHI,4BA0CG;IlFs3dP;IkFxydA;MAxHI,yBA0CG;IlFy3dP;IkF3ydA;MAxHI,4BA0CG;IlF43dP;IkF9ydA;MAxHI,2BA0CG;IlF+3dP;IkFjzdA;MAxHI,yBA0CG;IlFk4dP;IkFpzdA;MAxHI,2BA0CG;IlFq4dP;IkFvzdA;MAxHI,yBA0CG;IlFw4dP;IkF1zdA;MAxHI,qBA0CG;IlF24dP;IkF7zdA;MAxHI,2BA0CG;IlF84dP;IkFh0dA;MAxHI,0BA0CG;IlFi5dP;IkFn0dA;MAxHI,2BA0CG;IlFo5dP;IkFt0dA;MAxHI,wBA0CG;IlFu5dP;IkFz0dA;MAxHI,2BA0CG;IlF05dP;IkF50dA;MAxHI,0BA0CG;IlF65dP;IkF/0dA;MAxHI,wBA0CG;IlFg6dP;IkFl1dA;MAxHI,0BA0CG;IlFm6dP;IkFr1dA;MAxHI,wBA0CG;IlFs6dP;IkFx1dA;MAxHI,oBA0CG;IlFy6dP;IkF31dA;MAxHI,0BA0CG;IlF46dP;IkF91dA;MAxHI,yBA0CG;IlF+6dP;IkFj2dA;MAxHI,0BA0CG;IlFk7dP;IkFp2dA;MAxHI,uBA0CG;IlFq7dP;IkFv2dA;MAxHI,0BA0CG;IlFw7dP;IkF12dA;MAxHI,yBA0CG;IlF27dP;IkF72dA;MAxHI,uBA0CG;IlF87dP;IkFh3dA;MAxHI,yBA0CG;IlFi8dP;IkFn3dA;MAxHI,uBA0CG;IlFo8dP;IkFt3dA;MAxHI,uBA0CG;IlFu8dP;IkFz3dA;MAxHI,6BA0CG;IlF08dP;IkF53dA;MAxHI,4BA0CG;IlF68dP;IkF/3dA;MAxHI,6BA0CG;IlFg9dP;IkFl4dA;MAxHI,0BA0CG;IlFm9dP;IkFr4dA;MAxHI,6BA0CG;IlFs9dP;IkFx4dA;MAxHI,4BA0CG;IlFy9dP;IkF34dA;MAxHI,0BA0CG;IlF49dP;IkF94dA;MAxHI,4BA0CG;IlF+9dP;IkFj5dA;MAxHI,0BA0CG;IlFk+dP;IkFp5dA;MAxHI,MA0CG;IlFq+dP;IkFv5dA;MAxHI,YA0CG;IlFw+dP;IkF15dA;MAxHI,WA0CG;IlF2+dP;IkF75dA;MAxHI,YA0CG;IlF8+dP;IkFh6dA;MAxHI,SA0CG;IlFi/dP;IkFn6dA;MAxHI,YA0CG;IlFo/dP;IkFt6dA;MAxHI,WA0CG;IlFu/dP;IkFz6dA;MAxHI,SA0CG;IlF0/dP;IkF56dA;MAxHI,WA0CG;IlF6/dP;IkF/6dA;MAxHI,SA0CG;IlFggeP;IkFl7dA;MAxHI,UA0CG;IlFmgeP;IkFr7dA;MAxHI,gBA0CG;IlFsgeP;IkFx7dA;MAxHI,eA0CG;IlFygeP;IkF37dA;MAxHI,gBA0CG;IlF4geP;IkF97dA;MAxHI,aA0CG;IlF+geP;IkFj8dA;MAxHI,gBA0CG;IlFkheP;IkFp8dA;MAxHI,eA0CG;IlFqheP;IkFv8dA;MAxHI,aA0CG;IlFwheP;IkF18dA;MAxHI,eA0CG;IlF2heP;IkF78dA;MAxHI,aA0CG;IlF8heP;IkFh9dA;MAxHI,kBA0CG;MA1CH,aA0CG;IlFiieP;IkFn9dA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlFoieP;IkFt9dA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFuieP;IkFz9dA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlF0ieP;IkF59dA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlF6ieP;IkF/9dA;MAxHI,wBA0CG;MA1CH,mBA0CG;IlFgjeP;IkFl+dA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFmjeP;IkFr+dA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlFsjeP;IkFx+dA;MAxHI,uBA0CG;MA1CH,kBA0CG;IlFyjeP;IkF3+dA;MAxHI,qBA0CG;MA1CH,gBA0CG;IlF4jeP;IkF9+dA;MAxHI,iBA0CG;IlF+jeP;IkFj/dA;MAxHI,eA0CG;IlFkkeP;IkFp/dA;MAxHI,kBA0CG;IlFqkeP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n  }\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n  .blockquote {\n    --blockquote-gap: calc(var(--spacer) / 2);\n    --blockquote-padding-x: var(--spacer);\n    --blockquote-margin-y: 1rem;\n    --blockquote-font-size: var(--font-size-md);\n    --blockquote-border-width: 0.25rem;\n    --blockquote-border-color: var(--border-color);\n    --blockquote-footer-font-size: var(--font-size-sm);\n    --blockquote-footer-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n  }\n  .blockquote > * {\n    margin-bottom: 0;\n  }\n  figure.blockquote blockquote {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-cell-padding-y: 0.5rem;\n    --table-cell-padding-x: 0.5rem;\n    --table-cell-vertical-align: top;\n    --table-color: var(--fg-body);\n    --table-bg: var(--bg-body);\n    --table-accent-bg: transparent;\n    --table-border-width: var(--border-width);\n    --table-border-color: var(--border-color);\n    --table-group-separator-color: currentcolor;\n    --table-striped-color: var(--table-color);\n    --table-striped-bg-factor: 5%;\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n    --table-active-color: var(--table-color);\n    --table-active-bg-factor: 10%;\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n    --table-hover-color: var(--table-color);\n    --table-hover-bg-factor: 7.5%;\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--table-border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    --table-cell-padding-y: .25rem;\n    --table-cell-padding-x: .25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--table-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--table-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n  }\n  .table-responsive {\n    container-type: inline-size;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .sm\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 576px) {\n    .sm\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .md\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 768px) {\n    .md\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .lg\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 1024px) {\n    .lg\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .xl\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 1280px) {\n    .xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .\\32 xl\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .table-stacked > thead {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    white-space: nowrap;\n    border: 0;\n  }\n  .table-stacked > tbody > tr {\n    display: block;\n    padding-block: var(--table-cell-padding-y);\n  }\n  .table-stacked > tbody > tr + tr {\n    border-block-start: var(--table-border-width) solid var(--table-border-color);\n  }\n  .table-stacked > tbody > tr > td {\n    display: block;\n    padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n    border: 0;\n  }\n  .table-stacked > tbody > tr > td:first-child {\n    font-weight: var(--font-weight-bold);\n  }\n  .table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n    display: block;\n    font-weight: var(--font-weight-semibold);\n    content: attr(data-cell);\n  }\n  .table-stacked > tbody > tr > td:not(:first-child) + td::before {\n    margin-block-start: 0.25rem;\n  }\n  @container (width < 576px) {\n    .sm\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .sm\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .sm\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .sm\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .sm\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .sm\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .sm\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 768px) {\n    .md\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .md\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .md\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .md\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .md\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .md\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .md\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 1024px) {\n    .lg\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .lg\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .lg\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .lg\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .lg\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .lg\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .lg\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 1280px) {\n    .xl\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .xl\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .xl\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .xl\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .xl\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .xl\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .xl\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 1536px) {\n    .\\32 xl\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .\\32 xl\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    --thumbnail-padding: 0.25rem;\n    --thumbnail-bg: var(--bg-body);\n    --thumbnail-border-width: var(--border-width);\n    --thumbnail-border-color: var(--border-color);\n    --thumbnail-border-radius: var(--border-radius);\n    --thumbnail-box-shadow: var(--box-shadow-sm);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    border-radius: var(--thumbnail-border-radius);\n    box-shadow: var(--thumbnail-box-shadow);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    --figure-gap: calc(var(--spacer) * 0.5);\n    --figure-caption-font-size: var(--font-size-sm);\n    --figure-caption-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: 1rem;\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.75);\n  }\n  .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.5);\n  }\n  .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.75em;\n  }\n  .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.5em;\n  }\n  .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.25em;\n  }\n  .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.125em;\n  }\n  .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1em;\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      transition: none;\n    }\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n  .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n    font-weight: 500;\n  }\n  .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 0.75rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 0.75rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 1.25rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 1.25rem;\n  }\n  .g-6,\n  .gx-6 {\n    --gutter-x: 1.5rem;\n  }\n  .g-6,\n  .gy-6 {\n    --gutter-y: 1.5rem;\n  }\n  .g-7,\n  .gx-7 {\n    --gutter-x: 2rem;\n  }\n  .g-7,\n  .gy-7 {\n    --gutter-y: 2rem;\n  }\n  .g-8,\n  .gx-8 {\n    --gutter-x: 2.5rem;\n  }\n  .g-8,\n  .gy-8 {\n    --gutter-y: 2.5rem;\n  }\n  .g-9,\n  .gx-9 {\n    --gutter-x: 3rem;\n  }\n  .g-9,\n  .gy-9 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .md\\:g-6,\n    .md\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-6,\n    .md\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-7,\n    .md\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .md\\:g-7,\n    .md\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .md\\:g-8,\n    .md\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .md\\:g-8,\n    .md\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .md\\:g-9,\n    .md\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-9,\n    .md\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0;\n  }\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n@layer forms {\n  .form-text {\n    --form-text-margin-top: 0.25rem;\n    --form-text-font-size: var(--font-size-sm);\n    --form-text-color: var(--fg-3);\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: var(--btn-input-min-height);\n    --control-padding-y: var(--btn-input-padding-y);\n    --control-padding-x: var(--btn-input-padding-x);\n    --control-font-size: var(--btn-input-font-size);\n    --control-line-height: var(--btn-input-line-height);\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-box-shadow: var(--box-shadow-inset);\n    --control-action-bg: var(--bg-1);\n    --control-action-hover-bg: var(--bg-2);\n    --control-transition-property: border-color, box-shadow;\n    --control-transition-timing: 0.15s ease-in-out;\n    --control-transition: var(--control-transition-property) var(--control-transition-timing);\n    --control-placeholder-color: var(--fg-3);\n    --control-disabled-color: var(--control-fg);\n    --control-disabled-bg: var(--bg-2);\n    --control-disabled-border-color: var(--control-border-color);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--control-box-shadow);\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::placeholder {\n    color: var(--control-placeholder-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    color: var(--control-disabled-color);\n    background-color: var(--control-disabled-bg);\n    border-color: var(--control-disabled-border-color);\n    opacity: 1;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    height: 1.5rem;\n    padding: 0;\n    margin-bottom: -0.125rem;\n  }\n  .form-control::-webkit-datetime-edit-fields-wrapper {\n    height: 1.5rem;\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-action-bg);\n    background-image: var(--gradient);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--control-action-hover-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0;\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  .form-control-sm {\n    --control-min-height: var(--btn-input-sm-min-height);\n    --control-padding-y: var(--btn-input-sm-padding-y);\n    --control-padding-x: var(--btn-input-sm-padding-x);\n    --control-font-size: var(--btn-input-sm-font-size);\n    --control-line-height: var(--btn-input-sm-line-height);\n    --control-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .form-control-lg {\n    --control-min-height: var(--btn-input-lg-min-height);\n    --control-padding-y: var(--btn-input-lg-padding-y);\n    --control-padding-x: var(--btn-input-lg-padding-x);\n    --control-font-size: var(--btn-input-lg-font-size);\n    --control-line-height: var(--btn-input-lg-line-height);\n    --control-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .checkgroup .description {\n    color: var(--fg-3);\n  }\n  .check {\n    --check-size: 1.25rem;\n    --check-margin-block: 0.125rem;\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-border-radius: 0.375rem;\n    --check-checked-bg: var(--control-checked-bg);\n    --check-checked-border-color: var(--control-checked-border-color);\n    --check-indeterminate-bg: var(--control-checked-bg);\n    --check-indeterminate-border-color: var(--control-checked-border-color);\n    --check-active-bg: var(--control-active-bg);\n    --check-active-border-color: var(--control-active-border-color);\n    --check-disabled-bg: var(--control-disabled-bg);\n    --check-disabled-opacity: var(--control-disabled-opacity);\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: var(--check-size);\n    height: var(--check-size);\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.3em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--theme-contrast, var(--primary-contrast));\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--fg-3);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .radiogroup .description {\n    color: var(--fg-3);\n  }\n  .radio {\n    --radio-size: 1.25rem;\n    --radio-margin-block: 0.125rem;\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--control-checked-bg);\n    --radio-checked-border-color: var(--control-checked-border-color);\n    --radio-disabled-bg: var(--control-disabled-bg);\n    --radio-disabled-opacity: var(--control-disabled-opacity);\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: 0.0625rem;\n    --switch-margin-block: 0.125rem;\n    --switch-bg: var(--bg-3);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--control-checked-bg);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--control-disabled-bg);\n    --switch-disabled-indicator-bg: var(--fg-3);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--theme-contrast, var(--switch-indicator-bg));\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n@layer forms {\n  .form-range {\n    --range-track-width: 100%;\n    --range-track-height: 0.5rem;\n    --range-track-cursor: pointer;\n    --range-track-bg: var(--bg-3);\n    --range-track-border-radius: 1rem;\n    --range-track-box-shadow: var(--box-shadow-inset);\n    --range-thumb-width: 1rem;\n    --range-thumb-height: var(--range-thumb-width);\n    --range-thumb-bg: var(--primary-base);\n    --range-thumb-border: var(--range-thumb-bg) solid var(--border-color);\n    --range-thumb-border-radius: 1rem;\n    --range-thumb-box-shadow: 0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%);\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n    --range-thumb-disabled-bg: var(--fg-3);\n    --range-thumb-transition-property: background-color, border-color, box-shadow;\n    --range-thumb-transition-timing: 0.15s ease-in-out;\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n    width: 100%;\n    height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:hover::-webkit-slider-thumb {\n    outline: var(--focus-ring-width) solid color-mix(in oklch, var(--primary-focus-ring), transparent);\n  }\n  .form-range:hover::-moz-range-thumb {\n    outline: var(--focus-ring-width) solid color-mix(in oklch, var(--primary-focus-ring), transparent);\n  }\n  .form-range:focus-visible {\n    outline: 0;\n  }\n  .form-range:focus-visible::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 0;\n  }\n  .form-range:focus-visible::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 0;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    background-image: var(--gradient);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n    background-image: var(--gradient);\n  }\n  .form-range::-webkit-slider-thumb {\n    margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n  }\n  .form-range::-moz-range-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    background-image: var(--gradient);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n    background-image: var(--gradient);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range::-moz-range-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n}\n@layer forms {\n  .form-floating {\n    --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n    --form-floating-line-height: 1.25;\n    --form-floating-padding-x: var(--btn-input-padding-x);\n    --form-floating-padding-y: 1rem;\n    --form-floating-input-padding-t: 1.625rem;\n    --form-floating-input-padding-b: 0.625rem;\n    --form-floating-label-height: 1.5em;\n    --form-floating-label-opacity: 0.65;\n    --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n    --form-floating-label-disabled-color: var(--fg-3);\n    --form-floating-transition-property: opacity, transform;\n    --form-floating-transition-timing: 0.1s ease-in-out;\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n    position: relative;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    max-width: 100%;\n    height: 100%;\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    overflow: hidden;\n    color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--input-btn-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: var(--form-floating-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    height: var(--form-floating-height);\n    min-height: var(--form-floating-height);\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    line-height: var(--form-floating-line-height);\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n    z-index: -1;\n    height: var(--form-floating-label-height);\n    content: \"\";\n    background-color: var(--control-bg);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--control-disabled-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--control-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--form-floating-label-disabled-color);\n  }\n}\n@layer components {\n  .input-group {\n    --input-group-addon-padding-y: var(--btn-input-padding-y);\n    --input-group-addon-padding-x: var(--btn-input-padding-x);\n    --input-group-addon-font-size: var(--btn-input-font-size);\n    --input-group-addon-line-height: var(--btn-input-line-height);\n    --input-group-addon-color: var(--fg-body);\n    --input-group-addon-bg: var(--bg-2);\n    --input-group-addon-border-color: var(--border-color);\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group > .input-group-btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group > .input-group-btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size);\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .input-group-sm > .form-control,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    min-height: var(--btn-input-sm-min-height);\n    padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n    font-size: var(--btn-input-sm-font-size);\n    border-radius: var(--btn-input-sm-border-radius);\n  }\n  .input-group-lg > .form-control,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    min-height: var(--btn-input-lg-min-height);\n    padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n    font-size: var(--btn-input-lg-font-size);\n    border-radius: var(--btn-input-lg-border-radius);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n  }\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n    --strength-width: 100%;\n  }\n}\n@layer components {\n  .otp {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-font-size);\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n    border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: var(--btn-input-sm-min-height);\n    --otp-font-size: var(--btn-input-sm-font-size);\n    --otp-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .otp-lg {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-lg-font-size);\n    --otp-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer forms {\n  .form-adorn {\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    gap: var(--form-adorn-gap);\n    align-items: center;\n  }\n  .form-adorn:focus-visible {\n    outline: 0;\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n@layer forms {\n  .chip-input {\n    --chip-input-padding-y: 0.75rem;\n    --chip-input-padding-x: 0.75rem;\n    --chip-input-gap: 0.375rem;\n    --chip-input-ghost-min-width: 5rem;\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n  }\n  .chip-input:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .chip-input > .form-ghost {\n    flex: 1 1 0;\n    min-width: var(--chip-input-ghost-min-width);\n    min-height: 1.75rem;\n  }\n  .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n    background-color: var(--bg-2);\n    opacity: 1;\n  }\n  .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n    opacity: var(--control-disabled-opacity);\n  }\n  .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n    pointer-events: none;\n  }\n  .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n    cursor: not-allowed;\n  }\n}\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n  }\n  .combobox-toggle.show {\n    background-color: var(--bg-1);\n  }\n  .combobox-toggle:disabled, .combobox-toggle.disabled {\n    cursor: not-allowed;\n    opacity: 0.65;\n  }\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: 0.5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .combobox-caret {\n    flex-shrink: 0;\n    transition: transform 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .combobox-caret {\n      transition: none;\n    }\n  }\n  .show > .combobox-caret {\n    transform: rotate(180deg);\n  }\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, 0.25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n  .combobox-search-input {\n    width: 100%;\n  }\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer components {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--success-contrast);\n    background-color: var(--success-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--success-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--success-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--success-border);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--success-border);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--danger-contrast);\n    background-color: var(--danger-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--danger-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dd0d37'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--danger-border);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--danger-border);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: var(--btn-input-min-height);\n    --btn-padding-x: var(--btn-input-padding-x);\n    --btn-padding-y: var(--btn-input-padding-y);\n    --btn-font-size: var(--btn-input-font-size);\n    --btn-font-weight: var(--btn-input-font-weight);\n    --btn-line-height: var(--btn-input-line-height);\n    --btn-color: var(--fg-body);\n    --btn-white-space: nowrap;\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    --btn-transition-timing: 0.15s ease-in-out;\n    --btn-transition-property: color, background-color, border-color, box-shadow;\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: var(--btn-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    background-image: none;\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n    background-image: none;\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: var(--btn-input-xs-min-height);\n    --btn-padding-y: var(--btn-input-xs-padding-y);\n    --btn-padding-x: var(--btn-input-xs-padding-x);\n    --btn-font-size: var(--btn-input-xs-font-size);\n    --btn-line-height: var(--btn-input-xs-line-height);\n    --btn-border-radius: var(--btn-input-xs-border-radius);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: var(--btn-input-sm-min-height);\n    --btn-padding-y: var(--btn-input-sm-padding-y);\n    --btn-padding-x: var(--btn-input-sm-padding-x);\n    --btn-font-size: var(--btn-input-sm-font-size);\n    --btn-line-height: var(--btn-input-sm-line-height);\n    --btn-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: var(--btn-input-lg-min-height);\n    --btn-padding-y: var(--btn-input-lg-padding-y);\n    --btn-padding-x: var(--btn-input-lg-padding-x);\n    --btn-font-size: var(--btn-input-lg-font-size);\n    --btn-line-height: var(--btn-input-lg-line-height);\n    --btn-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    background-image: none;\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    background-image: none;\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgba(255, 255, 255, 0.125);\n    --btn-gradient-end: rgba(0, 0, 0, 0.075);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--btn-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: inherit;\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus-visible {\n    opacity: var(--btn-close-focus-opacity);\n    outline: var(--focus-ring);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-padding-x: 1.25rem;\n    --accordion-padding-y: 1rem;\n    --accordion-color: var(--fg-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition-property: color, background-color, border-radius;\n    --accordion-transition-timing: .15s ease-in-out;\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--bg-body);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert > p {\n    margin-bottom: 0;\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .avatar {\n    --avatar-size: 2.5rem;\n    --avatar-border-radius: 50%;\n    --avatar-border-width: 2px;\n    --avatar-border-color: var(--bg-body);\n    --avatar-bg: var(--bg-2);\n    --avatar-color: var(--fg-body);\n    --avatar-status-size: 0.75rem;\n    --avatar-status-border-width: 2px;\n    --avatar-status-border-color: var(--bg-body);\n    --avatar-stack-spacing: -0.3;\n    --avatar-stack-transition: transform .2s ease-in-out;\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * 0.4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    border-radius: var(--avatar-border-radius);\n  }\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: inherit;\n  }\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    border-radius: 50%;\n  }\n  .avatar-status.status-online {\n    background-color: var(--green-500);\n  }\n  .avatar-status.status-offline {\n    background-color: var(--gray-400);\n    border-radius: 20%;\n  }\n  .avatar-status.status-busy {\n    background-color: var(--red-500);\n    border-radius: 20%;\n  }\n  .avatar-status.status-away {\n    background-color: var(--yellow-500);\n  }\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n  }\n  .avatar-stack .avatar {\n    margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n    border: var(--avatar-border-width) solid var(--avatar-border-color);\n    mask-image: none;\n    transition: var(--avatar-stack-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .avatar-stack .avatar {\n      transition: none;\n    }\n  }\n  .avatar-stack .avatar:last-child {\n    margin-left: 0;\n  }\n  .avatar-stack .avatar:hover {\n    z-index: 1;\n    transform: translateY(-2px);\n  }\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: 1.5rem;\n    --avatar-status-size: 0.625rem;\n  }\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: 2rem;\n  }\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: 3rem;\n    --avatar-status-size: 1rem;\n  }\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: 4rem;\n    --avatar-status-size: 1.25rem;\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: var(--font-weight-semibold);\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: var(--border-width);\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n    background-image: var(--gradient);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: inherit;\n    --breadcrumb-bg: transparent;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .chip {\n    --chip-height: 1.75rem;\n    --chip-padding-x: 0.625rem;\n    --chip-gap: 0.3125rem;\n    --chip-border-radius: var(--border-radius-pill);\n    --chip-img-size: 1.25rem;\n    --chip-icon-size: 1rem;\n    --chip-dismiss-size: 1rem;\n    --chip-dismiss-opacity: 0.65;\n    --chip-dismiss-hover-opacity: 1;\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    border-radius: var(--chip-border-radius);\n  }\n  .chip:hover {\n    --chip-bg: var(--theme-bg-muted, var(--bg-3));\n  }\n  .chip:focus-visible {\n    outline: 0;\n  }\n  .chip.active {\n    --chip-color: var(--chip-selected-color);\n    --chip-bg: var(--chip-selected-bg);\n    --chip-border-color: var(--chip-selected-border-color);\n  }\n  .chip.active:hover {\n    --chip-bg: var(--chip-selected-bg);\n    opacity: 0.9;\n  }\n  .chip.disabled, .chip:disabled {\n    pointer-events: none;\n    opacity: 0.65;\n  }\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    border-radius: 50%;\n  }\n  .chip-img:first-child {\n    margin-inline-start: -0.375rem;\n  }\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -0.25);\n  }\n  .chip-icon > svg {\n    display: block;\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n  }\n  .chip-icon > img {\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n    object-fit: cover;\n    border-radius: 50%;\n  }\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n  }\n  .chip-dismiss:hover {\n    opacity: var(--chip-dismiss-hover-opacity);\n  }\n  .chip-dismiss:focus-visible {\n    outline: 0;\n    opacity: 1;\n    outline: var(--focus-ring);\n  }\n  .chip-dismiss > svg {\n    display: block;\n    width: var(--chip-dismiss-size);\n    height: var(--chip-dismiss-size);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: inherit;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: none;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: inherit;\n    --card-height: auto;\n    --card-color: inherit;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .card-translucent .card-header,\n  .card-translucent .card-footer {\n    background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n    --carousel-control-color: #fff;\n    --carousel-control-width: 15%;\n    --carousel-control-opacity: 0.5;\n    --carousel-control-hover-opacity: 0.9;\n    --carousel-control-transition: opacity 0.15s ease;\n    --carousel-control-icon-filter: none;\n    --carousel-indicator-width: 30px;\n    --carousel-indicator-height: 3px;\n    --carousel-indicator-hit-area-height: 10px;\n    --carousel-indicator-spacer: 3px;\n    --carousel-indicator-opacity: 0.5;\n    --carousel-indicator-active-bg: var(--white);\n    --carousel-indicator-active-opacity: 1;\n    --carousel-indicator-transition: opacity 0.6s ease;\n    --carousel-caption-width: 70%;\n    --carousel-caption-color: var(--white);\n    --carousel-caption-padding-y: 1.25rem;\n    --carousel-caption-spacer: 1.25rem;\n    --carousel-control-icon-width: 2rem;\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n    --carousel-transition-duration: 0.6s;\n    --carousel-transition: transform 0.6s ease-in-out;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: var(--carousel-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s var(--carousel-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    transition: var(--carousel-control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: var(--carousel-control-color);\n    text-decoration: none;\n    outline: 0;\n    opacity: var(--carousel-control-hover-opacity);\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: var(--carousel-indicator-width);\n    height: var(--carousel-indicator-height);\n    padding: 0;\n    margin-inline: var(--carousel-indicator-spacer);\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n    opacity: var(--carousel-indicator-opacity);\n    transition: var(--carousel-indicator-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: var(--carousel-indicator-active-opacity);\n  }\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * 0.5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * 0.5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  @media (prefers-color-scheme: dark) {\n    :root {\n      --carousel-indicator-active-bg: #000;\n      --carousel-caption-color: #000;\n      --carousel-control-icon-filter: invert(1) grayscale(100);\n    }\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n    border-radius: var(--datepicker-border-radius);\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    pointer-events: none;\n  }\n  [data-vc-dates=row] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-transition-duration: 0.3s;\n    --dialog-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-backdrop-blur: 8px;\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    display: flex;\n    flex-direction: column;\n    width: var(--dialog-width);\n    max-width: 100%;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    overflow: visible;\n    color: var(--dialog-color);\n    visibility: hidden;\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog:not(.dialog-instant) {\n    opacity: 0;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), visibility 0s var(--dialog-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog:not(.dialog-instant) {\n      transition: none;\n    }\n  }\n  .dialog:not(.dialog-instant).dialog-slide-down {\n    transform: translateY(3rem);\n  }\n  .dialog:not(.dialog-instant).dialog-slide-up {\n    transform: translateY(-3rem);\n  }\n  .dialog:not(.dialog-instant)[open] {\n    overflow: visible;\n    visibility: visible;\n    opacity: 1;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), visibility 0s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog:not(.dialog-instant)[open] {\n      transition: none;\n    }\n  }\n  .dialog:not(.dialog-instant)[open] {\n    transform: none;\n  }\n  .dialog:not(.dialog-instant).dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog:not(.dialog-instant)::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n    transition: background-color var(--dialog-transition-duration) var(--dialog-transition-timing), backdrop-filter var(--dialog-transition-duration) var(--dialog-transition-timing), display var(--dialog-transition-duration) allow-discrete, overlay var(--dialog-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog:not(.dialog-instant)::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.dialog-instant::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n  }\n  .dialog[open] {\n    overflow: visible;\n    visibility: visible;\n    opacity: 1;\n    transform: none;\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  @starting-style {\n    .dialog:not(.dialog-instant).dialog-slide-down[open] {\n      opacity: 0;\n      transform: translateY(-3rem);\n    }\n    .dialog:not(.dialog-instant).dialog-slide-up[open] {\n      opacity: 0;\n      transform: translateY(3rem);\n    }\n    .dialog:not(.dialog-instant)::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .sm-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .md-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    line-height: 1.5;\n    font-size: var(--font-size-md);\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .menu {\n    --menu-zindex: 1000;\n    --menu-gap: 0.125rem;\n    --menu-min-width: 10rem;\n    --menu-padding-x: 0.25rem;\n    --menu-padding-y: 0.25rem;\n    --menu-spacer: 0.125rem;\n    --menu-font-size: var(--font-size-sm);\n    --menu-color: var(--fg-body);\n    --menu-bg: var(--bg-body);\n    --menu-box-shadow: var(--box-shadow);\n    --menu-divider-bg: var(--border-color-translucent);\n    --menu-divider-margin-y: 0.125rem;\n    --menu-divider-margin-x: 0.25rem;\n    --menu-item-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-bg: var(--bg-1);\n    --menu-item-active-color: var(--primary-contrast);\n    --menu-item-active-bg: var(--primary-bg);\n    --menu-item-disabled-color: var(--fg-3);\n    --menu-item-gap: 0.5rem;\n    --menu-item-padding-x: 0.75rem;\n    --menu-item-padding-y: 0.25rem;\n    --menu-item-border-radius: var(--border-radius);\n    --menu-icon-size: 1rem;\n    --menu-image-size: 1.5rem;\n    --menu-description-font-size: var(--font-size-xs);\n    --menu-check-color: currentcolor;\n    --menu-header-color: var(--fg-3);\n    --menu-header-padding-x: 0.75rem;\n    --menu-header-padding-y: 0.25rem;\n    --menu-transition-duration: 0.15s;\n    --menu-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    border-radius: var(--menu-border-radius, var(--border-radius-lg));\n    box-shadow: var(--menu-box-shadow);\n    opacity: 0;\n    transform: scale(0.95);\n    transform-origin: top start;\n  }\n  .menu[data-bs-placement^=top] {\n    transform-origin: bottom start;\n  }\n  .menu[data-bs-placement=bottom-end] {\n    transform-origin: top end;\n  }\n  .menu[data-bs-placement=top-end] {\n    transform-origin: bottom end;\n  }\n  .menu[data-bs-placement^=left] {\n    transform-origin: top end;\n  }\n  .menu {\n    transition: opacity var(--menu-transition-duration) var(--menu-transition-timing), transform var(--menu-transition-duration) var(--menu-transition-timing), display var(--menu-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .menu {\n      transition: none;\n    }\n  }\n  .menu.show {\n    display: flex;\n    opacity: 1;\n    transform: none;\n  }\n  @starting-style {\n    .menu.show {\n      opacity: 0;\n      transform: scale(0.95);\n    }\n  }\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    border-radius: var(--menu-item-border-radius, 0);\n  }\n  .menu-item:hover, .menu-item:focus {\n    color: var(--theme-text, var(--menu-item-hover-color));\n    background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n    background-image: var(--gradient);\n  }\n  .menu-item.active, .menu-item:active {\n    color: var(--theme-contrast, var(--menu-item-active-color));\n    background-color: var(--theme-bg, var(--menu-item-active-bg));\n    background-image: var(--gradient);\n  }\n  .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n    color: inherit !important;\n  }\n  .menu-item.selected {\n    font-weight: 600;\n  }\n  .menu-item.disabled, .menu-item:disabled {\n    color: var(--menu-item-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n    background-image: none;\n  }\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: 0.125rem;\n  }\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    border-radius: var(--border-radius-sm);\n  }\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: 0.125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n  }\n  .selected > .menu-item-check {\n    visibility: visible;\n  }\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n  .submenu {\n    position: relative;\n  }\n  .submenu > .menu-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .submenu > .menu-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .submenu > .menu-item::after {\n    transform: rotate(135deg);\n  }\n  .submenu > .menu {\n    top: 0;\n    margin-top: calc(-1 * var(--menu-padding-y));\n  }\n  .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  .submenu.show > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      border-radius: 0;\n      box-shadow: none;\n    }\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n    }\n    .submenu-back::before {\n      display: inline-block;\n      flex-shrink: 0;\n      width: 0.375em;\n      height: 0.375em;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0.125em 0 0 0.125em;\n      transform: rotate(-45deg);\n    }\n    [dir=rtl] .submenu-back::before {\n      border-width: 0 0.125em 0.125em 0;\n    }\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: 0.3;\n    }\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--fg-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--fg-2);\n    --list-group-action-hover-color: var(--fg-1);\n    --list-group-action-hover-bg: var(--bg-1);\n    --list-group-action-active-color: var(--fg-body);\n    --list-group-action-active-bg: var(--bg-2);\n    --list-group-disabled-color: var(--fg-3);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n    text-decoration: none;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .sm\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-align: center;\n    --nav-link-justify: center;\n    --nav-link-padding-x: 0.75rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-transition-property: color, background-color, border-color;\n    --nav-link-transition-timing: 0.15s ease-in-out;\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    border-radius: var(--border-radius);\n    transition: var(--nav-link-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--fg-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-bottom-color: var(--nav-tabs-border-color);\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-bg: var(--bg-1);\n    --nav-pills-padding: 0.25rem;\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n    display: inline-flex;\n    padding: var(--nav-pills-padding);\n    background-color: var(--nav-pills-bg);\n    border-radius: var(--border-radius-pill);\n  }\n  .nav-pills .nav-link {\n    border-radius: var(--border-radius-pill);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n    background-image: var(--gradient);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--fg-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0;\n  }\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n  .nav-overflow [data-bs-nav-overflow=true] {\n    display: none;\n  }\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg-body);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: var(--font-size-md);\n    --navbar-brand-font-weight: var(--font-weight-medium);\n    --navbar-brand-color: var(--fg-body);\n    --navbar-brand-hover-color: var(--fg-body);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-width: 2rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: var(--font-size-lg);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    container-type: inline-size;\n    color: var(--navbar-color, var(--fg-body));\n    background-color: var(--navbar-bg, var(--bg-body));\n  }\n  .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-gap: 0.25rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-padding-x: 0.5rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--navbar-color);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-hover-bg: transparent;\n    --nav-link-active-color: var(--navbar-active-color);\n    --nav-link-active-bg: transparent;\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n    border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n  }\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand [class*=drawer] {\n    position: static !important;\n    inset: auto !important;\n    z-index: auto;\n    display: flex !important;\n    flex-grow: 1;\n    width: auto !important;\n    max-width: none !important;\n    height: auto !important;\n    max-height: none !important;\n    padding: 0;\n    margin: 0;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand [class*=drawer] .drawer-header {\n    display: none !important;\n  }\n  .navbar-expand [class*=drawer] .drawer-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: row;\n    align-items: center;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:navbar-expand > .container,\n    .sm\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .sm\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .sm\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .sm\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .sm\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .sm\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:navbar-expand > .container,\n    .md\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .md\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .md\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .md\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .md\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .md\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:navbar-expand > .container,\n    .lg\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .lg\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .lg\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .lg\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .lg\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .lg\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:navbar-expand > .container,\n    .xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .xl\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .xl\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .xl\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:navbar-expand > .container,\n    .\\32 xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .\\32 xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .\\32 xl\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar [class*=drawer]:not([open]):not(.hiding) {\n    transition: none !important;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar [class*=drawer]:not([open]):not(.hiding) {\n      transition: none;\n    }\n  }\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n  }\n  .navbar-translucent::before {\n    position: absolute;\n    inset: 0;\n    z-index: -1;\n    content: \"\";\n    background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n    background-image: none;\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n    --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n    --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n    --navbar-active-color: var(--white);\n    --navbar-brand-color: var(--white);\n    --navbar-brand-hover-color: var(--white);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n  }\n}\n.drawer, .\\32 xl\\:drawer, .xl\\:drawer, .lg\\:drawer, .md\\:drawer, .sm\\:drawer {\n  --drawer-inset: var(--spacer);\n  --drawer-zindex: 1045;\n  --drawer-width: 400px;\n  --drawer-height: 30vh;\n  --drawer-padding-x: var(--spacer);\n  --drawer-padding-y: var(--spacer);\n  --drawer-color: var(--fg-body);\n  --drawer-bg: var(--bg-body);\n  --drawer-border-width: var(--border-width);\n  --drawer-border-color: var(--border-color-translucent);\n  --drawer-border-radius: var(--border-radius-lg);\n  --drawer-box-shadow: var(--box-shadow-lg);\n  --drawer-transition-duration: 0.3s;\n  --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n  --drawer-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .sm\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .sm\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .sm\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .sm\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .sm\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .sm\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .sm\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .sm\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .sm\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .sm\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:drawer .drawer-header {\n      display: none;\n    }\n    .sm\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .md\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .md\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .md\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .md\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .md\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .md\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .md\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .md\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:drawer .drawer-header {\n      display: none;\n    }\n    .md\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .lg\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .lg\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .lg\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .lg\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .lg\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .lg\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .lg\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .lg\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:drawer .drawer-header {\n      display: none;\n    }\n    .lg\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .xl\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .xl\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .xl\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .xl\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .xl\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .xl\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:drawer .drawer-header {\n      display: none;\n    }\n    .xl\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .\\32 xl\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .\\32 xl\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .\\32 xl\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .\\32 xl\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .\\32 xl\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:drawer .drawer-header {\n      display: none;\n    }\n    .\\32 xl\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .drawer {\n    position: fixed;\n    inset: auto;\n    z-index: var(--drawer-zindex);\n    display: flex;\n    flex-direction: column;\n    width: auto;\n    max-width: calc(100% - var(--drawer-inset) * 2);\n    height: auto;\n    max-height: calc(100% - var(--drawer-inset) * 2);\n    padding: 0;\n    margin: 0;\n    color: var(--drawer-color);\n    visibility: hidden;\n    background-color: var(--drawer-bg);\n    background-clip: padding-box;\n    border: var(--drawer-border-width) solid var(--drawer-border-color);\n    outline: 0;\n    border-radius: var(--drawer-border-radius);\n    box-shadow: var(--drawer-box-shadow);\n  }\n  .drawer:where(.drawer-start) {\n    inset-block: var(--drawer-inset);\n    inset-inline-start: var(--drawer-inset);\n    width: var(--drawer-width);\n  }\n  .drawer:where(.drawer-end) {\n    inset-block: var(--drawer-inset);\n    inset-inline-end: var(--drawer-inset);\n    width: var(--drawer-width);\n  }\n  .drawer:where(.drawer-top) {\n    inset: var(--drawer-inset) var(--drawer-inset) auto;\n    height: var(--drawer-height);\n  }\n  .drawer:where(.drawer-bottom) {\n    inset: auto var(--drawer-inset) var(--drawer-inset);\n    height: var(--drawer-height);\n  }\n  .drawer:where(.drawer-fullscreen) {\n    inset: var(--drawer-inset);\n    width: auto;\n    max-width: none;\n    height: auto;\n    max-height: none;\n  }\n  .drawer:not(.drawer-instant) {\n    transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  .drawer:not(.drawer-instant):where(.drawer-start) {\n    transform: translateX(calc(-100% - var(--drawer-inset)));\n  }\n  :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-start) {\n    transform: translateX(calc(100% + var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-end) {\n    transform: translateX(calc(100% + var(--drawer-inset)));\n  }\n  :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-end) {\n    transform: translateX(calc(-100% - var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-top) {\n    transform: translateY(calc(-100% - var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-bottom) {\n    transform: translateY(calc(100% + var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n    transform: translateY(calc(100% + var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant)[open] {\n    visibility: visible;\n    transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  .drawer:not(.drawer-instant)[open] {\n    transform: none;\n  }\n  .drawer[open] {\n    visibility: visible;\n    transform: none;\n  }\n  .sm\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .sm\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .md\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .md\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .lg\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .lg\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .xl\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .xl\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .\\32 xl\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .drawer::backdrop {\n      transition: none;\n    }\n  }\n  @starting-style {\n    .sm\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .md\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .lg\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .xl\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .\\32 xl\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .drawer-static {\n    transform: scale(1.02);\n  }\n  .drawer-translucent {\n    background-color: color-mix(in oklch, var(--drawer-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .drawer-sheet {\n    --drawer-inset: 0;\n    --drawer-border-radius: 0;\n    --drawer-border-width: 0;\n    --drawer-box-shadow: none;\n  }\n  .drawer-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--drawer-padding-y) var(--drawer-padding-x);\n  }\n  .drawer-header .btn-close {\n    padding: calc(var(--drawer-padding-y) * 0.5) calc(var(--drawer-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--drawer-padding-x));\n    margin-top: calc(-0.5 * var(--drawer-padding-y));\n    margin-bottom: calc(-0.5 * var(--drawer-padding-y));\n  }\n  .drawer-title {\n    margin-bottom: 0;\n    line-height: var(--drawer-title-line-height);\n  }\n  .drawer-body {\n    display: flex;\n    flex-direction: column;\n    gap: var(--drawer-padding-y);\n    flex: 1 1 auto;\n    padding: var(--drawer-padding-y) var(--drawer-padding-x);\n    overflow-y: auto;\n  }\n  .drawer-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--drawer-padding-y) var(--drawer-padding-x);\n    border-block-start: var(--drawer-border-width) solid var(--drawer-border-color);\n  }\n  .drawer-fit-content {\n    inset-block-end: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-min-height: var(--btn-input-min-height);\n    --pagination-padding-x: var(--btn-input-padding-x);\n    --pagination-padding-y: var(--btn-input-padding-y);\n    --pagination-font-size: var(--btn-input-font-size);\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--btn-input-border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--bg-1);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--bg-2);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--fg-3);\n    --pagination-disabled-bg: var(--bg-2);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    background-image: var(--gradient);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--pagination-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-sm {\n    --pagination-min-height: var(--bs-btn-input-sm-min-height);\n    --pagination-padding-y: var(--btn-input-sm-padding-y);\n    --pagination-padding-x: var(--btn-input-sm-padding-x);\n    --pagination-font-size: var(--btn-input-sm-font-size);\n    --pagination-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .pagination-lg {\n    --pagination-min-height: var(--bs-btn-input-lg-min-height);\n    --pagination-padding-y: var(--btn-input-lg-padding-y);\n    --pagination-padding-x: var(--btn-input-lg-padding-x);\n    --pagination-font-size: var(--btn-input-lg-font-size);\n    --pagination-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer components {\n  .placeholder {\n    --placeholder-opacity-max: 0.5;\n    --placeholder-opacity-min: 0.2;\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: var(--font-size-sm);\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--fg-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: var(--font-size-sm);\n    --progress-bg: var(--bg-2);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: var(--white);\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: var(--progress-bar-animation);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .stepper {\n    --stepper-size: 2rem;\n    --stepper-gap: 1rem;\n    --stepper-font-size: var(--font-size-sm);\n    --stepper-text-gap: 0.5rem;\n    --stepper-track-size: 0.125rem;\n    --stepper-bg: var(--bg-2);\n    --stepper-active-color: var(--primary-contrast);\n    --stepper-active-bg: var(--primary-bg);\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n  }\n  .stepper-item::before {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--stepper-size);\n    height: var(--stepper-size);\n    padding: 0.5rem;\n    font-size: var(--stepper-font-size);\n    font-weight: 600;\n    line-height: 1;\n    text-align: center;\n    content: counter(stepper);\n    counter-increment: stepper;\n    background-color: var(--stepper-bg);\n    border-radius: 50%;\n  }\n  .stepper-item::after {\n    position: absolute;\n    inset-block-start: 50%;\n    inset-block-end: 100%;\n    inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    width: var(--stepper-track-size);\n    height: calc(100% + var(--stepper-gap));\n    content: \"\";\n    background-color: var(--stepper-bg);\n  }\n  .stepper-item:last-child::after {\n    display: none;\n  }\n  .stepper-item.active::before, .stepper-item.active::after {\n    color: var(--theme-contrast, var(--stepper-active-color));\n    background-color: var(--theme-bg, var(--stepper-active-bg));\n  }\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n  .stepper-horizontal {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n  }\n  .stepper-horizontal .stepper-item::after {\n    inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    inset-block-end: auto;\n    inset-inline-start: 50%;\n    inset-inline-end: 100%;\n    width: calc(100% + var(--stepper-gap));\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal .stepper-item:last-child::after {\n    right: 100%;\n  }\n  @container (width >= 576px) {\n    .sm\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .sm\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .sm\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .sm\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .md\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .md\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .md\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .lg\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .lg\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .lg\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n  }\n  .stepper-overflow > .stepper {\n    width: max-content;\n    min-width: 100%;\n  }\n}\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 1rem;\n    --toast-padding-y: 0.75rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: var(--font-size-sm);\n    --toast-bg: var(--bg-body);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--fg-3);\n    --toast-header-bg: var(--bg-1);\n    --toast-header-border-color: var(--border-color-translucent);\n    display: flex;\n    flex-direction: column;\n    width: var(--toast-max-width);\n    max-width: 100%;\n    overflow: hidden;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color, var(--fg-body));\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius, var(--border-radius-lg));\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--theme-text-emphasis, var(--toast-header-color));\n    background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n    border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: calc(0.5 * var(--toast-padding-x));\n    margin-inline-end: calc(-0.25 * var(--toast-padding-x));\n    color: inherit;\n  }\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-1 {\n    grid-template-columns: 1fr;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 0.75rem;\n  }\n  .m-4 {\n    margin: 1rem;\n  }\n  .m-5 {\n    margin: 1.25rem;\n  }\n  .m-6 {\n    margin: 1.5rem;\n  }\n  .m-7 {\n    margin: 2rem;\n  }\n  .m-8 {\n    margin: 2.5rem;\n  }\n  .m-9 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 0.75rem;\n  }\n  .mx-4 {\n    margin-inline: 1rem;\n  }\n  .mx-5 {\n    margin-inline: 1.25rem;\n  }\n  .mx-6 {\n    margin-inline: 1.5rem;\n  }\n  .mx-7 {\n    margin-inline: 2rem;\n  }\n  .mx-8 {\n    margin-inline: 2.5rem;\n  }\n  .mx-9 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 0.75rem;\n  }\n  .my-4 {\n    margin-block: 1rem;\n  }\n  .my-5 {\n    margin-block: 1.25rem;\n  }\n  .my-6 {\n    margin-block: 1.5rem;\n  }\n  .my-7 {\n    margin-block: 2rem;\n  }\n  .my-8 {\n    margin-block: 2.5rem;\n  }\n  .my-9 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 0.75rem;\n  }\n  .mt-4 {\n    margin-block-start: 1rem;\n  }\n  .mt-5 {\n    margin-block-start: 1.25rem;\n  }\n  .mt-6 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-7 {\n    margin-block-start: 2rem;\n  }\n  .mt-8 {\n    margin-block-start: 2.5rem;\n  }\n  .mt-9 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 0.75rem;\n  }\n  .me-4 {\n    margin-inline-end: 1rem;\n  }\n  .me-5 {\n    margin-inline-end: 1.25rem;\n  }\n  .me-6 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-7 {\n    margin-inline-end: 2rem;\n  }\n  .me-8 {\n    margin-inline-end: 2.5rem;\n  }\n  .me-9 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 0.75rem;\n  }\n  .mb-4 {\n    margin-block-end: 1rem;\n  }\n  .mb-5 {\n    margin-block-end: 1.25rem;\n  }\n  .mb-6 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-7 {\n    margin-block-end: 2rem;\n  }\n  .mb-8 {\n    margin-block-end: 2.5rem;\n  }\n  .mb-9 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 0.75rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1rem;\n  }\n  .ms-5 {\n    margin-inline-start: 1.25rem;\n  }\n  .ms-6 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-7 {\n    margin-inline-start: 2rem;\n  }\n  .ms-8 {\n    margin-inline-start: 2.5rem;\n  }\n  .ms-9 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 0.75rem;\n  }\n  .p-4 {\n    padding: 1rem;\n  }\n  .p-5 {\n    padding: 1.25rem;\n  }\n  .p-6 {\n    padding: 1.5rem;\n  }\n  .p-7 {\n    padding: 2rem;\n  }\n  .p-8 {\n    padding: 2.5rem;\n  }\n  .p-9 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 0.75rem;\n  }\n  .px-4 {\n    padding-inline: 1rem;\n  }\n  .px-5 {\n    padding-inline: 1.25rem;\n  }\n  .px-6 {\n    padding-inline: 1.5rem;\n  }\n  .px-7 {\n    padding-inline: 2rem;\n  }\n  .px-8 {\n    padding-inline: 2.5rem;\n  }\n  .px-9 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 0.75rem;\n  }\n  .py-4 {\n    padding-block: 1rem;\n  }\n  .py-5 {\n    padding-block: 1.25rem;\n  }\n  .py-6 {\n    padding-block: 1.5rem;\n  }\n  .py-7 {\n    padding-block: 2rem;\n  }\n  .py-8 {\n    padding-block: 2.5rem;\n  }\n  .py-9 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 0.75rem;\n  }\n  .pt-4 {\n    padding-block-start: 1rem;\n  }\n  .pt-5 {\n    padding-block-start: 1.25rem;\n  }\n  .pt-6 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-7 {\n    padding-block-start: 2rem;\n  }\n  .pt-8 {\n    padding-block-start: 2.5rem;\n  }\n  .pt-9 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1rem;\n  }\n  .pe-5 {\n    padding-inline-end: 1.25rem;\n  }\n  .pe-6 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-7 {\n    padding-inline-end: 2rem;\n  }\n  .pe-8 {\n    padding-inline-end: 2.5rem;\n  }\n  .pe-9 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 0.75rem;\n  }\n  .pb-4 {\n    padding-block-end: 1rem;\n  }\n  .pb-5 {\n    padding-block-end: 1.25rem;\n  }\n  .pb-6 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-7 {\n    padding-block-end: 2rem;\n  }\n  .pb-8 {\n    padding-block-end: 2.5rem;\n  }\n  .pb-9 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 0.75rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1rem;\n  }\n  .ps-5 {\n    padding-inline-start: 1.25rem;\n  }\n  .ps-6 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-7 {\n    padding-inline-start: 2rem;\n  }\n  .ps-8 {\n    padding-inline-start: 2.5rem;\n  }\n  .ps-9 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 0.75rem;\n  }\n  .gap-4 {\n    gap: 1rem;\n  }\n  .gap-5 {\n    gap: 1.25rem;\n  }\n  .gap-6 {\n    gap: 1.5rem;\n  }\n  .gap-7 {\n    gap: 2rem;\n  }\n  .gap-8 {\n    gap: 2.5rem;\n  }\n  .gap-9 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 0.75rem;\n  }\n  .row-gap-4 {\n    row-gap: 1rem;\n  }\n  .row-gap-5 {\n    row-gap: 1.25rem;\n  }\n  .row-gap-6 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-7 {\n    row-gap: 2rem;\n  }\n  .row-gap-8 {\n    row-gap: 2.5rem;\n  }\n  .row-gap-9 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 0.75rem;\n  }\n  .column-gap-4 {\n    column-gap: 1rem;\n  }\n  .column-gap-5 {\n    column-gap: 1.25rem;\n  }\n  .column-gap-6 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-7 {\n    column-gap: 2rem;\n  }\n  .column-gap-8 {\n    column-gap: 2.5rem;\n  }\n  .column-gap-9 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 0.75rem;\n    }\n    .sm\\:m-4 {\n      margin: 1rem;\n    }\n    .sm\\:m-5 {\n      margin: 1.25rem;\n    }\n    .sm\\:m-6 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-7 {\n      margin: 2rem;\n    }\n    .sm\\:m-8 {\n      margin: 2.5rem;\n    }\n    .sm\\:m-9 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .sm\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .sm\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .sm\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .sm\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-7 {\n      margin-block: 2rem;\n    }\n    .sm\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .sm\\:my-9 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .sm\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .sm\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .sm\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .sm\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .sm\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .sm\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .sm\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .sm\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .sm\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .sm\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .sm\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .sm\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 0.75rem;\n    }\n    .sm\\:p-4 {\n      padding: 1rem;\n    }\n    .sm\\:p-5 {\n      padding: 1.25rem;\n    }\n    .sm\\:p-6 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-7 {\n      padding: 2rem;\n    }\n    .sm\\:p-8 {\n      padding: 2.5rem;\n    }\n    .sm\\:p-9 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .sm\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .sm\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .sm\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .sm\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-7 {\n      padding-block: 2rem;\n    }\n    .sm\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .sm\\:py-9 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .sm\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .sm\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .sm\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .sm\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .sm\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .sm\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .sm\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .sm\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .sm\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .sm\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .sm\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .sm\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1rem;\n    }\n    .sm\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .sm\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-7 {\n      gap: 2rem;\n    }\n    .sm\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .sm\\:gap-9 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .sm\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .sm\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .sm\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .sm\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .sm\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .sm\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 0.75rem;\n    }\n    .md\\:m-4 {\n      margin: 1rem;\n    }\n    .md\\:m-5 {\n      margin: 1.25rem;\n    }\n    .md\\:m-6 {\n      margin: 1.5rem;\n    }\n    .md\\:m-7 {\n      margin: 2rem;\n    }\n    .md\\:m-8 {\n      margin: 2.5rem;\n    }\n    .md\\:m-9 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .md\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .md\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .md\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1rem;\n    }\n    .md\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .md\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-7 {\n      margin-block: 2rem;\n    }\n    .md\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .md\\:my-9 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .md\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .md\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .md\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .md\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .md\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .md\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .md\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .md\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .md\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .md\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .md\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .md\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 0.75rem;\n    }\n    .md\\:p-4 {\n      padding: 1rem;\n    }\n    .md\\:p-5 {\n      padding: 1.25rem;\n    }\n    .md\\:p-6 {\n      padding: 1.5rem;\n    }\n    .md\\:p-7 {\n      padding: 2rem;\n    }\n    .md\\:p-8 {\n      padding: 2.5rem;\n    }\n    .md\\:p-9 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .md\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .md\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .md\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1rem;\n    }\n    .md\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .md\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-7 {\n      padding-block: 2rem;\n    }\n    .md\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .md\\:py-9 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .md\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .md\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .md\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .md\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .md\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .md\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .md\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .md\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .md\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .md\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .md\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .md\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .md\\:gap-4 {\n      gap: 1rem;\n    }\n    .md\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .md\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-7 {\n      gap: 2rem;\n    }\n    .md\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .md\\:gap-9 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .md\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .md\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .md\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .md\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .md\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .md\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 0.75rem;\n    }\n    .lg\\:m-4 {\n      margin: 1rem;\n    }\n    .lg\\:m-5 {\n      margin: 1.25rem;\n    }\n    .lg\\:m-6 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-7 {\n      margin: 2rem;\n    }\n    .lg\\:m-8 {\n      margin: 2.5rem;\n    }\n    .lg\\:m-9 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .lg\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .lg\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .lg\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .lg\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-7 {\n      margin-block: 2rem;\n    }\n    .lg\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .lg\\:my-9 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .lg\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .lg\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .lg\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .lg\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .lg\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .lg\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .lg\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .lg\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .lg\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .lg\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .lg\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .lg\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 0.75rem;\n    }\n    .lg\\:p-4 {\n      padding: 1rem;\n    }\n    .lg\\:p-5 {\n      padding: 1.25rem;\n    }\n    .lg\\:p-6 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-7 {\n      padding: 2rem;\n    }\n    .lg\\:p-8 {\n      padding: 2.5rem;\n    }\n    .lg\\:p-9 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .lg\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .lg\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .lg\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .lg\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-7 {\n      padding-block: 2rem;\n    }\n    .lg\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .lg\\:py-9 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .lg\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .lg\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .lg\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .lg\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .lg\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .lg\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .lg\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .lg\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .lg\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .lg\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .lg\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .lg\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1rem;\n    }\n    .lg\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .lg\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-7 {\n      gap: 2rem;\n    }\n    .lg\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .lg\\:gap-9 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .lg\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .lg\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .lg\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .lg\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .lg\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .lg\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .xl\\:m-4 {\n      margin: 1rem;\n    }\n    .xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-7 {\n      margin: 2rem;\n    }\n    .xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .xl\\:m-9 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .xl\\:p-4 {\n      padding: 1rem;\n    }\n    .xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-7 {\n      padding: 2rem;\n    }\n    .xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .xl\\:p-9 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .\\32 xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-7 {\n      margin: 2rem;\n    }\n    .\\32 xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .\\32 xl\\:m-9 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .\\32 xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .\\32 xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .\\32 xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .\\32 xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .\\32 xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .\\32 xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .\\32 xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .\\32 xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .\\32 xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .\\32 xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .\\32 xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .\\32 xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .\\32 xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .\\32 xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .\\32 xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-7 {\n      padding: 2rem;\n    }\n    .\\32 xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .\\32 xl\\:p-9 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .\\32 xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .\\32 xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .\\32 xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .\\32 xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .\\32 xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .\\32 xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .\\32 xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .\\32 xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .\\32 xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .\\32 xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .\\32 xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .\\32 xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .\\32 xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .\\32 xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .\\32 xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .\\32 xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .\\32 xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .\\32 xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .\\32 xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .\\32 xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .\\32 xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .\\32 xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .\\32 xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n  (\n    --blockquote-gap: calc(var(--spacer) / 2),\n    --blockquote-padding-x: var(--spacer),\n    --blockquote-margin-y: 1rem,\n    --blockquote-font-size: var(--font-size-md),\n    --blockquote-border-width: .25rem,\n    --blockquote-border-color: var(--border-color),\n    --blockquote-footer-font-size: var(--font-size-sm),\n    --blockquote-footer-color: var(--fg-3),\n  ),\n  $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n    }\n  }\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    @include tokens($blockquote-tokens);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n    > * {\n      margin-bottom: 0;\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  figure.blockquote {\n    blockquote {\n      margin-bottom: 0;\n    }\n  }\n\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n  (\n    --table-cell-padding-y: .5rem,\n    --table-cell-padding-x: .5rem,\n    --table-cell-vertical-align: top,\n    --table-color: var(--fg-body),\n    --table-bg: var(--bg-body),\n    --table-accent-bg: transparent,\n    --table-border-width: var(--border-width),\n    --table-border-color: var(--border-color),\n    --table-group-separator-color: currentcolor,\n    --table-striped-color: var(--table-color),\n    --table-striped-bg-factor: 5%,\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n    --table-active-color: var(--table-color),\n    --table-active-bg-factor: 10%,\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n    --table-hover-color: var(--table-color),\n    --table-hover-bg-factor: 7.5%,\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n  ),\n  $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    @include tokens($table-tokens);\n\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: var(--table-border-width);\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      --table-cell-padding-y: .25rem;\n      --table-cell-padding-x: .25rem;\n    }\n  }\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: var(--table-border-width) 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 var(--table-border-width);\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate `.table-responsive` classes that act as container query contexts\n  // and enable horizontal scrolling when table content overflows.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    .#{$prefix}table-responsive {\n      container-type: inline-size;\n\n      @include media-breakpoint-down($breakpoint) {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n\n  // Stacked tables\n  //\n  // Generate `.table-stacked` classes that convert table rows into stacked\n  // blocks using container queries. Requires a `.table-responsive` ancestor\n  // and `data-cell` attributes on `<td>` elements for column labels.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include container-breakpoint-down($breakpoint) {\n      .#{$prefix}table-stacked {\n        > thead {\n          position: absolute;\n          width: 1px;\n          height: 1px;\n          padding: 0;\n          margin: -1px;\n          overflow: hidden;\n          clip: rect(0, 0, 0, 0);\n          white-space: nowrap;\n          border: 0;\n        }\n\n        > tbody > tr {\n          display: block;\n          padding-block: var(--table-cell-padding-y);\n\n          + tr {\n            border-block-start: var(--table-border-width) solid var(--table-border-color);\n          }\n\n          > td {\n            display: block;\n            padding: calc(var(--table-cell-padding-y) * .25) calc(var(--table-cell-padding-x) * 2);\n            border: 0;\n\n            &:first-child {\n              font-weight: var(--font-weight-bold);\n            }\n\n            // + td::before {\n            //   margin-block-start: .25rem;\n            // }\n\n            &[data-cell]:not(:first-child)::before {\n              display: block;\n              font-weight: var(--font-weight-semibold);\n              content: attr(data-cell);\n            }\n          }\n\n          > td:not(:first-child) + td::before {\n            margin-block-start: .25rem;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n  (\n    --thumbnail-padding: .25rem,\n    --thumbnail-bg: var(--bg-body),\n    --thumbnail-border-width: var(--border-width),\n    --thumbnail-border-color: var(--border-color),\n    --thumbnail-border-radius: var(--border-radius),\n    --thumbnail-box-shadow: var(--box-shadow-sm),\n  ),\n  $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n  (\n    --figure-gap: calc(var(--spacer) * .5),\n    --figure-caption-font-size: var(--font-size-sm),\n    --figure-caption-color: var(--fg-3),\n  ),\n  $figure-tokens\n);\n// scss-docs-end figure-tokens\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n  .img-thumbnail {\n    @include tokens($thumbnail-tokens);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    @include border-radius(var(--thumbnail-border-radius));\n    @include box-shadow(var(--thumbnail-box-shadow));\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  .figure {\n    @include tokens($figure-tokens);\n    // Ensures the caption's text aligns with the image.\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n  (\n    --content-font-size: 1rem,\n    --content-gap: 20px,\n    --heading-color: light-dark(var(--gray-900), var(--white)),\n  ),\n  $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n  .prose {\n    @include tokens($prose-tokens);\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    :where(hr):not(:where(.not-prose, .not-prose *)) {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n      margin-top: 0;\n      margin-bottom: calc(var(--content-gap) / -2);\n      font-weight: 500;\n      line-height: 1.25;\n\n      code {\n        font-weight: 600;\n        color: inherit;\n      }\n    }\n\n    :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .75);\n    }\n\n    :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .5);\n    }\n\n    :where(h1):not(:where(.not-prose, .not-prose *)) {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    :where(h2):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.75em;\n    }\n    :where(h3):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.5em;\n    }\n    :where(h4):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.25em;\n    }\n    :where(h5):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.125em;\n    }\n    :where(h6):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1em;\n    }\n\n    :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n\n      &:hover {\n        text-decoration-color: var(--link-hover-color);\n      }\n    }\n\n    :where(img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n\n    :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    :where(table):not(:where(.not-prose, .not-prose *)) {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    :where(dt):not(:where(.not-prose, .not-prose *)) {\n      font-weight: 500;\n    }\n\n    :where(video, img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n  (\n    --label-margin-bottom: calc(var(--spacer) / 2),\n    --label-font-size: null,\n    --label-font-style: null,\n    --label-font-weight: null,\n    --label-color: null,\n  ),\n  $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n\n  // For use with horizontal and inline forms, when you need the label (or legend)\n  // text to align with the form controls.\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0; // Override the `<legend>` default\n  }\n\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n  (\n    --form-text-margin-top: .25rem,\n    --form-text-font-size: var(--font-size-sm),\n    --form-text-font-style: null,\n    --form-text-font-weight: null,\n    --form-text-color: var(--fg-3),\n  ),\n  $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n  .form-text {\n    @include tokens($form-text-tokens);\n\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n  (\n    --control-min-height: var(--btn-input-min-height),\n    --control-padding-y: var(--btn-input-padding-y),\n    --control-padding-x: var(--btn-input-padding-x),\n    --control-font-size: var(--btn-input-font-size),\n    --control-line-height: var(--btn-input-line-height),\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n    --control-box-shadow: var(--box-shadow-inset),\n    --control-action-bg: var(--bg-1),\n    --control-action-hover-bg: var(--bg-2),\n    --control-transition-property: \"border-color, box-shadow\",\n    --control-transition-timing: .15s ease-in-out,\n    --control-transition: var(--control-transition-property) var(--control-transition-timing),\n    --control-placeholder-color: var(--fg-3),\n    --control-disabled-color: var(--control-fg),\n    --control-disabled-bg: var(--bg-2),\n    --control-disabled-border-color: var(--control-border-color),\n    --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n    --control-select-bg-position: right .75rem center,\n    --control-select-bg-size: 16px 12px,\n    --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n  ),\n  $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .form-control {\n    @include tokens($form-control-tokens);\n\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow(var(--control-box-shadow));\n    @include transition(var(--control-transition));\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      @include focus-ring(true);\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: var(--control-placeholder-color);\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: var(--control-disabled-color);\n      background-color: var(--control-disabled-bg);\n      border-color: var(--control-disabled-border-color);\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // Date and time inputs\n    // &::-webkit-date-and-time-value {\n    //   // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   //\n    //   // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n    //   // Tested under iOS 16.2 / Safari 16.2\n    //   min-width: 85px; // Seems to be a good minimum safe width\n\n    //   // Add some height to date inputs on iOS\n    //   // https://github.com/twbs/bootstrap/issues/23307\n    //   // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n    //   // Multiply line-height by 1em if it has no unit\n    //   height: 1.5em;\n\n    //   // Android Chrome type=\"date\" is taller than the other inputs\n    //   // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   margin: 0;\n    //   background-color: var(--red-500);\n    // }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n\n    // mdo-do: need to check this stuff out across browsers\n    &::-webkit-datetime-edit {\n      display: block;\n      height: 1.5rem;\n      padding: 0;\n      margin-bottom: -.125rem;\n    }\n    &::-webkit-datetime-edit-fields-wrapper {\n      height: 1.5rem;\n    }\n\n    // File inputs\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: var(--control-fg);\n      @include gradient-bg(var(--control-action-bg));\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition(var(--control-transition));\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: var(--control-action-hover-bg);\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n  }\n\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n  @each $size, $_ in $form-control-sizes {\n    .form-control-#{$size} {\n      --control-min-height: var(--btn-input-#{$size}-min-height);\n      --control-padding-y: var(--btn-input-#{$size}-padding-y);\n      --control-padding-x: var(--btn-input-#{$size}-padding-x);\n      --control-font-size: var(--btn-input-#{$size}-font-size);\n      --control-line-height: var(--btn-input-#{$size}-line-height);\n      --control-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n  (\n    --check-size: 1.25rem,\n    --check-margin-block: .125rem,\n    --check-bg: transparent,\n    --check-border-color: var(--border-color),\n    --check-border-radius: .375rem,\n    --check-checked-bg: var(--control-checked-bg),\n    --check-checked-border-color: var(--control-checked-border-color),\n    --check-indeterminate-bg: var(--control-checked-bg),\n    --check-indeterminate-border-color: var(--control-checked-border-color),\n    --check-active-bg: var(--control-active-bg),\n    --check-active-border-color: var(--control-active-border-color),\n    --check-disabled-bg: var(--control-disabled-bg),\n    --check-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .check {\n    @include tokens($check-tokens);\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: var(--check-size);\n      height: var(--check-size);\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .3em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--theme-contrast, var(--primary-contrast));\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--fg-3);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n  (\n    --radio-size: 1.25rem,\n    --radio-margin-block: .125rem,\n    --radio-bg: transparent,\n    --radio-border-color: var(--border-color),\n    --radio-checked-bg: var(--control-checked-bg),\n    --radio-checked-border-color: var(--control-checked-border-color),\n    --radio-disabled-bg: var(--control-disabled-bg),\n    --radio-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .radio {\n    @include tokens($radio-tokens);\n\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n  }\n\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n  (\n    --switch-height: 1.25rem,\n    --switch-width: calc(var(--switch-height) * 1.5),\n    --switch-padding: .0625rem,\n    --switch-margin-block: .125rem,\n    --switch-bg: var(--bg-3),\n    --switch-border-width: var(--border-width),\n    --switch-border-color: var(--border-color),\n    --switch-indicator-bg: var(--white),\n    --switch-checked-bg: var(--control-checked-bg),\n    --switch-checked-border-color: var(--switch-checked-bg),\n    --switch-checked-indicator-bg: var(--white),\n    --switch-disabled-bg: var(--control-disabled-bg),\n    --switch-disabled-indicator-bg: var(--fg-3),\n  ),\n  $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .switch {\n    @include tokens($switch-tokens);\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--theme-contrast, var(--switch-indicator-bg));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n  (\n    --range-track-width: 100%,\n    --range-track-height: .5rem,\n    --range-track-cursor: pointer,\n    --range-track-bg: var(--bg-3),\n    --range-track-border-radius: 1rem,\n    --range-track-box-shadow: var(--box-shadow-inset),\n    --range-thumb-width: 1rem,\n    --range-thumb-height: var(--range-thumb-width),\n    --range-thumb-bg: var(--primary-base),\n    --range-thumb-border: var(--range-thumb-bg) solid var(--border-color),\n    --range-thumb-border-radius: 1rem,\n    --range-thumb-box-shadow: \"0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%)\",\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n    --range-thumb-disabled-bg: var(--fg-3),\n    --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n    --range-thumb-transition-timing: .15s ease-in-out,\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n  ),\n  $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n  width: var(--range-thumb-width);\n  height: var(--range-thumb-height);\n  appearance: none;\n  @include gradient-bg(var(--range-thumb-bg));\n  border: var(--range-thumb-border);\n  @include border-radius(var(--range-thumb-border-radius));\n  @include box-shadow(var(--range-thumb-box-shadow));\n  @include transition(var(--range-thumb-transition));\n\n  &:active {\n    @include gradient-bg(var(--range-thumb-active-bg));\n  }\n}\n\n@mixin range-track() {\n  width: var(--range-track-width);\n  height: var(--range-track-height);\n  color: transparent; // Why?\n  cursor: var(--range-track-cursor);\n  background-color: var(--range-track-bg);\n  border-color: transparent; // Firefox specific?\n  @include border-radius(var(--range-track-border-radius));\n  @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n  .form-range {\n    @include tokens($range-tokens);\n\n    width: 100%;\n    height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:hover {\n      &::-webkit-slider-thumb {\n        @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));\n      }\n    }\n\n    &:focus-visible {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 0;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 0;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      @include range-thumb();\n      margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n    }\n\n    &::-moz-range-thumb {\n      @include range-thumb();\n    }\n\n    &::-webkit-slider-runnable-track {\n      @include range-track();\n    }\n\n    &::-moz-range-track {\n      @include range-track();\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n\n      &::-moz-range-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n  (\n    --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n    --form-floating-line-height: 1.25,\n    --form-floating-padding-x: var(--btn-input-padding-x),\n    --form-floating-padding-y: 1rem,\n    --form-floating-input-padding-t: 1.625rem,\n    --form-floating-input-padding-b: .625rem,\n    --form-floating-label-height: 1.5em,\n    --form-floating-label-opacity: .65,\n    --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n    --form-floating-label-disabled-color: var(--fg-3),\n    --form-floating-transition-property: \"opacity, transform\",\n    --form-floating-transition-timing: .1s ease-in-out,\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n  ),\n  $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n  .form-floating {\n    @include tokens($form-floating-tokens);\n\n    position: relative;\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      display: flex;\n      align-items: center;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      overflow: hidden;\n      color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: var(--input-btn-border-width) solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition(var(--form-floating-transition));\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      height: var(--form-floating-height);\n      min-height: var(--form-floating-height);\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      line-height: var(--form-floating-line-height);\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n        z-index: -1;\n        height: var(--form-floating-label-height);\n        content: \"\";\n        background-color: var(--control-bg);\n        @include border-radius(var(--btn-input-border-radius));\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: var(--control-disabled-bg);\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: var(--control-border-width) 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: var(--form-floating-label-disabled-color);\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n  (\n    --input-group-addon-padding-y: var(--btn-input-padding-y),\n    --input-group-addon-padding-x: var(--btn-input-padding-x),\n    --input-group-addon-font-size: var(--btn-input-font-size),\n    --input-group-addon-line-height: var(--btn-input-line-height),\n    --input-group-addon-color: var(--fg-body),\n    --input-group-addon-bg: var(--bg-2),\n    --input-group-addon-border-color: var(--border-color),\n  ),\n  $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n  .input-group {\n    @include tokens($input-group-addon-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    > .input-group-btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size); // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    @include border-radius(var(--btn-input-border-radius));\n  }\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  @each $size, $_ in $input-group-sizes {\n    .input-group-#{$size} {\n      > .form-control,\n      > .input-group-text,\n      > .btn {\n        min-height: var(--btn-input-#{$size}-min-height);\n        padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n        font-size: var(--btn-input-#{$size}-font-size);\n        @include border-radius(var(--btn-input-#{$size}-border-radius));\n      }\n    }\n  }\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * var(--border-width));\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n  (\n    --strength-height: .375rem,\n    --strength-gap: .25rem,\n    --strength-margin-top: .25rem,\n    --strength-border-radius: var(--border-radius-pill),\n    --strength-bg: var(--bg-2),\n    --strength-color: var(--bg-2),\n    --strength-weak-color: var(--danger-bg),\n    --strength-fair-color: var(--warning-bg),\n    --strength-good-color: var(--info-bg),\n    --strength-strong-color: var(--success-bg),\n  ),\n  $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    @include tokens($strength-tokens);\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  @each $level in $strength-levels {\n    .strength[data-bs-strength=\"#{$level}\"] {\n      --strength-color: var(--strength-#{$level}-color);\n    }\n  }\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    @include tokens($strength-tokens);\n\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    @each $level in $strength-levels {\n      &[data-bs-strength=\"#{$level}\"] {\n        --strength-color: var(--strength-#{$level}-color);\n        --strength-width: #{list.index($strength-levels, $level) * 25%};\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n  (\n    --otp-size: var(--btn-input-lg-min-height),\n    --otp-font-size: var(--btn-input-font-size),\n    --otp-gap: .5rem,\n  ),\n  $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n  .otp {\n    @include tokens($otp-tokens);\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n      @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  @each $size, $_ in $otp-sizes {\n    .otp-#{$size} {\n      --otp-size: var(--btn-input-#{$size}-min-height);\n      --otp-font-size: var(--btn-input-#{$size}-font-size);\n      --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n  (\n    --form-adorn-gap: .375rem,\n    --form-adorn-icon-size: 1rem,\n    --form-adorn-icon-color: var(--fg-2),\n  ),\n  $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n  .form-adorn {\n    @include tokens($form-adorn-tokens);\n\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Prevent default `.form-control` focus\n    &:focus-visible {\n      outline: 0;\n    }\n\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n  (\n    --chip-input-padding-y: .75rem,\n    --chip-input-padding-x: .75rem,\n    --chip-input-gap: .375rem,\n    --chip-input-ghost-min-width: 5rem,\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n  ),\n  $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n  .chip-input {\n    @include tokens($chip-input-tokens);\n\n    // Flexbox wrapping layout\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1 1 0;\n      min-width: var(--chip-input-ghost-min-width);\n      min-height: 1.75rem;\n    }\n\n    // Disabled state\n    &.disabled,\n    &:has(.form-ghost:disabled) {\n      background-color: var(--bg-2);\n      opacity: 1;\n\n      > .chip {\n        opacity: var(--control-disabled-opacity);\n\n        .chip-dismiss {\n          pointer-events: none;\n        }\n      }\n\n      > .form-ghost {\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Theme cascade: .chip-input.theme-* passes theme to child chips\n  // Chips inherit theme variables from parent\n  // @each $color-name, $theme-props in $theme-map {\n  //   .chip-input.theme-#{$color-name} > .chip {\n  //     // Subtle default state\n  //     --chip-color: var(--theme-text);\n  //     --chip-bg: var(--theme-bg-subtle);\n\n  //     // Selected/active solid state\n  //     --chip-selected-color: var(--theme-contrast);\n  //     --chip-selected-bg: var(--theme-bg);\n  //     --chip-selected-border-color: var(--theme-bg);\n  //   }\n  // }\n\n  // // Sizing variants\n  // .chip-input-sm {\n  //   --control-min-height: #{$control-min-height-sm};\n  //   --control-padding-y: #{$control-padding-y-sm};\n  //   --control-padding-x: #{$control-padding-x-sm};\n  //   --control-font-size: #{$control-font-size-sm};\n  //   --control-line-height: #{$control-line-height-sm};\n  //   --control-border-radius: #{$control-border-radius-sm};\n  //   --chip-input-gap: .25rem;\n  //   --chip-input-chip-font-size: .8125em;\n  // }\n\n  // .chip-input-lg {\n  //   --control-min-height: #{$control-min-height-lg};\n  //   --control-padding-y: #{$control-padding-y-lg};\n  //   --control-padding-x: #{$control-padding-x-lg};\n  //   --control-font-size: #{$control-font-size-lg};\n  //   --control-line-height: #{$control-line-height-lg};\n  //   --control-border-radius: #{$control-border-radius-lg};\n  //   --chip-input-gap: .5rem;\n  //   --chip-input-chip-font-size: .9375em;\n  // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: .5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n\n    &.show {\n      background-color: var(--bg-1);\n    }\n\n    &:disabled,\n    &.disabled {\n      cursor: not-allowed;\n      opacity: .65;\n    }\n  }\n\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: .5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .combobox-caret {\n    flex-shrink: 0;\n    @include transition(transform .2s ease-in-out);\n\n    .show > & {\n      transform: rotate(180deg);\n    }\n  }\n\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, .25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n\n  .combobox-search-input {\n    width: 100%;\n  }\n\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n  (\n    --tooltip-zindex: #{$zindex-tooltip},\n    --tooltip-max-width: 200px,\n    --tooltip-padding-x: #{$spacer * .75},\n    --tooltip-padding-y: #{$spacer * .375},\n    --tooltip-font-size: var(--font-size-sm),\n    --tooltip-color: var(--bg-body),\n    --tooltip-bg: var(--fg-body),\n    --tooltip-border-radius: var(--border-radius),\n    --tooltip-opacity: .95,\n    --tooltip-arrow-width: .8rem,\n    --tooltip-arrow-height: .4rem,\n  ),\n  $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x:     var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size:     var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n  .tooltip {\n    @include tokens($tooltip-tokens);\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@mixin reset-text {\n  font-family: var(--body-font-family);\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: var(--body-font-weight);\n  line-height: var(--body-line-height);\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-ring-color: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: calc(var(--control-padding-x) * 3.5);\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right var(--control-padding-x) center;\n        background-size: 1rem;\n      }\n\n      &:focus-visible {\n        @include focus-ring(true, $color: $focus-ring-color);\n        border-color: $border-color;\n      }\n    }\n\n    &::-webkit-contacts-auto-fill-button {\n      @if $enable-validation-icons {\n        // margin-inline-end: calc(var(--control-padding-x) * 3);\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // padding-inline-end: $input-height-inner;\n        background-position: right var(--control-padding-x) top var(--control-padding-x);\n        // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // width: calc($form-color-width + $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        // box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           var(--font-size-xs) !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success-text) !default;\n$form-feedback-invalid-color:       var(--danger-text) !default;\n\n$form-feedback-icon-valid-color:    #00a748 !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  #dd0d37 !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": var(--success-contrast),\n    \"tooltip-bg-color\": var(--success-bg),\n    \"focus-ring-color\": var(--success-focus-ring),\n    \"border-color\": var(--success-border),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": var(--danger-contrast),\n    \"tooltip-bg-color\": var(--danger-bg),\n    \"focus-ring-color\": var(--danger-focus-ring),\n    \"border-color\": var(--danger-border),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n  (\n    --btn-min-height: var(--btn-input-min-height),\n    --btn-padding-x: var(--btn-input-padding-x),\n    --btn-padding-y: var(--btn-input-padding-y),\n    --btn-font-size: var(--btn-input-font-size),\n    --btn-font-weight: var(--btn-input-font-weight),\n    --btn-line-height: var(--btn-input-line-height),\n    --btn-color: var(--fg-body),\n    --btn-white-space: nowrap,\n    --btn-border-width: var(--border-width),\n    --btn-border-color: transparent,\n    --btn-border-radius: var(--border-radius),\n    --btn-hover-border-color: transparent,\n    --btn-disabled-opacity: .65,\n    --btn-transition-timing: .15s ease-in-out,\n    --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n  ),\n  $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n  (\n    --btn-font-weight: var(--font-weight-normal),\n    --btn-color: var(--link-color),\n    --btn-bg: transparent,\n    --btn-border-color: transparent,\n    --btn-hover-color: var(--link-hover-color),\n    --btn-hover-bg: transparent,\n    --btn-hover-border-color: transparent,\n    --btn-active-color: var(--link-hover-color),\n    --btn-active-bg: transparent,\n    --btn-active-border-color: transparent,\n    --btn-disabled-color: var(--fg-3),\n    --btn-disabled-border-color: transparent,\n  ),\n  $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n  (\n    --btn-gradient-start: rgb(255 255 255 / 12.5%),\n    --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n    --btn-border-mix-color: #000,\n    --btn-border-mix-amount: 10%,\n    --btn-border-hover-mix-amount: 12.5%,\n    --btn-border-active-mix-amount: 20%,\n    --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n  ),\n  $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n  (\"xs\", \"sm\", \"lg\"),\n  $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n  (\n    \"solid\": (\n      \"base\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      )\n    ),\n    \"outline\": (\n      \"base\": (\n        \"bg\": \"transparent\",\n        \"color\": \"text\",\n        \"border-color\": \"border\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      )\n    ),\n    \"subtle\": (\n      \"base\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"bg\": (\"bg-muted\", \"bg-subtle\"),\n        \"color\": \"text-emphasis\"\n      ),\n      \"active\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text-emphasis\"\n      )\n    ),\n    \"text\": (\n      \"base\": (\n        \"color\": \"text\",\n        \"bg\": \"transparent\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      ),\n      \"active\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      )\n    )\n  ),\n  $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n  #{$btn-variant-selectors} {\n    @include tokens($button-tokens);\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition(var(--btn-transition));\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $config in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    @include tokens($button-link-tokens);\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n\n  // scss-docs-start btn-sizes-loop\n  @each $size, $_ in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: var(--btn-input-#{$size}-min-height);\n      --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n      --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n      --btn-font-size: var(--btn-input-#{$size}-font-size);\n      --btn-line-height: var(--btn-input-#{$size}-line-height);\n      --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end btn-sizes-loop\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    @include tokens($button-styled-tokens);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius(var(--btn-border-radius));\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n  (\n    --btn-close-size: 1.25rem,\n    --btn-close-color: inherit,\n    --btn-close-opacity: .5,\n    --btn-close-hover-opacity: .75,\n    --btn-close-focus-opacity: .85,\n    --btn-close-disabled-opacity: .25,\n  ),\n  $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    @include tokens($btn-close-tokens);\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent; // for button elements\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus-visible {\n      opacity: var(--btn-close-focus-opacity);\n      @include focus-ring();\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n  (\n    --accordion-padding-x: 1.25rem,\n    --accordion-padding-y: 1rem,\n    --accordion-color: var(--fg-body),\n    --accordion-bg: var(--bg-body),\n    --accordion-transition-property: \"color, background-color, border-radius\",\n    --accordion-transition-timing: \".15s ease-in-out\",\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n    --accordion-border-color: var(--border-color),\n    --accordion-border-width: var(--border-width),\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n    --accordion-btn-color: var(--fg-2),\n    --accordion-btn-bg: var(--bg-body),\n    --accordion-btn-icon-width: 1rem,\n    --accordion-btn-icon-transform: rotate(-180deg),\n    --accordion-btn-icon-transition: transform .2s ease-in-out,\n    --accordion-active-color: var(--fg),\n    --accordion-active-bg: var(--bg-2),\n  ),\n  $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n  .accordion {\n    @include tokens($accordion-tokens);\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    @include transition(var(--accordion-transition));\n\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n  (\n    --alert-gap: #{$spacer * .75},\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n    --alert-padding-x: #{$spacer},\n    --alert-padding-y: #{$spacer},\n    --alert-color: var(--theme-text, inherit),\n    --alert-border-color: var(--theme-border, var(--border-color)),\n    --alert-border: var(--border-width) solid var(--alert-border-color),\n    --alert-border-radius: var(--border-radius),\n    --alert-link-color: inherit,\n    --hr-border-color: var(--theme-border, var(--border-color)),\n  ),\n  $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n  .alert {\n    @include tokens($alert-tokens);\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert > p {\n    margin-bottom: 0;\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n  (\n    --avatar-size: 2.5rem,\n    --avatar-border-radius: 50%,\n    --avatar-border-width: 2px,\n    --avatar-border-color: var(--bg-body),\n    --avatar-bg: var(--bg-2),\n    --avatar-color: var(--fg-body),\n    // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n    --avatar-status-size: .75rem,\n    --avatar-status-border-width: 2px,\n    --avatar-status-border-color: var(--bg-body),\n    --avatar-stack-spacing: -.3,\n    --avatar-stack-transition: \"transform .2s ease-in-out\",\n  ),\n  $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n  (\n    \"xs\": (\n      size: 1.5rem,\n      status-size: .625rem,\n    ),\n    \"sm\": (\n      size: 2rem,\n    ),\n    \"lg\": (\n      size: 3rem,\n      status-size: 1rem,\n    ),\n    \"xl\": (\n      size: 4rem,\n      status-size: 1.25rem,\n    ),\n  ),\n  $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n  .avatar {\n    @include tokens($avatar-tokens);\n\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * .4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    @include border-radius(var(--avatar-border-radius));\n  }\n\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    @include border-radius(inherit);\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    @include border-radius(50%);\n\n    &.status-online {\n      background-color: var(--green-500);\n    }\n\n    &.status-offline {\n      background-color: var(--gray-400);\n      @include border-radius(20%);\n    }\n\n    &.status-busy {\n      background-color: var(--red-500);\n      @include border-radius(20%);\n    }\n\n    &.status-away {\n      background-color: var(--yellow-500);\n    }\n  }\n\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n\n    .avatar {\n      // Stack spacing is calculated as a percentage of avatar size\n      margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n      border: var(--avatar-border-width) solid var(--avatar-border-color);\n      mask-image: none;\n      @include transition(var(--avatar-stack-transition));\n\n      &:last-child {\n        margin-left: 0;\n      }\n\n      &:hover {\n        z-index: 1;\n        transform: translateY(-2px);\n      }\n    }\n  }\n\n  @each $size, $tokens in $avatar-sizes {\n    .avatar-#{$size},\n    .avatar-stack-#{$size} {\n      --avatar-size: #{map.get($tokens, size)};\n\n      @if map.has-key($tokens, status-size) {\n        --avatar-status-size: #{map.get($tokens, status-size)};\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n  (\n    --badge-padding-x: .625em,\n    --badge-padding-y: .25em,\n    --badge-font-size: clamp(12px, .75em, .75em),\n    --badge-font-weight: var(--font-weight-semibold),\n    --badge-color: inherit,\n    --badge-bg: var(--bg-2),\n    --badge-border-width: var(--border-width),\n    --badge-border-color: transparent,\n    --badge-border-radius: var(--border-radius-lg),\n  ),\n  $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    @include tokens($badge-tokens);\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n  (\n    --breadcrumb-margin-bottom: 1rem,\n    --breadcrumb-font-size: inherit,\n    --breadcrumb-bg: transparent,\n    --breadcrumb-border-radius: var(--border-radius),\n    --breadcrumb-divider-color: var(--fg-4),\n    --breadcrumb-link-padding-x: .75rem,\n    --breadcrumb-link-padding-y: .25rem,\n    --breadcrumb-link-color: var(--fg-3),\n    --breadcrumb-link-hover-color: var(--fg-2),\n    --breadcrumb-link-hover-bg: var(--bg-1),\n    --breadcrumb-link-active-color: var(--fg-1),\n    --breadcrumb-link-border-radius: var(--border-radius-lg),\n  ),\n  $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n  .breadcrumb {\n    @include tokens($breadcrumb-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n  (\n    --chip-height: 1.75rem,\n    --chip-padding-x: .625rem,\n    --chip-gap: .3125rem,\n    --chip-border-radius: var(--border-radius-pill),\n    --chip-img-size: 1.25rem,\n    --chip-icon-size: 1rem,\n    --chip-dismiss-size: 1rem,\n    --chip-dismiss-opacity: .65,\n    --chip-dismiss-hover-opacity: 1,\n    --chip-color: var(--theme-text, var(--fg-body)),\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n    --chip-border-color: transparent,\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n  ),\n  $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .chip {\n    @include tokens($chip-tokens);\n\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    @include border-radius(var(--chip-border-radius));\n\n    &:hover {\n      --chip-bg: var(--theme-bg-muted, var(--bg-3));\n    }\n\n    &:focus-visible {\n      outline: 0;\n      // @include focus-ring();\n    }\n\n    &.active {\n      --chip-color: var(--chip-selected-color);\n      --chip-bg: var(--chip-selected-bg);\n      --chip-border-color: var(--chip-selected-border-color);\n\n      &:hover {\n        --chip-bg: var(--chip-selected-bg);\n        opacity: .9;\n      }\n    }\n\n    &.disabled,\n    &:disabled {\n      pointer-events: none;\n      opacity: .65;\n    }\n  }\n\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    @include border-radius(50%);\n\n    &:first-child {\n      margin-inline-start: -.375rem;\n    }\n  }\n\n  // Chip icon (left side)\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -.25);\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n    }\n\n    > img {\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n      object-fit: cover;\n      @include border-radius(50%);\n    }\n  }\n\n  // Dismiss button (right side)\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n    margin-inline-end: calc(var(--chip-padding-x) * -.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n    // @include transition(opacity .15s ease-in-out);\n\n    &:hover {\n      opacity: var(--chip-dismiss-hover-opacity);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      opacity: 1;\n      @include focus-ring();\n    }\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-dismiss-size);\n      height: var(--chip-dismiss-size);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n  (\n    --card-spacer-y: #{$spacer},\n    --card-spacer-x: #{$spacer},\n    --card-subtitle-color: inherit,\n    --card-border-width: var(--border-width),\n    --card-border-color: var(--border-color-translucent),\n    --card-border-radius: var(--border-radius-lg),\n    --card-box-shadow: none,\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --card-cap-padding-y: #{$spacer * .75},\n    --card-cap-padding-x: #{$spacer},\n    --card-cap-bg: var(--bg-1),\n    --card-cap-color: inherit,\n    --card-height: auto,\n    --card-color: inherit,\n    --card-bg: var(--bg-body),\n    --card-img-overlay-padding: #{$spacer},\n    --card-group-margin: #{$grid-gutter-x * .5},\n    --card-body-gap: #{$spacer * .5},\n  ),\n  $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n  .card {\n    @include tokens($card-tokens);\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n\n    .card-header,\n    .card-footer {\n      background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n  (\n    --carousel-control-color: #{$white},\n    --carousel-control-width: 15%,\n    --carousel-control-opacity: .5,\n    --carousel-control-hover-opacity: .9,\n    --carousel-control-transition: opacity .15s ease,\n    --carousel-control-icon-filter: none,\n    --carousel-indicator-width: 30px,\n    --carousel-indicator-height: 3px,\n    --carousel-indicator-hit-area-height: 10px,\n    --carousel-indicator-spacer: 3px,\n    --carousel-indicator-opacity: .5,\n    --carousel-indicator-active-bg: var(--white),\n    --carousel-indicator-active-opacity: 1,\n    --carousel-indicator-transition: opacity .6s ease,\n    --carousel-caption-width: 70%,\n    --carousel-caption-color: var(--white),\n    --carousel-caption-padding-y: 1.25rem,\n    --carousel-caption-spacer: 1.25rem,\n    --carousel-control-icon-width: 2rem,\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n    --carousel-transition-duration: .6s,\n    --carousel-transition: transform .6s ease-in-out,\n  ),\n  $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n  (\n    --carousel-indicator-active-bg: #{$black},\n    --carousel-caption-color: #{$black},\n    --carousel-control-icon-filter: invert(1) grayscale(100),\n  ),\n  $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n    @include tokens($carousel-tokens);\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition(var(--carousel-transition));\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s var(--carousel-transition-duration));\n    }\n  }\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    @include transition(var(--carousel-control-transition));\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: var(--carousel-control-color);\n      text-decoration: none;\n      outline: 0;\n      opacity: var(--carousel-control-hover-opacity);\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: var(--carousel-indicator-width);\n      height: var(--carousel-indicator-height);\n      padding: 0;\n      margin-inline: var(--carousel-indicator-spacer);\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n      opacity: var(--carousel-indicator-opacity);\n      @include transition(var(--carousel-indicator-transition));\n    }\n\n    .active {\n      opacity: var(--carousel-indicator-active-opacity);\n    }\n  }\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * .5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * .5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    @include tokens($carousel-dark-tokens);\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n  (\n    --datepicker-padding: 1rem,\n    --datepicker-bg: var(--bg-body),\n    --datepicker-color: var(--fg-body),\n    --datepicker-border-color: var(--border-color-translucent),\n    --datepicker-border-width: var(--border-width),\n    --datepicker-border-radius: var(--border-radius-lg),\n    --datepicker-box-shadow: var(--box-shadow),\n    --datepicker-font-size: var(--font-size-sm),\n    --datepicker-min-width: 280px,\n    --datepicker-zindex: #{$zindex-menu},\n    --datepicker-header-font-weight: 600,\n    --datepicker-weekday-color: var(--fg-3),\n    --datepicker-day-hover-bg: var(--bg-1),\n    --datepicker-day-selected-bg: var(--primary-bg),\n    --datepicker-day-selected-color: var(--primary-contrast),\n    --datepicker-day-today-bg: var(--bg-2),\n    --datepicker-day-today-color: var(--fg-1),\n    --datepicker-day-disabled-color: var(--fg-4),\n  ),\n  $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    @include tokens($datepicker-tokens);\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n    @include border-radius(var(--datepicker-border-radius));\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    pointer-events: none;\n  }\n\n  [data-vc-dates=\"row\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/dialog-shared\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n  (\n    --dialog-padding: 1rem,\n    --dialog-width: 500px,\n    --dialog-margin: 1.75rem,\n    --dialog-color: var(--fg-body),\n    --dialog-bg: var(--bg-body),\n    --dialog-border-color: var(--border-color-translucent),\n    --dialog-border-width: var(--border-width),\n    --dialog-border-radius: var(--border-radius-lg),\n    --dialog-box-shadow: var(--box-shadow-lg),\n    --dialog-transition-duration: .3s,\n    --dialog-transition-timing: cubic-bezier(.22, 1, .36, 1),\n    --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n    --dialog-backdrop-blur: 8px,\n    --dialog-header-padding: 1rem,\n    --dialog-header-border-color: var(--border-color),\n    --dialog-header-border-width: var(--border-width),\n    --dialog-footer-padding: 1rem,\n    --dialog-footer-border-color: var(--border-color),\n    --dialog-footer-border-width: var(--border-width),\n    --dialog-footer-gap: .5rem,\n  ),\n  $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n  (\n    sm: 280px,\n    lg: 800px,\n    xl: 1140px,\n  ),\n  $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    @include tokens($dialog-tokens);\n\n    // Override UA display:none so visibility controls the hidden state,\n    // enabling reliable cross-browser exit animations after close().\n    display: flex;\n    flex-direction: column;\n    width: var(--dialog-width);\n    max-width: 100%;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    overflow: visible;\n    color: var(--dialog-color);\n    visibility: hidden;\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Animated variant (default) — transitions, opacity fade, slide transforms.\n    // Adding .dialog-instant skips all animations (instant show/hide).\n    &:not(.dialog-instant) {\n      // Exit state: faded out\n      opacity: 0;\n\n      // Exit transition: opacity and transform animate out, then visibility\n      // flips hidden after the animation completes (via the delay).\n      @include transition(\n        opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n        transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n        visibility 0s var(--dialog-transition-duration)\n      );\n\n      // Slide-down variant: enters from above, exits below.\n      &.dialog-slide-down {\n        transform: translateY(3rem);\n      }\n\n      // Slide-up variant: enters from below, exits above.\n      &.dialog-slide-up {\n        transform: translateY(-3rem);\n      }\n\n      // Open state: visible and faded in.\n      // Entry transition: visibility flips visible immediately (0s, no delay),\n      // then opacity and transform animate in.\n      &[open] {\n        overflow: visible;\n        visibility: visible;\n        opacity: 1;\n        @include transition(\n          opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n          transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n          visibility 0s\n        );\n        transform: none;\n      }\n\n      // Static backdrop \"bounce\" animation (modal dialogs only)\n      &.dialog-static {\n        transform: scale(1.02);\n      }\n\n      // Native backdrop styling with transitions\n      &::backdrop {\n        background-color: var(--dialog-backdrop-bg);\n        backdrop-filter: blur(var(--dialog-backdrop-blur));\n        @include backdrop-transitions(var(--dialog-transition-duration), var(--dialog-transition-timing));\n      }\n    }\n\n    // Instant variant — no transitions, just snap visibility\n    &.dialog-instant {\n      &::backdrop {\n        background-color: var(--dialog-backdrop-bg);\n        backdrop-filter: blur(var(--dialog-backdrop-blur));\n      }\n    }\n\n    // Open state base (always applies, regardless of animation mode)\n    &[open] {\n      overflow: visible;\n      visibility: visible;\n      opacity: 1;\n      transform: none;\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Entry animations via @starting-style.\n  // Slide variants need this because the base transform is the EXIT position,\n  // but entry must start from the opposite direction.\n  // ::backdrop needs it since it only exists in the top layer.\n  // Default dialog (fade only) does NOT need @starting-style — the base\n  // opacity: 0 state serves as the entry-from state with visibility trick.\n  @starting-style {\n    // Slide-down: enters from above (negative Y), slides down into view\n    .dialog:not(.dialog-instant).dialog-slide-down[open] {\n      opacity: 0;\n      transform: translateY(-3rem);\n    }\n\n    // Slide-up: enters from below (positive Y), slides up into view\n    .dialog:not(.dialog-instant).dialog-slide-up[open] {\n      opacity: 0;\n      transform: translateY(3rem);\n    }\n\n    .dialog:not(.dialog-instant)::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n\n  // Dialog sizes\n  @each $size, $value in $dialog-sizes {\n    .dialog-#{$size} { --dialog-width: #{$value}; }\n  }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @if $prefix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    @include dialog-header(var(--dialog-header-padding));\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    @include dialog-title();\n    font-size: var(--font-size-md);\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    @include dialog-body(var(--dialog-padding));\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    @include dialog-footer(var(--dialog-footer-padding), var(--dialog-footer-gap), var(--dialog-footer-border-width), var(--dialog-footer-border-color));\n  }\n}\n","// Shared mixins for Dialog and Drawer sub-components.\n// Both components use identical header/footer/body/title patterns\n// with different token namespaces.\n\n@use \"transition\" as *;\n\n// Header: flex row with close button alignment\n@mixin dialog-header($padding) {\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  padding: $padding;\n}\n\n// Footer: flex row with end-aligned actions\n@mixin dialog-footer($padding, $gap, $border-width, $border-color) {\n  display: flex;\n  flex-shrink: 0;\n  flex-wrap: wrap;\n  gap: $gap;\n  align-items: center;\n  justify-content: flex-end;\n  padding: $padding;\n  border-block-start: $border-width solid $border-color;\n}\n\n// Body: flexible scrollable content area\n@mixin dialog-body($padding) {\n  flex: 1 1 auto;\n  padding: $padding;\n}\n\n// Title: reset margin, set line-height\n@mixin dialog-title($line-height: 1.5) {\n  margin-bottom: 0;\n  line-height: $line-height;\n}\n\n// Backdrop transitions for ::backdrop pseudo-element.\n// Both Dialog and Drawer use identical allow-discrete transitions\n// on display and overlay to keep ::backdrop in the top layer.\n@mixin backdrop-transitions($duration, $timing) {\n  @include transition(\n    background-color $duration $timing,\n    backdrop-filter $duration $timing,\n    display $duration allow-discrete,\n    overlay $duration allow-discrete\n  );\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n  (\n    --menu-zindex: #{$zindex-menu},\n    --menu-gap: .125rem,\n    --menu-min-width: 10rem,\n    --menu-padding-x: .25rem,\n    --menu-padding-y: .25rem,\n    --menu-spacer: .125rem,\n    --menu-font-size: var(--font-size-sm),\n    --menu-color: var(--fg-body),\n    --menu-bg: var(--bg-body),\n    // --menu-border-color: var(--border-color-translucent),\n    // --menu-border-radius: var(--border-radius-lg),\n    // --menu-border-width: var(--border-width),\n    --menu-box-shadow: var(--box-shadow),\n    // --menu-max-height: none,\n    --menu-divider-bg: var(--border-color-translucent),\n    --menu-divider-margin-y: .125rem,\n    --menu-divider-margin-x: .25rem,\n    --menu-item-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-bg: var(--bg-1),\n    --menu-item-active-color: var(--primary-contrast),\n    --menu-item-active-bg: var(--primary-bg),\n    --menu-item-disabled-color: var(--fg-3),\n    --menu-item-gap: .5rem,\n    --menu-item-padding-x: .75rem,\n    --menu-item-padding-y: .25rem,\n    --menu-item-border-radius: var(--border-radius),\n    --menu-icon-size: 1rem,\n    --menu-image-size: 1.5rem,\n    --menu-description-font-size: var(--font-size-xs),\n    --menu-check-color: currentcolor,\n    --menu-header-color: var(--fg-3),\n    --menu-header-padding-x: .75rem,\n    --menu-header-padding-y: .25rem,\n    --menu-transition-duration: .15s,\n    --menu-transition-timing: cubic-bezier(.22, 1, .36, 1),\n  ),\n  $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n  .menu {\n    @include tokens($menu-tokens);\n\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n    @include box-shadow(var(--menu-box-shadow));\n    opacity: 0;\n    transform: scale(.95);\n    transform-origin: top start;\n\n    &[data-bs-placement^=\"top\"] {\n      transform-origin: bottom start;\n    }\n\n    &[data-bs-placement=\"bottom-end\"] {\n      transform-origin: top end;\n    }\n\n    &[data-bs-placement=\"top-end\"] {\n      transform-origin: bottom end;\n    }\n\n    &[data-bs-placement^=\"left\"] {\n      transform-origin: top end;\n    }\n\n    @include transition(\n      opacity var(--menu-transition-duration) var(--menu-transition-timing),\n      transform var(--menu-transition-duration) var(--menu-transition-timing),\n      display var(--menu-transition-duration) allow-discrete\n    );\n\n    &.show {\n      display: flex;\n      opacity: 1;\n      transform: none;\n    }\n  }\n\n  @starting-style {\n    .menu.show {\n      opacity: 0;\n      transform: scale(.95);\n    }\n  }\n\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    @include border-radius(var(--menu-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--theme-text, var(--menu-item-hover-color));\n      @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n    }\n\n    &.active,\n    &:active {\n      color: var(--theme-contrast, var(--menu-item-active-color));\n      @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n      .menu-item-icon {\n        color: inherit !important; // stylelint-disable-line declaration-no-important\n      }\n    }\n\n    &.selected {\n      font-weight: $font-weight-semibold;\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--menu-item-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: .125rem;\n  }\n\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    @include border-radius(var(--border-radius-sm));\n  }\n\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: .125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n\n    .selected > & {\n      visibility: visible;\n    }\n  }\n\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // scss-docs-start submenu\n  .submenu {\n    position: relative;\n\n    > .menu-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .menu-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    > .menu {\n      top: 0;\n      margin-top: calc(-1 * var(--menu-padding-y));\n    }\n\n    &:hover > .menu-item,\n    &:focus-within > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n\n    &.show > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n  }\n\n  // Mobile stacking: submenu covers the parent menu in-place\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      @include border-radius(0);\n      box-shadow: none;\n    }\n\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n\n      &::before {\n        display: inline-block;\n        flex-shrink: 0;\n        width: .375em;\n        height: .375em;\n        content: \"\";\n        border-color: currentcolor;\n        border-style: solid;\n        border-width: .125em 0 0 .125em;\n        transform: rotate(-45deg);\n\n        [dir=\"rtl\"] & {\n          border-width: 0 .125em .125em 0;\n        }\n      }\n    }\n\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: .3;\n    }\n  }\n  // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n  (\n    --list-group-color: var(--fg-body),\n    --list-group-bg: var(--bg-body),\n    --list-group-border-color: var(--border-color),\n    --list-group-border-width: var(--border-width),\n    --list-group-border-radius: var(--border-radius),\n    --list-group-item-padding-x: #{$spacer},\n    --list-group-item-padding-y: #{$spacer * .5},\n    --list-group-action-color: var(--fg-2),\n    --list-group-action-hover-color: var(--fg-1),\n    --list-group-action-hover-bg: var(--bg-1),\n    --list-group-action-active-color: var(--fg-body),\n    --list-group-action-active-bg: var(--bg-2),\n    --list-group-disabled-color: var(--fg-3),\n    --list-group-disabled-bg: var(--bg-body),\n    --list-group-active-color: var(--primary-contrast),\n    --list-group-active-bg: var(--primary-bg),\n    --list-group-active-border-color: var(--primary-bg),\n  ),\n  $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n  .list-group {\n    @include tokens($list-group-tokens);\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n    text-decoration: none;\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}list-group-horizontal {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n  (\n    --nav-gap: .125rem,\n    --nav-link-gap: .5rem,\n    --nav-link-align: center,\n    --nav-link-justify: center,\n    --nav-link-padding-x: .75rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--fg-2),\n    --nav-link-hover-color: var(--fg-1),\n    --nav-link-hover-bg: var(--bg-1),\n    --nav-link-active-color: var(--fg-body),\n    --nav-link-active-bg: var(--bg-2),\n    --nav-link-disabled-color: var(--fg-4),\n    --nav-link-border-width: var(--border-width),\n    --nav-link-transition-property: \"color, background-color, border-color\",\n    --nav-link-transition-timing: .15s ease-in-out,\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n  ),\n  $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n  (\n    --nav-tabs-border-width: var(--border-width),\n    --nav-tabs-border-color: var(--border-color),\n    --nav-tabs-border-radius: var(--border-radius),\n    --nav-tabs-link-hover-border-color: var(--border-subtle),\n    --nav-tabs-link-active-color: var(--fg-color),\n    --nav-tabs-link-active-bg: var(--bg-body),\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n  ),\n  $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n  (\n    --nav-pills-bg: var(--bg-1),\n    --nav-pills-padding: .25rem,\n    --nav-pills-link-active-color: var(--primary-contrast),\n    --nav-pills-link-active-bg: var(--primary-bg),\n  ),\n  $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n  (\n    --nav-gap: 1rem,\n    --nav-link-active-bg: transparent,\n    --nav-underline-border-width: .125rem,\n    --nav-underline-link-active-color: var(--fg-color),\n  ),\n  $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    @include tokens($nav-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    @include border-radius(var(--border-radius));\n    @include transition(var(--nav-link-transition));\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    @include tokens($nav-tabs-tokens);\n    // scss-docs-end nav-tabs-css-vars\n\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n    .nav-link {\n      border: var(--nav-tabs-border-width) solid transparent;\n      border-bottom-color: var(--nav-tabs-border-color);\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .menu {\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      @include border-top-radius(0);\n    }\n  }\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    @include tokens($nav-pills-tokens);\n\n    display: inline-flex;\n    padding: var(--nav-pills-padding);\n    background-color: var(--nav-pills-bg);\n    @include border-radius(var(--border-radius-pill));\n\n    .nav-link {\n      @include border-radius(var(--border-radius-pill));\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    @include tokens($nav-underline-tokens);\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0; // Allow flex child to shrink below content width\n  }\n\n  // Container item for overflow\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n\n  // Hide items that have been moved to overflow\n  .nav-overflow [data-bs-nav-overflow=\"true\"] {\n    display: none;\n  }\n\n  // Preserve items that should never overflow\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n  (\n    --navbar-padding-x: 0,\n    --navbar-padding-y: .5rem,\n    --navbar-color: var(--fg-2),\n    --navbar-hover-color: var(--fg-1),\n    --navbar-disabled-color: var(--fg-3),\n    --navbar-active-color: var(--fg-body),\n    --navbar-brand-padding-y: .75rem,\n    --navbar-brand-margin-end: 1rem,\n    --navbar-brand-font-size: var(--font-size-md),\n    --navbar-brand-font-weight: var(--font-weight-medium),\n    --navbar-brand-color: var(--fg-body),\n    --navbar-brand-hover-color: var(--fg-body),\n    --navbar-nav-link-padding-x: .75rem,\n    --navbar-toggler-width: 2rem,\n    --navbar-toggler-padding-y: .25rem,\n    --navbar-toggler-padding-x: .75rem,\n    --navbar-toggler-font-size: var(--font-size-lg),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    --navbar-toggler-border-radius: var(--border-radius),\n    --navbar-toggler-transition: box-shadow .15s ease-in-out,\n  ),\n  $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n  (\n    --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n    --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n    --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n    --navbar-active-color: var(--white),\n    --navbar-brand-color: var(--white),\n    --navbar-brand-hover-color: var(--white),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n  ),\n  $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n  (\n    --nav-gap: .25rem,\n    --nav-link-gap: .5rem,\n    --nav-link-padding-x: .5rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--navbar-color),\n    --nav-link-border-width: var(--border-width),\n    //--nav-link-border-color: var(--border-color),\n    --nav-link-hover-color: var(--navbar-hover-color),\n    --nav-link-hover-bg: transparent,\n    --nav-link-active-color: var(--navbar-active-color),\n    --nav-link-active-bg: transparent,\n    --nav-link-disabled-color: var(--navbar-disabled-color),\n  ),\n  $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  // Base navbar\n  .navbar {\n    @include tokens($navbar-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include set-container();\n    color: var(--navbar-color, var(--fg-body));\n    background-color: var(--navbar-bg, var(--bg-body));\n    // @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n    // Container properties for nested containers\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n  // Navigation within navbars. Sets all nav-link CSS variables needed for\n  // proper styling.\n  //\n  // Relies on `.nav` base class.\n  .navbar-nav {\n    @include tokens($navbar-nav-tokens);\n\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n        border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n      }\n    }\n  }\n\n  // Navbar text\n  //\n  // For adding text or inline elements to the navbar\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus {\n      color: var(--navbar-active-color);\n    }\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of responsive `.navbar-expand` classes for configuring\n  // where your navbar collapses and expands. Uses container queries so the\n  // navbar responds to its own width, not the viewport width.\n\n  // Mixin for expanded state styles (applied to descendants)\n  @mixin navbar-expanded {\n    // Style the inner container since we can't style .navbar itself with container queries\n    > .container,\n    > .container-fluid,\n    %navbar-expand-container {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n\n    .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n\n    .navbar-toggler {\n      display: none !important; // stylelint-disable-line declaration-no-important\n    }\n\n    [class*=\"drawer\"] {\n      // stylelint-disable declaration-no-important\n      // Reset native <dialog> UA styles and below-breakpoint drawer styles.\n      // Must use !important to override both UA <dialog> defaults and the\n      // responsive drawer styles from media-breakpoint-down().\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      @include box-shadow(none);\n      @include transition(none);\n      // stylelint-enable declaration-no-important\n\n      .drawer-header {\n        display: none !important; // stylelint-disable-line declaration-no-important\n      }\n\n      .drawer-body {\n        display: flex;\n        flex-grow: 1;\n        flex-direction: row;\n        align-items: center;\n        padding: 0;\n        overflow-y: visible;\n      }\n    }\n  }\n\n  // Always expanded (no responsive behavior)\n  .navbar-expand {\n    @include navbar-expanded();\n\n    // Also set on navbar itself for non-responsive case\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n\n  // Responsive navbar expand classes using container queries\n  @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}navbar-expand {\n        @include container-breakpoint-up($next) {\n          @include navbar-expanded();\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Prevent drawer flash on breakpoint crossing.\n  // When the navbar crosses from expanded (inline) to collapsed (drawer),\n  // the drawer transitions from visibility:visible to visibility:hidden.\n  // Without this override, the slide transition plays — briefly showing the\n  // panel sliding away. Disabling transitions when not [open] ensures only\n  // intentional show/hide actions animate.\n  // stylelint-disable-next-line no-duplicate-selectors\n  .navbar {\n    [class*=\"drawer\"]:not([open]):not(.hiding) {\n      @include transition(none !important);\n    }\n  }\n\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n\n    &::before {\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      content: \"\";\n      background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n      background-image: none;\n      backdrop-filter: blur(5px) saturate(180%);\n    }\n  }\n\n  .navbar[data-bs-theme=\"dark\"] {\n    @include tokens($navbar-dark-tokens);\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/dialog-shared\" as *;\n@use \"mixins/transition\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$drawer-tokens: () !default;\n\n// scss-docs-start drawer-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$drawer-tokens: defaults(\n  (\n    --drawer-inset: var(--spacer),\n    --drawer-zindex: #{$zindex-drawer},\n    --drawer-width: 400px,\n    --drawer-height: 30vh,\n    --drawer-padding-x: var(--spacer),\n    --drawer-padding-y: var(--spacer),\n    --drawer-color: var(--fg-body),\n    --drawer-bg: var(--bg-body),\n    --drawer-border-width: var(--border-width),\n    --drawer-border-color: var(--border-color-translucent),\n    --drawer-border-radius: var(--border-radius-lg),\n    --drawer-box-shadow: var(--box-shadow-lg),\n    --drawer-transition-duration: .3s,\n    --drawer-transition-timing: cubic-bezier(.22, 1, .36, 1),\n    --drawer-title-line-height: 1.5,\n  ),\n  $drawer-tokens\n);\n// scss-docs-end drawer-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$drawer-backdrop-tokens: () !default;\n\n// scss-docs-start drawer-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$drawer-backdrop-tokens: defaults(\n  (\n    --drawer-backdrop-bg: var(--bg-body),\n    --drawer-backdrop-opacity: 25%,\n    --drawer-backdrop-blur: 8px,\n  ),\n  $drawer-backdrop-tokens\n);\n// scss-docs-end drawer-backdrop-tokens\n\n%drawer-css-vars {\n  @include tokens($drawer-tokens);\n}\n\n@layer components {\n  // Apply CSS vars to all drawer responsive variants\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}drawer {\n      @extend %drawer-css-vars;\n    }\n  }\n\n  // Responsive drawer styles\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}drawer {\n      @include media-breakpoint-down($next) {\n        // Reset native <dialog> UA defaults (fit-content sizing, inset, margins)\n        // and override display:none so visibility controls the hidden state.\n        position: fixed;\n        inset: auto;\n        z-index: var(--drawer-zindex);\n        display: flex;\n        flex-direction: column;\n        width: auto;\n        max-width: calc(100% - var(--drawer-inset) * 2);\n        height: auto;\n        max-height: calc(100% - var(--drawer-inset) * 2);\n        padding: 0;\n        margin: 0;\n        color: var(--drawer-color);\n        visibility: hidden;\n        background-color: var(--drawer-bg);\n        background-clip: padding-box;\n        border: var(--drawer-border-width) solid var(--drawer-border-color);\n        outline: 0;\n\n        @include border-radius(var(--drawer-border-radius));\n        @include box-shadow(var(--drawer-box-shadow));\n\n        // Placement positioning and sizing — always applied regardless of animation mode.\n        &:where(.drawer-start) {\n          inset-block: var(--drawer-inset);\n          inset-inline-start: var(--drawer-inset);\n          width: var(--drawer-width);\n        }\n\n        &:where(.drawer-end) {\n          inset-block: var(--drawer-inset);\n          inset-inline-end: var(--drawer-inset);\n          width: var(--drawer-width);\n        }\n\n        &:where(.drawer-top) {\n          inset: var(--drawer-inset) var(--drawer-inset) auto;\n          height: var(--drawer-height);\n        }\n\n        &:where(.drawer-bottom) {\n          inset: auto var(--drawer-inset) var(--drawer-inset);\n          height: var(--drawer-height);\n        }\n\n        &:where(.drawer-fullscreen) {\n          inset: var(--drawer-inset);\n          width: auto;\n          max-width: none;\n          height: auto;\n          max-height: none;\n        }\n\n        // Animated variant (default) — transitions + off-screen transforms.\n        // Adding .drawer-instant skips all animations.\n        &:not(.drawer-instant) {\n          @include transition(transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration));\n\n          // Off-screen transforms per placement\n          &:where(.drawer-start) {\n            transform: translateX(calc(-100% - var(--drawer-inset)));\n\n            :root:dir(rtl) & {\n              transform: translateX(calc(100% + var(--drawer-inset)));\n            }\n          }\n\n          &:where(.drawer-end) {\n            transform: translateX(calc(100% + var(--drawer-inset)));\n\n            :root:dir(rtl) & {\n              transform: translateX(calc(-100% - var(--drawer-inset)));\n            }\n          }\n\n          &:where(.drawer-top) {\n            transform: translateY(calc(-100% - var(--drawer-inset)));\n          }\n\n          &:where(.drawer-bottom) {\n            transform: translateY(calc(100% + var(--drawer-inset)));\n          }\n\n          &:where(.drawer-fullscreen) {\n            transform: translateY(calc(100% + var(--drawer-inset)));\n          }\n\n          // Open state: slide in with transition\n          &[open] {\n            visibility: visible;\n            @include transition(transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s);\n            transform: none;\n          }\n        }\n\n        // Open state base (always applies, regardless of animation mode)\n        &[open] {\n          visibility: visible;\n          transform: none;\n        }\n      }\n\n      // Above breakpoint - show content inline (for responsive drawer)\n      // Above breakpoint - show content inline (for responsive drawer).\n      // Must fully reset all drawer styles so the element behaves as an\n      // inline flex container within its parent (e.g., a navbar).\n      @if not ($prefix == \"\") {\n        @include media-breakpoint-up($next) {\n          // stylelint-disable declaration-no-important\n          --drawer-height: auto;\n          --drawer-border-width: 0;\n          // Reset native <dialog> UA styles\n          position: static !important;\n          inset: auto;\n          z-index: auto;\n          display: flex !important;\n          flex-grow: 1;\n          width: auto !important;\n          max-width: none;\n          height: auto !important;\n          max-height: none;\n          padding: 0;\n          margin: 0;\n          visibility: visible !important;\n          background-color: transparent !important;\n          border: 0 !important;\n          transform: none !important;\n          @include transition(none !important);\n          // stylelint-enable declaration-no-important\n\n          .drawer-header {\n            display: none;\n          }\n\n          .drawer-body {\n            display: flex;\n            flex-grow: 0;\n            flex-direction: row;\n            width: 100%;\n            padding: 0;\n            overflow-y: visible;\n            // stylelint-disable-next-line declaration-no-important\n            background-color: transparent !important;\n          }\n          @include border-radius(0);\n          @include box-shadow(none);\n        }\n      }\n    }\n  }\n\n  // Native ::backdrop for modal drawer.\n  // ::backdrop lives in the top layer outside the DOM tree, so it does NOT\n  // inherit custom properties from the element. Tokens must be applied directly.\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}drawer::backdrop {\n      @include tokens($drawer-backdrop-tokens);\n      @include tokens($drawer-tokens);\n      background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n      backdrop-filter: blur(var(--drawer-backdrop-blur));\n      @include backdrop-transitions(var(--drawer-transition-duration), var(--drawer-transition-timing));\n    }\n  }\n\n  // Backdrop entry animation — ::backdrop can safely use @starting-style\n  // since it only exists when the dialog is in the top layer (no responsive issue).\n  @starting-style {\n    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n      .#{$prefix}drawer::backdrop {\n        background-color: transparent;\n        backdrop-filter: blur(0);\n      }\n    }\n  }\n\n  // Static backdrop transition (\"bounce\")\n  .drawer-static {\n    transform: scale(1.02);\n  }\n\n  .drawer-translucent {\n    background-color: color-mix(in oklch, var(--drawer-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  // Sheet variant: flush-to-edge panel with no inset, border-radius, or shadow.\n  // Overrides tokens so placement transforms (which use calc() with --drawer-inset)\n  // automatically position the drawer at the viewport edge.\n  .drawer-sheet {\n    --drawer-inset: 0;\n    --drawer-border-radius: 0;\n    --drawer-border-width: 0;\n    --drawer-box-shadow: none;\n  }\n\n  // Header with close button\n  .drawer-header {\n    @include dialog-header(var(--drawer-padding-y) var(--drawer-padding-x));\n\n    .btn-close {\n      padding: calc(var(--drawer-padding-y) * .5) calc(var(--drawer-padding-x) * .5);\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--drawer-padding-x));\n      margin-top: calc(-.5 * var(--drawer-padding-y));\n      margin-bottom: calc(-.5 * var(--drawer-padding-y));\n    }\n  }\n\n  // Title\n  .drawer-title {\n    @include dialog-title(var(--drawer-title-line-height));\n  }\n\n  // Scrollable body\n  .drawer-body {\n    display: flex;\n    flex-direction: column;\n    gap: var(--drawer-padding-y);\n    @include dialog-body(var(--drawer-padding-y) var(--drawer-padding-x));\n    overflow-y: auto;\n  }\n\n  // Optional footer\n  .drawer-footer {\n    @include dialog-footer(var(--drawer-padding-y) var(--drawer-padding-x), .5rem, var(--drawer-border-width), var(--drawer-border-color));\n  }\n\n  .drawer-fit-content {\n    inset-block-end: auto;\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n  (\n    --pagination-min-height: var(--btn-input-min-height),\n    --pagination-padding-x: var(--btn-input-padding-x),\n    --pagination-padding-y: var(--btn-input-padding-y),\n    --pagination-font-size: var(--btn-input-font-size),\n    --pagination-color: var(--link-color),\n    --pagination-bg: var(--bg-body),\n    --pagination-border-width: var(--border-width),\n    --pagination-border-color: var(--border-color),\n    --pagination-border-radius: var(--btn-input-border-radius),\n    --pagination-hover-color: var(--link-hover-color),\n    --pagination-hover-bg: var(--bg-1),\n    --pagination-hover-border-color: var(--border-color),\n    --pagination-focus-color: var(--link-hover-color),\n    --pagination-focus-bg: var(--bg-2),\n    --pagination-active-color: var(--primary-contrast),\n    --pagination-active-bg: var(--primary-bg),\n    --pagination-active-border-color: var(--primary-bg),\n    --pagination-disabled-color: var(--fg-3),\n    --pagination-disabled-bg: var(--bg-2),\n    --pagination-disabled-border-color: var(--border-color),\n  ),\n  $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .pagination {\n    @include tokens($pagination-tokens);\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: calc(-1 * var(--pagination-border-width));\n    }\n\n    &:first-child {\n      .page-link {\n        @include border-start-radius(var(--pagination-border-radius));\n      }\n    }\n\n    &:last-child {\n      .page-link {\n        @include border-end-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n  //\n  // Sizing\n  //\n\n  // scss-docs-start pagination-sizes-loop\n  @each $size, $_ in $pagination-sizes {\n    .pagination-#{$size} {\n      --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n      --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n      --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n      --pagination-font-size: var(--btn-input-#{$size}-font-size);\n      --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n  (\n    --placeholder-opacity-max: .5,\n    --placeholder-opacity-min: .2,\n  ),\n  $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n  .placeholder {\n    @include tokens($placeholder-tokens);\n\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n  (\n    --popover-zindex: #{$zindex-popover},\n    --popover-max-width: 280px,\n    --popover-font-size: var(--font-size-sm),\n    --popover-bg: var(--bg-body),\n    --popover-border-width: var(--border-width),\n    --popover-border-color: var(--border-color-translucent),\n    --popover-border-radius: var(--border-radius-lg),\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --popover-box-shadow: var(--box-shadow),\n    --popover-header-padding-x: #{$spacer},\n    --popover-header-padding-y: #{$spacer * .75},\n    --popover-header-font-size: var(--font-size-sm),\n    --popover-header-color: #{$headings-color},\n    --popover-header-bg: var(--bg-1),\n    --popover-body-padding-x: #{$spacer},\n    --popover-body-padding-y: #{$spacer * .75},\n    --popover-body-color: var(--fg-body),\n    --popover-arrow-width: 1rem,\n    --popover-arrow-height: .5rem,\n    --popover-arrow-border: var(--popover-border-color),\n  ),\n  $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    @include tokens($popover-tokens);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n  (\n    --progress-height: 1rem,\n    --progress-font-size: var(--font-size-sm),\n    --progress-bg: var(--bg-2),\n    --progress-border-radius: var(--border-radius),\n    --progress-box-shadow: var(--box-shadow-inset),\n    --progress-bar-color: var(--white),\n    --progress-bar-bg: var(--primary-bg),\n    --progress-bar-transition: width .6s ease,\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n  ),\n  $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    @include tokens($progress-tokens);\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: var(--progress-bar-animation);\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-border-width: .25em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-border,\n  ),\n  $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-grow,\n  ),\n  $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n  // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    @include tokens($spinner-border-tokens);\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    @include tokens($spinner-grow-tokens);\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    // scss-docs-start spinner-grow-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    // scss-docs-end spinner-grow-sm-css-vars\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: 1.5s;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n  (\n    --stepper-size: 2rem,\n    --stepper-gap: 1rem,\n    --stepper-font-size: var(--font-size-sm),\n    --stepper-text-gap: .5rem,\n    --stepper-track-size: .125rem,\n    --stepper-bg: var(--bg-2),\n    --stepper-active-color: var(--primary-contrast),\n    --stepper-active-bg: var(--primary-bg),\n  ),\n  $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n\n  .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n\n    &::after {\n      inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n\n    &:last-child::after {\n      right: 100%;\n    }\n  }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n  .stepper {\n    @include tokens($stepper-tokens);\n\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n\n    // The counter\n    &::before {\n      position: relative;\n      z-index: 1;\n      display: flex;\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      width: var(--stepper-size);\n      height: var(--stepper-size);\n      padding: .5rem;\n      font-size: var(--stepper-font-size);\n      font-weight: 600;\n      line-height: 1;\n      text-align: center;\n      content: counter(stepper);\n      counter-increment: stepper;\n      background-color: var(--stepper-bg);\n      @include border-radius(50%);\n    }\n\n    // Connecting lines\n    &::after {\n      position: absolute;\n      inset-block-start: 50%;\n      inset-block-end: 100%;\n      inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      width: var(--stepper-track-size);\n      height: calc(100% + var(--stepper-gap));\n      content: \"\";\n      background-color: var(--stepper-bg);\n    }\n\n    // Avoid sibling selector for easier CSS overrides\n    &:last-child::after {\n      display: none;\n    }\n\n    &.active {\n      &::before,\n      &::after {\n        color: var(--theme-contrast, var(--stepper-active-color));\n        background-color: var(--theme-bg, var(--stepper-active-bg));\n      }\n    }\n  }\n\n  // Targets the last .active element from a sequence of active elements\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n\n  .stepper-horizontal {\n    @include stepper-horizontal();\n  }\n\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}stepper-horizontal {\n        @include container-breakpoint-up($next) {\n          @include stepper-horizontal();\n        }\n      }\n    }\n  }\n\n  // scss-docs-start stepper-overflow\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n\n    > .stepper {\n      width: max-content;\n      min-width: 100%;\n    }\n  }\n  // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n  (\n    --toast-zindex: #{$zindex-toast},\n    --toast-padding-x: 1rem,\n    --toast-padding-y: .75rem,\n    --toast-spacing: #{$container-padding-x},\n    --toast-max-width: 350px,\n    --toast-font-size: var(--font-size-sm),\n    --toast-color: null,\n    --toast-bg: var(--bg-body),\n    --toast-border-width: var(--border-width),\n    --toast-border-color: var(--border-color-translucent),\n    --toast-border-radius: null,\n    --toast-box-shadow: var(--box-shadow),\n    --toast-header-color: var(--fg-3),\n    --toast-header-bg: var(--bg-1),\n    --toast-header-border-color: var(--border-color-translucent),\n  ),\n  $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n  .toast {\n    @include tokens($toast-tokens);\n\n    display: flex;\n    flex-direction: column;\n    width: var(--toast-max-width);\n    max-width: 100%;\n    overflow: hidden;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color, var(--fg-body));\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius, var(--border-radius-lg)));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--theme-text-emphasis, var(--toast-header-color));\n    background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n    // background-clip: padding-box;\n    border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n\n    .btn-close {\n      margin-inline-start: calc(.5 * var(--toast-padding-x));\n      margin-inline-end: calc(-.25 * var(--toast-padding-x));\n      color: inherit;\n    }\n  }\n\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 2d3a957a421750e55b3e37d3dcb843f9e79262c5..54c2b6b2edc67bff6c640c233761cd801863a1f2 100644 (file)
@@ -1,2 +1,2 @@
-:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button:not(:disabled){cursor:pointer}[type=button]:not(:disabled){cursor:pointer}[type=reset]:not(:disabled){cursor:pointer}[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale()}[type=tel]{direction:ltr}[type=url]{direction:ltr}[type=email]{direction:ltr}[type=number]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout{.container,.container-fluid,.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline:auto}@media (min-width:576px){.sm\:container,.container{max-width:540px}}@media (min-width:768px){.md\:container,.sm\:container,.container{max-width:720px}}@media (min-width:1024px){.lg\:container,.md\:container,.sm\:container,.container{max-width:960px}}@media (min-width:1280px){.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1200px}}@media (min-width:1536px){.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.sm\:col{flex:1 0 0}.sm\:row-cols-auto>*{flex:none;width:auto}.sm\:row-cols-1>*{flex:none;width:100%}.sm\:row-cols-2>*{flex:none;width:50%}.sm\:row-cols-3>*{flex:none;width:33.3333%}.sm\:row-cols-4>*{flex:none;width:25%}.sm\:row-cols-5>*{flex:none;width:20%}.sm\:row-cols-6>*{flex:none;width:16.6667%}.sm\:col-auto{flex:none;width:auto}.sm\:col-1{flex:none;width:8.33333%}.sm\:col-2{flex:none;width:16.6667%}.sm\:col-3{flex:none;width:25%}.sm\:col-4{flex:none;width:33.3333%}.sm\:col-5{flex:none;width:41.6667%}.sm\:col-6{flex:none;width:50%}.sm\:col-7{flex:none;width:58.3333%}.sm\:col-8{flex:none;width:66.6667%}.sm\:col-9{flex:none;width:75%}.sm\:col-10{flex:none;width:83.3333%}.sm\:col-11{flex:none;width:91.6667%}.sm\:col-12{flex:none;width:100%}.sm\:offset-0{margin-inline-start:0}.sm\:offset-1{margin-inline-start:8.33333%}.sm\:offset-2{margin-inline-start:16.6667%}.sm\:offset-3{margin-inline-start:25%}.sm\:offset-4{margin-inline-start:33.3333%}.sm\:offset-5{margin-inline-start:41.6667%}.sm\:offset-6{margin-inline-start:50%}.sm\:offset-7{margin-inline-start:58.3333%}.sm\:offset-8{margin-inline-start:66.6667%}.sm\:offset-9{margin-inline-start:75%}.sm\:offset-10{margin-inline-start:83.3333%}.sm\:offset-11{margin-inline-start:91.6667%}.sm\:g-0,.sm\:gx-0{--bs-gutter-x:0}.sm\:g-0,.sm\:gy-0{--bs-gutter-y:0}.sm\:g-1,.sm\:gx-1{--bs-gutter-x:.25rem}.sm\:g-1,.sm\:gy-1{--bs-gutter-y:.25rem}.sm\:g-2,.sm\:gx-2{--bs-gutter-x:.5rem}.sm\:g-2,.sm\:gy-2{--bs-gutter-y:.5rem}.sm\:g-3,.sm\:gx-3{--bs-gutter-x:1rem}.sm\:g-3,.sm\:gy-3{--bs-gutter-y:1rem}.sm\:g-4,.sm\:gx-4{--bs-gutter-x:1.5rem}.sm\:g-4,.sm\:gy-4{--bs-gutter-y:1.5rem}.sm\:g-5,.sm\:gx-5{--bs-gutter-x:3rem}.sm\:g-5,.sm\:gy-5{--bs-gutter-y:3rem}}@media (min-width:768px){.md\:col{flex:1 0 0}.md\:row-cols-auto>*{flex:none;width:auto}.md\:row-cols-1>*{flex:none;width:100%}.md\:row-cols-2>*{flex:none;width:50%}.md\:row-cols-3>*{flex:none;width:33.3333%}.md\:row-cols-4>*{flex:none;width:25%}.md\:row-cols-5>*{flex:none;width:20%}.md\:row-cols-6>*{flex:none;width:16.6667%}.md\:col-auto{flex:none;width:auto}.md\:col-1{flex:none;width:8.33333%}.md\:col-2{flex:none;width:16.6667%}.md\:col-3{flex:none;width:25%}.md\:col-4{flex:none;width:33.3333%}.md\:col-5{flex:none;width:41.6667%}.md\:col-6{flex:none;width:50%}.md\:col-7{flex:none;width:58.3333%}.md\:col-8{flex:none;width:66.6667%}.md\:col-9{flex:none;width:75%}.md\:col-10{flex:none;width:83.3333%}.md\:col-11{flex:none;width:91.6667%}.md\:col-12{flex:none;width:100%}.md\:offset-0{margin-inline-start:0}.md\:offset-1{margin-inline-start:8.33333%}.md\:offset-2{margin-inline-start:16.6667%}.md\:offset-3{margin-inline-start:25%}.md\:offset-4{margin-inline-start:33.3333%}.md\:offset-5{margin-inline-start:41.6667%}.md\:offset-6{margin-inline-start:50%}.md\:offset-7{margin-inline-start:58.3333%}.md\:offset-8{margin-inline-start:66.6667%}.md\:offset-9{margin-inline-start:75%}.md\:offset-10{margin-inline-start:83.3333%}.md\:offset-11{margin-inline-start:91.6667%}.md\:g-0,.md\:gx-0{--bs-gutter-x:0}.md\:g-0,.md\:gy-0{--bs-gutter-y:0}.md\:g-1,.md\:gx-1{--bs-gutter-x:.25rem}.md\:g-1,.md\:gy-1{--bs-gutter-y:.25rem}.md\:g-2,.md\:gx-2{--bs-gutter-x:.5rem}.md\:g-2,.md\:gy-2{--bs-gutter-y:.5rem}.md\:g-3,.md\:gx-3{--bs-gutter-x:1rem}.md\:g-3,.md\:gy-3{--bs-gutter-y:1rem}.md\:g-4,.md\:gx-4{--bs-gutter-x:1.5rem}.md\:g-4,.md\:gy-4{--bs-gutter-y:1.5rem}.md\:g-5,.md\:gx-5{--bs-gutter-x:3rem}.md\:g-5,.md\:gy-5{--bs-gutter-y:3rem}}@media (min-width:1024px){.lg\:col{flex:1 0 0}.lg\:row-cols-auto>*{flex:none;width:auto}.lg\:row-cols-1>*{flex:none;width:100%}.lg\:row-cols-2>*{flex:none;width:50%}.lg\:row-cols-3>*{flex:none;width:33.3333%}.lg\:row-cols-4>*{flex:none;width:25%}.lg\:row-cols-5>*{flex:none;width:20%}.lg\:row-cols-6>*{flex:none;width:16.6667%}.lg\:col-auto{flex:none;width:auto}.lg\:col-1{flex:none;width:8.33333%}.lg\:col-2{flex:none;width:16.6667%}.lg\:col-3{flex:none;width:25%}.lg\:col-4{flex:none;width:33.3333%}.lg\:col-5{flex:none;width:41.6667%}.lg\:col-6{flex:none;width:50%}.lg\:col-7{flex:none;width:58.3333%}.lg\:col-8{flex:none;width:66.6667%}.lg\:col-9{flex:none;width:75%}.lg\:col-10{flex:none;width:83.3333%}.lg\:col-11{flex:none;width:91.6667%}.lg\:col-12{flex:none;width:100%}.lg\:offset-0{margin-inline-start:0}.lg\:offset-1{margin-inline-start:8.33333%}.lg\:offset-2{margin-inline-start:16.6667%}.lg\:offset-3{margin-inline-start:25%}.lg\:offset-4{margin-inline-start:33.3333%}.lg\:offset-5{margin-inline-start:41.6667%}.lg\:offset-6{margin-inline-start:50%}.lg\:offset-7{margin-inline-start:58.3333%}.lg\:offset-8{margin-inline-start:66.6667%}.lg\:offset-9{margin-inline-start:75%}.lg\:offset-10{margin-inline-start:83.3333%}.lg\:offset-11{margin-inline-start:91.6667%}.lg\:g-0,.lg\:gx-0{--bs-gutter-x:0}.lg\:g-0,.lg\:gy-0{--bs-gutter-y:0}.lg\:g-1,.lg\:gx-1{--bs-gutter-x:.25rem}.lg\:g-1,.lg\:gy-1{--bs-gutter-y:.25rem}.lg\:g-2,.lg\:gx-2{--bs-gutter-x:.5rem}.lg\:g-2,.lg\:gy-2{--bs-gutter-y:.5rem}.lg\:g-3,.lg\:gx-3{--bs-gutter-x:1rem}.lg\:g-3,.lg\:gy-3{--bs-gutter-y:1rem}.lg\:g-4,.lg\:gx-4{--bs-gutter-x:1.5rem}.lg\:g-4,.lg\:gy-4{--bs-gutter-y:1.5rem}.lg\:g-5,.lg\:gx-5{--bs-gutter-x:3rem}.lg\:g-5,.lg\:gy-5{--bs-gutter-y:3rem}}@media (min-width:1280px){.xl\:col{flex:1 0 0}.xl\:row-cols-auto>*{flex:none;width:auto}.xl\:row-cols-1>*{flex:none;width:100%}.xl\:row-cols-2>*{flex:none;width:50%}.xl\:row-cols-3>*{flex:none;width:33.3333%}.xl\:row-cols-4>*{flex:none;width:25%}.xl\:row-cols-5>*{flex:none;width:20%}.xl\:row-cols-6>*{flex:none;width:16.6667%}.xl\:col-auto{flex:none;width:auto}.xl\:col-1{flex:none;width:8.33333%}.xl\:col-2{flex:none;width:16.6667%}.xl\:col-3{flex:none;width:25%}.xl\:col-4{flex:none;width:33.3333%}.xl\:col-5{flex:none;width:41.6667%}.xl\:col-6{flex:none;width:50%}.xl\:col-7{flex:none;width:58.3333%}.xl\:col-8{flex:none;width:66.6667%}.xl\:col-9{flex:none;width:75%}.xl\:col-10{flex:none;width:83.3333%}.xl\:col-11{flex:none;width:91.6667%}.xl\:col-12{flex:none;width:100%}.xl\:offset-0{margin-inline-start:0}.xl\:offset-1{margin-inline-start:8.33333%}.xl\:offset-2{margin-inline-start:16.6667%}.xl\:offset-3{margin-inline-start:25%}.xl\:offset-4{margin-inline-start:33.3333%}.xl\:offset-5{margin-inline-start:41.6667%}.xl\:offset-6{margin-inline-start:50%}.xl\:offset-7{margin-inline-start:58.3333%}.xl\:offset-8{margin-inline-start:66.6667%}.xl\:offset-9{margin-inline-start:75%}.xl\:offset-10{margin-inline-start:83.3333%}.xl\:offset-11{margin-inline-start:91.6667%}.xl\:g-0,.xl\:gx-0{--bs-gutter-x:0}.xl\:g-0,.xl\:gy-0{--bs-gutter-y:0}.xl\:g-1,.xl\:gx-1{--bs-gutter-x:.25rem}.xl\:g-1,.xl\:gy-1{--bs-gutter-y:.25rem}.xl\:g-2,.xl\:gx-2{--bs-gutter-x:.5rem}.xl\:g-2,.xl\:gy-2{--bs-gutter-y:.5rem}.xl\:g-3,.xl\:gx-3{--bs-gutter-x:1rem}.xl\:g-3,.xl\:gy-3{--bs-gutter-y:1rem}.xl\:g-4,.xl\:gx-4{--bs-gutter-x:1.5rem}.xl\:g-4,.xl\:gy-4{--bs-gutter-y:1.5rem}.xl\:g-5,.xl\:gx-5{--bs-gutter-x:3rem}.xl\:g-5,.xl\:gy-5{--bs-gutter-y:3rem}}@media (min-width:1536px){.\32 xl\:col{flex:1 0 0}.\32 xl\:row-cols-auto>*{flex:none;width:auto}.\32 xl\:row-cols-1>*{flex:none;width:100%}.\32 xl\:row-cols-2>*{flex:none;width:50%}.\32 xl\:row-cols-3>*{flex:none;width:33.3333%}.\32 xl\:row-cols-4>*{flex:none;width:25%}.\32 xl\:row-cols-5>*{flex:none;width:20%}.\32 xl\:row-cols-6>*{flex:none;width:16.6667%}.\32 xl\:col-auto{flex:none;width:auto}.\32 xl\:col-1{flex:none;width:8.33333%}.\32 xl\:col-2{flex:none;width:16.6667%}.\32 xl\:col-3{flex:none;width:25%}.\32 xl\:col-4{flex:none;width:33.3333%}.\32 xl\:col-5{flex:none;width:41.6667%}.\32 xl\:col-6{flex:none;width:50%}.\32 xl\:col-7{flex:none;width:58.3333%}.\32 xl\:col-8{flex:none;width:66.6667%}.\32 xl\:col-9{flex:none;width:75%}.\32 xl\:col-10{flex:none;width:83.3333%}.\32 xl\:col-11{flex:none;width:91.6667%}.\32 xl\:col-12{flex:none;width:100%}.\32 xl\:offset-0{margin-inline-start:0}.\32 xl\:offset-1{margin-inline-start:8.33333%}.\32 xl\:offset-2{margin-inline-start:16.6667%}.\32 xl\:offset-3{margin-inline-start:25%}.\32 xl\:offset-4{margin-inline-start:33.3333%}.\32 xl\:offset-5{margin-inline-start:41.6667%}.\32 xl\:offset-6{margin-inline-start:50%}.\32 xl\:offset-7{margin-inline-start:58.3333%}.\32 xl\:offset-8{margin-inline-start:66.6667%}.\32 xl\:offset-9{margin-inline-start:75%}.\32 xl\:offset-10{margin-inline-start:83.3333%}.\32 xl\:offset-11{margin-inline-start:91.6667%}.\32 xl\:g-0,.\32 xl\:gx-0{--bs-gutter-x:0}.\32 xl\:g-0,.\32 xl\:gy-0{--bs-gutter-y:0}.\32 xl\:g-1,.\32 xl\:gx-1{--bs-gutter-x:.25rem}.\32 xl\:g-1,.\32 xl\:gy-1{--bs-gutter-y:.25rem}.\32 xl\:g-2,.\32 xl\:gx-2{--bs-gutter-x:.5rem}.\32 xl\:g-2,.\32 xl\:gy-2{--bs-gutter-y:.5rem}.\32 xl\:g-3,.\32 xl\:gx-3{--bs-gutter-x:1rem}.\32 xl\:g-3,.\32 xl\:gy-3{--bs-gutter-y:1rem}.\32 xl\:g-4,.\32 xl\:gx-4{--bs-gutter-x:1.5rem}.\32 xl\:g-4,.\32 xl\:gy-4{--bs-gutter-y:1.5rem}.\32 xl\:g-5,.\32 xl\:gx-5{--bs-gutter-x:3rem}.\32 xl\:g-5,.\32 xl\:gy-5{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (min-width:576px){.sm\:g-col-1{grid-column:auto/span 1}.sm\:g-col-2{grid-column:auto/span 2}.sm\:g-col-3{grid-column:auto/span 3}.sm\:g-col-4{grid-column:auto/span 4}.sm\:g-col-5{grid-column:auto/span 5}.sm\:g-col-6{grid-column:auto/span 6}.sm\:g-col-7{grid-column:auto/span 7}.sm\:g-col-8{grid-column:auto/span 8}.sm\:g-col-9{grid-column:auto/span 9}.sm\:g-col-10{grid-column:auto/span 10}.sm\:g-col-11{grid-column:auto/span 11}.sm\:g-col-12{grid-column:auto/span 12}.sm\:g-start-1{grid-column-start:1}.sm\:g-start-2{grid-column-start:2}.sm\:g-start-3{grid-column-start:3}.sm\:g-start-4{grid-column-start:4}.sm\:g-start-5{grid-column-start:5}.sm\:g-start-6{grid-column-start:6}.sm\:g-start-7{grid-column-start:7}.sm\:g-start-8{grid-column-start:8}.sm\:g-start-9{grid-column-start:9}.sm\:g-start-10{grid-column-start:10}.sm\:g-start-11{grid-column-start:11}}@media (min-width:768px){.md\:g-col-1{grid-column:auto/span 1}.md\:g-col-2{grid-column:auto/span 2}.md\:g-col-3{grid-column:auto/span 3}.md\:g-col-4{grid-column:auto/span 4}.md\:g-col-5{grid-column:auto/span 5}.md\:g-col-6{grid-column:auto/span 6}.md\:g-col-7{grid-column:auto/span 7}.md\:g-col-8{grid-column:auto/span 8}.md\:g-col-9{grid-column:auto/span 9}.md\:g-col-10{grid-column:auto/span 10}.md\:g-col-11{grid-column:auto/span 11}.md\:g-col-12{grid-column:auto/span 12}.md\:g-start-1{grid-column-start:1}.md\:g-start-2{grid-column-start:2}.md\:g-start-3{grid-column-start:3}.md\:g-start-4{grid-column-start:4}.md\:g-start-5{grid-column-start:5}.md\:g-start-6{grid-column-start:6}.md\:g-start-7{grid-column-start:7}.md\:g-start-8{grid-column-start:8}.md\:g-start-9{grid-column-start:9}.md\:g-start-10{grid-column-start:10}.md\:g-start-11{grid-column-start:11}}@media (min-width:1024px){.lg\:g-col-1{grid-column:auto/span 1}.lg\:g-col-2{grid-column:auto/span 2}.lg\:g-col-3{grid-column:auto/span 3}.lg\:g-col-4{grid-column:auto/span 4}.lg\:g-col-5{grid-column:auto/span 5}.lg\:g-col-6{grid-column:auto/span 6}.lg\:g-col-7{grid-column:auto/span 7}.lg\:g-col-8{grid-column:auto/span 8}.lg\:g-col-9{grid-column:auto/span 9}.lg\:g-col-10{grid-column:auto/span 10}.lg\:g-col-11{grid-column:auto/span 11}.lg\:g-col-12{grid-column:auto/span 12}.lg\:g-start-1{grid-column-start:1}.lg\:g-start-2{grid-column-start:2}.lg\:g-start-3{grid-column-start:3}.lg\:g-start-4{grid-column-start:4}.lg\:g-start-5{grid-column-start:5}.lg\:g-start-6{grid-column-start:6}.lg\:g-start-7{grid-column-start:7}.lg\:g-start-8{grid-column-start:8}.lg\:g-start-9{grid-column-start:9}.lg\:g-start-10{grid-column-start:10}.lg\:g-start-11{grid-column-start:11}}@media (min-width:1280px){.xl\:g-col-1{grid-column:auto/span 1}.xl\:g-col-2{grid-column:auto/span 2}.xl\:g-col-3{grid-column:auto/span 3}.xl\:g-col-4{grid-column:auto/span 4}.xl\:g-col-5{grid-column:auto/span 5}.xl\:g-col-6{grid-column:auto/span 6}.xl\:g-col-7{grid-column:auto/span 7}.xl\:g-col-8{grid-column:auto/span 8}.xl\:g-col-9{grid-column:auto/span 9}.xl\:g-col-10{grid-column:auto/span 10}.xl\:g-col-11{grid-column:auto/span 11}.xl\:g-col-12{grid-column:auto/span 12}.xl\:g-start-1{grid-column-start:1}.xl\:g-start-2{grid-column-start:2}.xl\:g-start-3{grid-column-start:3}.xl\:g-start-4{grid-column-start:4}.xl\:g-start-5{grid-column-start:5}.xl\:g-start-6{grid-column-start:6}.xl\:g-start-7{grid-column-start:7}.xl\:g-start-8{grid-column-start:8}.xl\:g-start-9{grid-column-start:9}.xl\:g-start-10{grid-column-start:10}.xl\:g-start-11{grid-column-start:11}}@media (min-width:1536px){.\32 xl\:g-col-1{grid-column:auto/span 1}.\32 xl\:g-col-2{grid-column:auto/span 2}.\32 xl\:g-col-3{grid-column:auto/span 3}.\32 xl\:g-col-4{grid-column:auto/span 4}.\32 xl\:g-col-5{grid-column:auto/span 5}.\32 xl\:g-col-6{grid-column:auto/span 6}.\32 xl\:g-col-7{grid-column:auto/span 7}.\32 xl\:g-col-8{grid-column:auto/span 8}.\32 xl\:g-col-9{grid-column:auto/span 9}.\32 xl\:g-col-10{grid-column:auto/span 10}.\32 xl\:g-col-11{grid-column:auto/span 11}.\32 xl\:g-col-12{grid-column:auto/span 12}.\32 xl\:g-start-1{grid-column-start:1}.\32 xl\:g-start-2{grid-column-start:2}.\32 xl\:g-start-3{grid-column-start:3}.\32 xl\:g-start-4{grid-column-start:4}.\32 xl\:g-start-5{grid-column-start:5}.\32 xl\:g-start-6{grid-column-start:6}.\32 xl\:g-start-7{grid-column-start:7}.\32 xl\:g-start-8{grid-column-start:8}.\32 xl\:g-start-9{grid-column-start:9}.\32 xl\:g-start-10{grid-column-start:10}.\32 xl\:g-start-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer content{.list-unstyled,.list-inline{padding-inline-start:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-inline-end:var(--bs-list-inline-padding,var(--bs-spacer)/2)}.initialism{font-size:var(--bs-initialism-font-size,var(--bs-font-size-xs));text-transform:uppercase}.blockquote{--bs-blockquote-gap:calc(var(--bs-spacer) / 2);--bs-blockquote-padding-x:var(--bs-spacer);--bs-blockquote-margin-y:1rem;--bs-blockquote-font-size:var(--bs-font-size-md);--bs-blockquote-border-width:.25rem;--bs-blockquote-border-color:var(--bs-border-color);--bs-blockquote-footer-font-size:var(--bs-font-size-sm);--bs-blockquote-footer-color:var(--bs-fg-3);gap:var(--bs-blockquote-gap);margin-bottom:var(--bs-blockquote-margin-y);font-size:var(--bs-blockquote-font-size);border-inline-start:var(--bs-blockquote-border-width) solid var(--bs-blockquote-border-color);flex-direction:column;padding-inline-start:var(--bs-blockquote-padding-x);display:flex}.blockquote>*,figure.blockquote blockquote{margin-bottom:0}.blockquote-footer{font-size:var(--bs-blockquote-footer-font-size);color:var(--bs-blockquote-footer-color)}.blockquote-footer:before{content:"— "}.table{--bs-table-cell-padding-y:.5rem;--bs-table-cell-padding-x:.5rem;--bs-table-cell-vertical-align:top;--bs-table-color:var(--bs-fg-body);--bs-table-bg:var(--bs-bg-body);--bs-table-accent-bg:transparent;--bs-table-border-width:var(--bs-border-width);--bs-table-border-color:var(--bs-border-color);--bs-table-group-separator-color:currentcolor;--bs-table-striped-color:var(--bs-table-color);--bs-table-striped-bg-factor:.05;--bs-table-striped-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-striped-bg-factor), transparent);--bs-table-active-color:var(--bs-table-color);--bs-table-active-bg-factor:.1;--bs-table-active-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-active-bg-factor), transparent);--bs-table-hover-color:var(--bs-table-color);--bs-table-hover-bg-factor:.075;--bs-table-hover-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-hover-bg-factor), transparent);--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;width:100%;vertical-align:var(--bs-table-cell-vertical-align);border-color:var(--bs-theme-border,var(--bs-table-border-color));margin-bottom:1rem}.table>:not(caption)>*>*{padding:var(--bs-table-cell-padding-y) var(--bs-table-cell-padding-x);color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-theme-text,var(--bs-table-color))));background-color:var(--bs-theme-bg-subtle,var(--bs-table-bg));border-block-end-width:var(--bs-table-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-theme-bg-subtle,var(--bs-table-accent-bg))))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-block-start:calc(var(--bs-table-border-width) * 2) solid var(--bs-table-group-separator-color)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{--bs-table-cell-padding-y:.25rem;--bs-table-cell-padding-x:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-table-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-table-border-width)}.table-borderless>:not(caption)>*>*{border-block-end-width:0}.table-borderless>:not(:first-child){border-block-start-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*,.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-theme-text,var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-striped-bg-factor), transparent)}.table-active{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-active-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-active-bg-factor), transparent)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-hover-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-hover-bg-factor), transparent)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media not (min-width:576px){.sm\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:768px){.md\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:1024px){.lg\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:1280px){.xl\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media not (min-width:1536px){.\32 xl\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.img-fluid{max-width:100%;height:auto}.img-thumbnail{--bs-thumbnail-padding:.25rem;--bs-thumbnail-bg:var(--bs-bg-body);--bs-thumbnail-border-width:var(--bs-border-width);--bs-thumbnail-border-color:var(--bs-border-color);--bs-thumbnail-border-radius:var(--bs-border-radius);--bs-thumbnail-box-shadow:var(--bs-box-shadow-sm);padding:var(--bs-thumbnail-padding);background-color:var(--bs-thumbnail-bg);border:var(--bs-thumbnail-border-width) solid var(--bs-thumbnail-border-color);border-radius:var(--bs-thumbnail-border-radius);box-shadow:var(--bs-thumbnail-box-shadow);max-width:100%;height:auto}.figure{--bs-figure-gap:calc(var(--bs-spacer) * .5);--bs-figure-caption-font-size:var(--bs-font-size-sm);--bs-figure-caption-color:var(--bs-fg-3);gap:var(--bs-figure-gap);flex-direction:column;display:flex}.figure-caption{font-size:var(--bs-figure-caption-font-size);color:var(--bs-figure-caption-color)}.prose{--bs-content-font-size:1rem;--bs-content-gap:20px;--bs-heading-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));gap:var(--bs-content-gap);max-width:1000px;font-size:var(--bs-content-font-size);flex-direction:column;margin-inline:auto;line-height:1.5;display:flex;position:relative}@media (min-width:1024px){.prose{--bs-content-font-size:var(--bs-font-size-md);--bs-content-gap:24px}}.prose :where(p,ul,ol,dl,pre,table,blockquote):not(:where(.not-prose,.not-prose *)){margin-block:0}.prose :where(ul,ol):not([class]):not(:where(.not-prose,.not-prose *)) li:not(:last-child){margin-bottom:calc(var(--bs-content-gap) / 4)}.prose :where(li ul,li ol):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) / 4)}.prose :where(hr):not(:where(.not-prose,.not-prose *)){margin:calc(var(--bs-content-gap) * 1.5) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)){margin-top:0;margin-bottom:calc(var(--bs-content-gap) / -2);font-weight:500;line-height:1.25}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)) code{color:inherit;font-weight:600}.prose :where(h1,h2):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .75)}.prose :where(h3,h4,h5,h6):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .5)}.prose :where(h1):not(:where(.not-prose,.not-prose *)){font-size:2.25em;line-height:1.1}.prose :where(h2):not(:where(.not-prose,.not-prose *)){font-size:1.75em}.prose :where(h3):not(:where(.not-prose,.not-prose *)){font-size:1.5em}.prose :where(h4):not(:where(.not-prose,.not-prose *)){font-size:1.25em}.prose :where(h5):not(:where(.not-prose,.not-prose *)){font-size:1.125em}.prose :where(h6):not(:where(.not-prose,.not-prose *)){font-size:1em}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-underline-offset:4px;transition:text-decoration-color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){transition:none}}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)):hover{-webkit-text-decoration-color:var(--bs-link-hover-color);text-decoration-color:var(--bs-link-hover-color)}.prose :where(img):not(:where(.not-prose,.not-prose *)){max-width:100%}.prose :where(blockquote):not(:where(.not-prose,.not-prose *)){border-inline-start:4px solid var(--bs-border-color);margin:0;padding-inline-start:calc(var(--bs-content-gap) / 2)}.prose :where(table):not(:where(.not-prose,.not-prose *)){border-spacing:0;border-collapse:collapse;width:100%}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) td{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) th{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(dt):not(:where(.not-prose,.not-prose *)){font-weight:500}.prose :where(video,img):not(:where(.not-prose,.not-prose *)){max-width:100%}}@layer forms{.form-label,.col-form-label{font-size:var(--bs-label-font-size,var(--bs-font-size-sm));font-style:var(--bs-label-font-style,inherit);font-weight:var(--bs-label-font-weight,inherit);color:var(--bs-label-color,var(--bs-fg-body))}.form-label{margin-bottom:var(--bs-label-margin-bottom,calc(var(--bs-spacer) / 2))}.col-form-label{--bs-label-padding-y:calc(var(--bs-btn-input-padding-y) + var(--bs-border-width));padding-block:var(--bs-label-padding-y);margin-bottom:0}.col-form-label-lg{--bs-label-padding-y:calc(var(--bs-btn-input-lg-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-lg-font-size)}.col-form-label-sm{--bs-label-padding-y:calc(var(--bs-btn-input-sm-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-sm-font-size)}.form-text{--bs-form-text-margin-top:.25rem;--bs-form-text-font-size:var(--bs-font-size-sm);--bs-form-text-color:var(--bs-fg-3);margin-top:var(--bs-form-text-margin-top);font-size:var(--bs-form-text-font-size);font-style:var(--bs-form-text-font-style);font-weight:var(--bs-form-text-font-weight);color:var(--bs-form-text-color)}.form-control{--bs-control-min-height:var(--bs-btn-input-min-height);--bs-control-padding-y:var(--bs-btn-input-padding-y);--bs-control-padding-x:var(--bs-btn-input-padding-x);--bs-control-font-size:var(--bs-btn-input-font-size);--bs-control-line-height:var(--bs-btn-input-line-height);--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-control-box-shadow:var(--bs-box-shadow-inset);--bs-control-action-bg:var(--bs-bg-1);--bs-control-action-hover-bg:var(--bs-bg-2);--bs-control-transition-property:border-color, box-shadow;--bs-control-transition-timing:.15s ease-in-out;--bs-control-transition:var(--bs-control-transition-property) var(--bs-control-transition-timing);--bs-control-placeholder-color:var(--bs-fg-3);--bs-control-disabled-color:var(--bs-control-fg);--bs-control-disabled-bg:var(--bs-bg-2);--bs-control-disabled-border-color:var(--bs-control-border-color);--bs-control-select-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-control-select-bg-position:right .75rem center;--bs-control-select-bg-size:16px 12px;--bs-control-select-bg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");width:100%;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-fg);appearance:none;background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-control-box-shadow);transition:var(--bs-control-transition);background-clip:padding-box;display:flex}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus-visible{--bs-focus-ring-offset:-1px;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-control::placeholder{color:var(--bs-control-placeholder-color);opacity:1}.form-control:disabled{color:var(--bs-control-disabled-color);background-color:var(--bs-control-disabled-bg);border-color:var(--bs-control-disabled-border-color);opacity:1}.form-control::-webkit-datetime-edit{height:1.5rem;margin-bottom:-.125rem;padding:0;display:block}.form-control::-webkit-datetime-edit-fields-wrapper{height:1.5rem}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control::file-selector-button{min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);margin:calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);color:var(--bs-control-fg);background-color:var(--bs-control-action-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-control-border-width);transition:var(--bs-control-transition);border-radius:0;margin-inline-end:var(--bs-control-padding-x)}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-control-action-hover-bg)}.form-control-plaintext{width:100%;padding:var(--bs-control-padding-y) 0;line-height:var(--bs-control-line-height);color:var(--bs-control-fg);border:solid transparent;border-width:var(--bs-control-border-width) 0;background-color:transparent;margin-bottom:0;display:block}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-inline:0}select.form-control{background-image:var(--bs-control-select-bg);background-repeat:no-repeat;background-position:var(--bs-control-select-bg-position);background-size:var(--bs-control-select-bg-size);padding-inline-end:calc(var(--bs-control-padding-x) * 3)}select.form-control[multiple],select.form-control[size]:not([size="1"]){background-image:none;padding-inline-end:var(--bs-control-padding-x)}@media (prefers-color-scheme:dark){select.form-control{background-image:var(--bs-control-select-bg-dark)}}.form-control-sm{--bs-control-min-height:var(--bs-btn-input-sm-min-height);--bs-control-padding-y:var(--bs-btn-input-sm-padding-y);--bs-control-padding-x:var(--bs-btn-input-sm-padding-x);--bs-control-font-size:var(--bs-btn-input-sm-font-size);--bs-control-line-height:var(--bs-btn-input-sm-line-height);--bs-control-border-radius:var(--bs-btn-input-sm-border-radius)}.form-control-lg{--bs-control-min-height:var(--bs-btn-input-lg-min-height);--bs-control-padding-y:var(--bs-btn-input-lg-padding-y);--bs-control-padding-x:var(--bs-btn-input-lg-padding-x);--bs-control-font-size:var(--bs-btn-input-lg-font-size);--bs-control-line-height:var(--bs-btn-input-lg-line-height);--bs-control-border-radius:var(--bs-btn-input-lg-border-radius)}.form-control-color{width:var(--bs-control-min-height);padding:var(--bs-control-padding-y)}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-control-color::-webkit-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-ghost{width:100%;font:inherit;color:inherit;appearance:none;background:0 0;border:0;padding:0;display:block}.form-ghost:focus{outline:0}.form-ghost::placeholder{color:var(--bs-fg-3);opacity:1}.form-ghost:disabled{color:var(--bs-fg-4);cursor:not-allowed}.checkgroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.checkgroup .description{color:var(--bs-fg-3)}.check{--bs-check-size:1.25rem;--bs-check-margin-block:.125rem;--bs-check-bg:transparent;--bs-check-border-color:var(--bs-border-color);--bs-check-border-radius:.375rem;--bs-check-checked-bg:var(--bs-control-checked-bg);--bs-check-checked-border-color:var(--bs-control-checked-border-color);--bs-check-indeterminate-bg:var(--bs-control-checked-bg);--bs-check-indeterminate-border-color:var(--bs-control-checked-border-color);--bs-check-active-bg:var(--bs-control-active-bg);--bs-check-active-border-color:var(--bs-control-active-border-color);--bs-check-disabled-bg:var(--bs-control-disabled-bg);--bs-check-disabled-opacity:var(--bs-control-disabled-opacity);margin-block:var(--bs-check-margin-block);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.check :where(svg,input){width:var(--bs-check-size);height:var(--bs-check-size);flex-shrink:0;grid-row-start:1;grid-column-start:1}.check :where(input){appearance:none;background-color:var(--bs-theme-bg,var(--bs-check-bg));border:1px solid var(--bs-theme-bg,var(--bs-check-border-color));border-radius:.3em}.check :where(input:checked,input:indeterminate){background-color:var(--bs-theme-bg,var(--bs-check-checked-bg));border-color:var(--bs-theme-bg,var(--bs-check-checked-border-color))}.check :where(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.check:has(input:checked) .checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:indeterminate) .indeterminate{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:disabled){--bs-check-bg:var(--bs-check-disabled-bg)}.check:has(input:disabled)~label{color:var(--bs-fg-3);cursor:default}.check:has(input:disabled:checked){opacity:var(--bs-check-disabled-opacity)}.check :where(svg){pointer-events:none}.check :where(svg path){display:none}.check-sm{--bs-check-size:1rem}.check-lg{--bs-check-size:1.5rem;--bs-check-margin-block:0}.radiogroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.radiogroup .description{color:var(--bs-fg-3)}.radio{--bs-radio-size:1.25rem;--bs-radio-margin-block:.125rem;--bs-radio-bg:transparent;--bs-radio-border-color:var(--bs-border-color);--bs-radio-checked-bg:var(--bs-control-checked-bg);--bs-radio-checked-border-color:var(--bs-control-checked-border-color);--bs-radio-disabled-bg:var(--bs-control-disabled-bg);--bs-radio-disabled-opacity:var(--bs-control-disabled-opacity);width:var(--bs-radio-size);height:var(--bs-radio-size);margin-block:var(--bs-radio-margin-block);appearance:none;background-color:var(--bs-theme-bg,var(--bs-radio-bg));border:1px solid var(--bs-theme-bg,var(--bs-radio-border-color));border-radius:50%;flex-shrink:0;position:relative}.radio:checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));background-color:var(--bs-theme-bg,var(--bs-radio-checked-bg));border-color:var(--bs-theme-bg,var(--bs-radio-checked-border-color))}.radio:checked:before{content:"";background-color:currentColor;border-radius:50%;position:absolute;inset:.25rem}.radio:disabled{--bs-radio-bg:var(--bs-radio-disabled-bg)}.radio:disabled~label{color:var(--bs-secondary-text);cursor:default}.radio:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.radio-sm{--bs-radio-size:1rem}.radio-lg{--bs-radio-size:1.5rem;--bs-radio-margin-block:0}.switch{--bs-switch-height:1.25rem;--bs-switch-width:calc(var(--bs-switch-height) * 1.5);--bs-switch-padding:.0625rem;--bs-switch-margin-block:.125rem;--bs-switch-bg:var(--bs-bg-3);--bs-switch-border-width:var(--bs-border-width);--bs-switch-border-color:var(--bs-border-color);--bs-switch-indicator-bg:var(--bs-white);--bs-switch-checked-bg:var(--bs-control-checked-bg);--bs-switch-checked-border-color:var(--bs-switch-checked-bg);--bs-switch-checked-indicator-bg:var(--bs-white);--bs-switch-disabled-bg:var(--bs-control-disabled-bg);--bs-switch-disabled-indicator-bg:var(--bs-fg-3);width:var(--bs-switch-width);height:var(--bs-switch-height);padding:var(--bs-switch-padding);margin-block:var(--bs-switch-margin-block);background-color:var(--bs-switch-bg);border:var(--bs-switch-border-width) solid var(--bs-switch-border-color);border-radius:10rem;flex-shrink:0;justify-content:flex-start;align-items:stretch;transition:padding-inline-start .15s ease-in-out,background-color .15s ease-in-out;display:flex;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.switch:before{width:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);height:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);content:"";background-color:var(--bs-theme-contrast,var(--bs-switch-indicator-bg));border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.1)}.switch input{appearance:none;background-color:transparent;outline:0;position:absolute;inset:0}.switch:focus-within{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.switch:has(input:checked){background-color:var(--bs-theme-bg,var(--bs-switch-checked-bg));border-color:var(--bs-theme-bg,var(--bs-switch-checked-border-color));padding-inline-start:calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding))}.switch:has(input:disabled){--bs-switch-bg:var(--bs-switch-disabled-bg);--bs-switch-indicator-bg:var(--bs-switch-disabled-indicator-bg)}.switch:has(input:disabled):before{opacity:.4}.switch:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.switch-sm{--bs-switch-height:1rem}.switch-lg{--bs-switch-height:1.5rem;--bs-switch-margin-block:0}.form-range{--bs-range-track-width:100%;--bs-range-track-height:.5rem;--bs-range-track-cursor:pointer;--bs-range-track-bg:var(--bs-bg-3);--bs-range-track-border-radius:1rem;--bs-range-track-box-shadow:var(--bs-box-shadow-inset);--bs-range-thumb-width:1rem;--bs-range-thumb-height:var(--bs-range-thumb-width);--bs-range-thumb-bg:var(--bs-primary-base);--bs-range-thumb-border:0;--bs-range-thumb-border-radius:1rem;--bs-range-thumb-box-shadow:0 .1rem .25rem rgba(0,0,0,.1);--bs-range-thumb-active-bg:color-mix(in oklch, var(--bs-primary-base) 70%, var(--bs-bg-body));--bs-range-thumb-disabled-bg:var(--bs-fg-3);--bs-range-thumb-transition-property:background-color, border-color, box-shadow;--bs-range-thumb-transition-timing:.15s ease-in-out;--bs-range-thumb-transition:var(--bs-range-thumb-transition-property) var(--bs-range-thumb-transition-timing);width:100%;height:calc(var(--bs-range-thumb-height) + var(--bs-focus-ring-width) * 2);appearance:none;background-color:transparent;padding:0}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range:focus::-moz-range-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-webkit-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:var(--bs-range-thumb-active-bg)}.form-range::-webkit-slider-thumb{margin-top:calc((var(--bs-range-track-height) - var(--bs-range-thumb-height)) * .5)}.form-range::-moz-range-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-moz-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:var(--bs-range-thumb-active-bg)}.form-range::-webkit-slider-runnable-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:transparent;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:transparent}.form-range::-moz-range-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:transparent;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-floating{--bs-form-floating-height:calc(3.5rem + var(--bs-border-width) * 2);--bs-form-floating-line-height:1.25;--bs-form-floating-padding-x:var(--bs-btn-input-padding-x);--bs-form-floating-padding-y:1rem;--bs-form-floating-input-padding-t:1.625rem;--bs-form-floating-input-padding-b:.625rem;--bs-form-floating-label-height:1.5em;--bs-form-floating-label-opacity:.65;--bs-form-floating-label-transform:scale(.85) translateY(-.5rem) translateX(.15rem);--bs-form-floating-label-disabled-color:var(--bs-fg-3);--bs-form-floating-transition-property:opacity, transform;--bs-form-floating-transition-timing:.1s ease-in-out;--bs-form-floating-transition:var(--bs-form-floating-transition-property) var(--bs-form-floating-transition-timing);position:relative}.form-floating>label{z-index:2;max-width:100%;height:100%;padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);color:color-mix(in oklch, var(--bs-fg-body) var(--bs-form-floating-label-opacity), transparent);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-input-btn-border-width) solid transparent;transform-origin:0 0;transition:var(--bs-form-floating-transition);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{height:var(--bs-form-floating-height);min-height:var(--bs-form-floating-height);padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);line-height:var(--bs-form-floating-line-height)}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control-plaintext:focus{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:not(:placeholder-shown){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:-webkit-autofill{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:focus~label,.form-floating>.form-control-plaintext~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:not(:placeholder-shown)~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:-webkit-autofill~label{transform:var(--bs-form-floating-label-transform)}.form-floating>textarea:focus~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:not(:placeholder-shown)~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:disabled~label:after{background-color:var(--bs-control-disabled-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-control-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:var(--bs-form-floating-label-disabled-color)}.strength{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:var(--bs-bg-2);--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);gap:var(--bs-strength-gap);width:100%;margin-top:var(--bs-strength-margin-top);display:flex}.strength-segment{height:var(--bs-strength-height);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);flex:1;transition:background-color .2s ease-in-out,width .3s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-segment{transition:none}}.strength-segment.active{background-color:var(--bs-strength-color)}.strength[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color)}.strength[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color)}.strength[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color)}.strength[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color)}.strength-text{margin-top:var(--bs-strength-margin-top);font-size:var(--bs-font-size-xs);color:var(--bs-strength-color,var(--bs-fg-3));transition:color .2s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-text{transition:none}}.strength-text:empty{display:none}.strength-bar{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:transparent;--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);--bs-strength-width:0%;width:100%;height:var(--bs-strength-height);margin-top:var(--bs-strength-margin-top);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);overflow:hidden}.strength-bar:after{width:var(--bs-strength-width);content:"";background-color:var(--bs-strength-color);border-radius:var(--bs-strength-border-radius);height:100%;transition:background-color .2s ease-in-out,width .3s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-bar:after{transition:none}}.strength-bar[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color);--bs-strength-width:25%}.strength-bar[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color);--bs-strength-width:50%}.strength-bar[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color);--bs-strength-width:75%}.strength-bar[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color);--bs-strength-width:100%}.form-adorn{--bs-form-adorn-gap:.375rem;--bs-form-adorn-icon-size:1rem;--bs-form-adorn-icon-color:var(--bs-fg-2);gap:var(--bs-form-adorn-gap);align-items:center}.form-adorn:focus-visible{outline:0}.form-adorn:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-adorn>.form-ghost{flex:1;min-width:0}.form-adorn.form-adorn-end>.form-ghost{order:-1}.form-adorn-icon{color:var(--bs-form-adorn-icon-color);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-adorn-icon>svg{width:var(--bs-form-adorn-icon-size);height:var(--bs-form-adorn-icon-size)}.form-adorn-text{color:var(--bs-form-adorn-icon-color);pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.chip-input{--bs-chip-input-padding-y:.75rem;--bs-chip-input-padding-x:.75rem;--bs-chip-input-gap:.375rem;--bs-chip-input-ghost-min-width:5rem;--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);gap:var(--bs-chip-input-gap);padding:var(--bs-chip-input-padding-y) var(--bs-chip-input-padding-x);color:var(--bs-control-fg);background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);flex-wrap:wrap;align-items:center;display:flex}.chip-input:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.chip-input>.form-ghost{min-width:var(--bs-chip-input-ghost-min-width);flex:1 1 0;min-height:1.75rem}.chip-input.disabled{background-color:var(--bs-bg-2);opacity:1}.chip-input:has(.form-ghost:disabled){background-color:var(--bs-bg-2);opacity:1}.chip-input.disabled>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input:has(.form-ghost:disabled)>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input.disabled>.chip .chip-dismiss{pointer-events:none}.chip-input:has(.form-ghost:disabled)>.chip .chip-dismiss{pointer-events:none}.chip-input.disabled>.form-ghost{cursor:not-allowed}.chip-input:has(.form-ghost:disabled)>.form-ghost{cursor:not-allowed}}@layer components{.input-group{--bs-input-group-addon-padding-y:var(--bs-btn-input-padding-y);--bs-input-group-addon-padding-x:var(--bs-btn-input-padding-x);--bs-input-group-addon-font-size:var(--bs-btn-input-font-size);--bs-input-group-addon-line-height:var(--bs-btn-input-line-height);--bs-input-group-addon-color:var(--bs-fg-body);--bs-input-group-addon-bg:var(--bs-bg-2);--bs-input-group-addon-border-color:var(--bs-border-color);flex-wrap:wrap;align-items:stretch;width:100%;display:flex;position:relative}.input-group>.form-control,.input-group>.form-floating{flex:auto;width:1%;min-width:0;position:relative}.input-group>.form-control:focus{z-index:5}.input-group>.form-floating:focus-within{z-index:5}.input-group>.input-group-btn{z-index:2;position:relative}.input-group>.input-group-btn:focus{z-index:5}.input-group-text{padding:var(--bs-input-group-addon-padding-y) var(--bs-input-group-addon-padding-x);font-size:var(--bs-input-group-addon-font-size);line-height:var(--bs-input-group-addon-line-height);color:var(--bs-input-group-addon-color);text-align:center;white-space:nowrap;background-color:var(--bs-input-group-addon-bg);border:var(--bs-border-width) solid var(--bs-input-group-addon-border-color);border-radius:var(--bs-btn-input-border-radius);align-items:center;display:flex}.input-group-sm>.form-control,.input-group-sm>.input-group-text,.input-group-sm>.btn{min-height:var(--bs-btn-input-sm-min-height);padding:var(--bs-btn-input-sm-padding-y) var(--bs-btn-input-sm-padding-x);font-size:var(--bs-btn-input-sm-font-size);border-radius:var(--bs-btn-input-sm-border-radius)}.input-group-lg>.form-control,.input-group-lg>.input-group-text,.input-group-lg>.btn{min-height:var(--bs-btn-input-lg-min-height);padding:var(--bs-btn-input-lg-padding-y) var(--bs-btn-input-lg-padding-x);font-size:var(--bs-btn-input-lg-font-size);border-radius:var(--bs-btn-input-lg-border-radius)}.input-group:not(.has-validation)>:not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group:not(.has-validation)>.menu-toggle-split:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group.has-validation>.menu-toggle-split:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-start-end-radius:0;border-end-end-radius:0}.input-group>:not(:first-child):not(.menu){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:calc(-1 * var(--bs-border-width))}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-start-start-radius:0;border-end-start-radius:0}.otp{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-font-size);--bs-otp-gap:.5rem;gap:var(--bs-otp-gap);display:inline-flex}.otp .form-control{width:var(--bs-otp-size);min-height:var(--bs-otp-size);font-size:var(--bs-otp-font-size);text-align:center;border-radius:var(--bs-otp-border-radius,var(--bs-btn-input-border-radius));padding:0;font-weight:500;line-height:1}.otp .form-control::-webkit-outer-spin-button{appearance:none;margin:0}.otp .form-control::-webkit-inner-spin-button{appearance:none;margin:0}.otp .form-control[type=number]{appearance:textfield}.otp .form-control:focus{z-index:1}.otp .form-control:focus-visible{z-index:1}.otp.is-valid .form-control,.was-validated .otp:valid .form-control{border-color:var(--bs-form-valid-border-color)}.otp.is-valid .form-control:focus,.was-validated .otp:valid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-success-rgb), .25);border-color:var(--bs-form-valid-border-color)}.otp.is-invalid .form-control,.was-validated .otp:invalid .form-control{border-color:var(--bs-form-invalid-border-color)}.otp.is-invalid .form-control:focus,.was-validated .otp:invalid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), .25);border-color:var(--bs-form-invalid-border-color)}.otp.input-group{gap:0;width:auto}.otp.input-group .form-control{flex:none}.otp-separator{padding-inline:var(--bs-otp-gap);font-size:var(--bs-otp-font-size);color:var(--bs-fg-4);-webkit-user-select:none;user-select:none;align-items:center;display:flex}.otp-sm{--bs-otp-size:var(--bs-btn-input-sm-min-height);--bs-otp-font-size:var(--bs-btn-input-sm-font-size);--bs-otp-border-radius:var(--bs-btn-input-sm-border-radius)}.otp-lg{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-lg-font-size);--bs-otp-border-radius:var(--bs-btn-input-lg-border-radius)}.combobox-toggle{width:100%;text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding-inline-end:var(--bs-control-padding-x);display:inline-flex}.combobox-toggle.show{background-color:var(--bs-bg-1)}.combobox-toggle:disabled,.combobox-toggle.disabled{cursor:not-allowed;opacity:.65}.combobox-value{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;display:flex;overflow:hidden}.combobox-placeholder{color:color-mix(in oklch, currentcolor 65%, transparent)}.combobox-caret{flex-shrink:0;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.combobox-caret{transition:none}}.show>.combobox-caret{transform:rotate(180deg)}.combobox-toggle+.menu{--bs-menu-max-height:300px;--bs-menu-overflow-y:auto}.combobox-search{z-index:1;padding:var(--bs-menu-padding-x,.25rem);background-color:var(--bs-menu-bg,var(--bs-bg-body));position:sticky;top:0}.combobox-search-input{width:100%}.combobox-no-results{font-size:var(--bs-font-size-sm);color:var(--bs-fg-3);text-align:center;padding:1rem}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.75rem;--bs-tooltip-padding-y:.375rem;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-bg-body);--bs-tooltip-bg:var(--bs-fg-body);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.95;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0;text-decoration:none;display:block}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height);display:block}.tooltip .tooltip-arrow:before{content:"";border-style:solid;border-color:transparent;position:absolute}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow:before{border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-block-start-color:var(--bs-tooltip-bg);top:-1px}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-inline-end-color:var(--bs-tooltip-bg);right:-1px}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow:before{border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-block-end-color:var(--bs-tooltip-bg);bottom:-1px}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-inline-start-color:var(--bs-tooltip-bg);left:-1px}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.valid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-valid-color);margin-top:.5rem;display:none}.valid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-success-contrast);background-color:var(--bs-success-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-success-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.form-control.is-valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-success-border)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-inline-start:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid{z-index:3}.was-validated .input-group>.form-floating:not(:focus-within):valid{z-index:3}.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-invalid-color);margin-top:.5rem;display:none}.invalid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-danger-contrast);background-color:var(--bs-danger-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-danger-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dd0d37'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dd0d37' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.form-control.is-invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-danger-border)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-inline-start:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid{z-index:4}.was-validated .input-group>.form-floating:not(:focus-within):invalid{z-index:4}.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{--bs-btn-min-height:var(--bs-btn-input-min-height);--bs-btn-padding-x:var(--bs-btn-input-padding-x);--bs-btn-padding-y:var(--bs-btn-input-padding-y);--bs-btn-font-size:var(--bs-btn-input-font-size);--bs-btn-font-weight:var(--bs-btn-input-font-weight);--bs-btn-line-height:var(--bs-btn-input-line-height);--bs-btn-color:var(--bs-fg-body);--bs-btn-white-space:nowrap;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:.65;--bs-btn-transition-timing:.15s ease-in-out;--bs-btn-transition-property:color, background-color, border-color, box-shadow;--bs-btn-transition:var(--bs-btn-transition-property) var(--bs-btn-transition-timing);gap:var(--bs-btn-gap,.25rem);min-height:var(--bs-btn-min-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);white-space:var(--bs-btn-white-space);vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--bs-btn-bg,var(--bs-bg-2));border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);transition:var(--bs-btn-transition);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{transition:none}}.btn:hover,.btn-link:hover,.btn-icon:hover,.btn-solid:hover,.btn-outline:hover,.btn-subtle:hover,.btn-text:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg,var(--bs-bg-3));border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-link:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-icon:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-solid:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-outline:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-subtle:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-text:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn.active,.btn.show,.btn-link.active,.btn-link.show,.btn-icon.active,.btn-icon.show,.btn-solid.active,.btn-solid.show,.btn-outline.active,.btn-outline.show,.btn-subtle.active,.btn-subtle.show,.btn-text.active,.btn-text.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-link.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-link.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-icon.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-icon.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-solid.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-solid.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-subtle.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-subtle.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-text.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-text.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn:disabled,.btn.disabled,fieldset:disabled .btn,.btn-link:disabled,.btn-link.disabled,fieldset:disabled .btn-link,.btn-icon:disabled,.btn-icon.disabled,fieldset:disabled .btn-icon,.btn-solid:disabled,.btn-solid.disabled,fieldset:disabled .btn-solid,.btn-outline:disabled,.btn-outline.disabled,fieldset:disabled .btn-outline,.btn-subtle:disabled,.btn-subtle.disabled,fieldset:disabled .btn-subtle,.btn-text:disabled,.btn-text.disabled,fieldset:disabled .btn-text{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-solid{--bs-btn-bg:var(--bs-theme-bg);--bs-btn-color:var(--bs-theme-contrast);--bs-btn-border-color:var(--bs-theme-bg);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h)}.btn-solid:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-solid:active,.btn-solid.active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid:disabled,.btn-solid.disabled{--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-outline{--bs-btn-bg:transparent;--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:var(--bs-theme-border);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h)}.btn-outline:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-outline:active,.btn-outline.active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline:disabled,.btn-outline.disabled{--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline.btn-check:has(input:disabled){--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-subtle{--bs-btn-bg:var(--bs-theme-bg-subtle);--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:transparent;--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle:hover{--bs-btn-hover-bg:color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));--bs-btn-hover-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h)}.btn-subtle:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-subtle:active,.btn-subtle.active{--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle.btn-check:has(input:checked){--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle:disabled,.btn-subtle.disabled{--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-text{--bs-btn-color:var(--bs-theme-text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text:hover{--bs-btn-hover-color:oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-bg:var(--bs-theme-bg-subtle)}.btn-text:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-text:active,.btn-text.active{--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text.btn-check:has(input:checked){--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text:disabled,.btn-text.disabled{--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text.btn-check:has(input:disabled){--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-link{--bs-btn-font-weight:var(--bs-font-weight-normal);--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-bg:transparent;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-bg:transparent;--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--bs-fg-3);--bs-btn-disabled-border-color:transparent;color:var(--bs-theme-text,var(--bs-btn-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration)}.btn-link:focus-visible{color:var(--bs-theme-text,var(--bs-btn-color))}.btn-link:hover{color:var(--bs-theme-text-emphasis,var(--bs-btn-hover-color))}.btn-xs,.btn-group-xs>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-xs-min-height);--bs-btn-padding-y:var(--bs-btn-input-xs-padding-y);--bs-btn-padding-x:var(--bs-btn-input-xs-padding-x);--bs-btn-font-size:var(--bs-btn-input-xs-font-size);--bs-btn-line-height:var(--bs-btn-input-xs-line-height);--bs-btn-border-radius:var(--bs-btn-input-xs-border-radius)}.btn-sm,.btn-group-sm>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-sm-min-height);--bs-btn-padding-y:var(--bs-btn-input-sm-padding-y);--bs-btn-padding-x:var(--bs-btn-input-sm-padding-x);--bs-btn-font-size:var(--bs-btn-input-sm-font-size);--bs-btn-line-height:var(--bs-btn-input-sm-line-height);--bs-btn-border-radius:var(--bs-btn-input-sm-border-radius)}.btn-lg,.btn-group-lg>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-lg-min-height);--bs-btn-padding-y:var(--bs-btn-input-lg-padding-y);--bs-btn-padding-x:var(--bs-btn-input-lg-padding-x);--bs-btn-font-size:var(--bs-btn-input-lg-font-size);--bs-btn-line-height:var(--bs-btn-input-lg-line-height);--bs-btn-border-radius:var(--bs-btn-input-lg-border-radius)}.btn-icon{aspect-ratio:1;justify-content:center;align-items:center;padding:0}.btn-check>input{clip:rect(0, 0, 0, 0);pointer-events:none;position:absolute}.btn-check:has(input:checked){color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow)}.btn-check:has(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-check:has(input:disabled){color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);box-shadow:none}.btn-styled{--bs-btn-gradient-start:rgba(255,255,255,.125);--bs-btn-gradient-end:rgba(0,0,0,.075);--bs-btn-border-mix-color:#000;--bs-btn-border-mix-amount:10%;--bs-btn-border-hover-mix-amount:12.5%;--bs-btn-border-active-mix-amount:20%;--bs-btn-shadow:0 1px 2px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.1);--bs-btn-active-shadow:inset 0 2px 4px rgba(0,0,0,.15);background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));box-shadow:var(--bs-btn-shadow)}.btn-styled:hover{background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount))}.btn-styled:active,.btn-styled.active{border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));box-shadow:var(--bs-btn-active-shadow);background-image:none}.btn-styled:disabled,.btn-styled.disabled{box-shadow:none;background-image:none}.btn-group,.btn-group-vertical{vertical-align:middle;display:inline-flex;position:relative}.btn-group>[class*=btn-],.btn-group-vertical>[class*=btn-]{flex:auto;position:relative}.btn-group>[class*=btn-]:hover,.btn-group-vertical>[class*=btn-]:hover{z-index:1}.btn-group>[class*=btn-]:active,.btn-group>[class*=btn-].active,.btn-group-vertical>[class*=btn-]:active,.btn-group-vertical>[class*=btn-].active{z-index:2}.btn-group>.btn-check:has(input:checked){z-index:2}.btn-group-vertical>.btn-check:has(input:checked){z-index:2}.btn-group>[class*=btn-]:focus,.btn-group-vertical>[class*=btn-]:focus{z-index:3}.btn-group>.btn-check:has(input:focus){z-index:3}.btn-group-vertical>.btn-check:has(input:focus){z-index:3}.btn-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-btn-border-radius)}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-inline-start:calc(-1 * var(--bs-btn-border-width))}.btn-group>.btn-group:not(:last-child)>[class*=btn-]{border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:last-child):not(:has(+.menu)){border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-end-start-radius:0}.btn-group-vertical{flex-direction:column;justify-content:center;align-items:flex-start}.btn-group-vertical>[class*=btn-],.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--bs-btn-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>[class*=btn-]{border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:last-child):not(:has(+.menu)){border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-start-end-radius:0}.btn-close{--bs-btn-close-size:1.25rem;--bs-btn-close-color:var(--bs-fg-body);--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-opacity:.85;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:var(--bs-btn-close-size);height:var(--bs-btn-close-size);color:var(--bs-btn-close-color);border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity);background:0 0;border:0;padding:0}.btn-close>svg{fill:currentColor;width:100%;height:100%;display:block}.btn-close:hover{color:var(--bs-btn-close-color);opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus-visible{opacity:var(--bs-btn-close-focus-opacity);outline:var(--bs-focus-ring)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.accordion{--bs-accordion-padding-x:1.25rem;--bs-accordion-padding-y:1rem;--bs-accordion-color:var(--bs-fg-body);--bs-accordion-bg:var(--bs-bg-body);--bs-accordion-transition-property:color, background-color, border-radius;--bs-accordion-transition-timing:.15s ease-in-out;--bs-accordion-transition:var(--bs-accordion-transition-property) var(--bs-accordion-timing);--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-accordion-radius,var(--bs-border-radius-lg));--bs-accordion-btn-color:var(--bs-fg-2);--bs-accordion-btn-bg:var(--bs-bg-body);--bs-accordion-btn-icon-width:1rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-active-color:var(--bs-fg);--bs-accordion-active-bg:var(--bs-bg-2)}.accordion-header{width:100%;padding:var(--bs-accordion-btn-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-btn-padding-x,var(--bs-accordion-padding-x));font-size:var(--bs-accordion-font-size,var(--bs-font-size-base));color:var(--bs-accordion-btn-color);text-align:start;cursor:pointer;background-color:var(--bs-accordion-btn-bg);transition:var(--bs-accordion-transition);align-items:center;list-style:none;display:flex}@media (prefers-reduced-motion:reduce){.accordion-header{transition:none}}.accordion-header .accordion-icon{width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);color:currentColor;transition:var(--bs-accordion-btn-icon-transition);flex-shrink:0;margin-inline-start:auto}@media (prefers-reduced-motion:reduce){.accordion-header .accordion-icon{transition:none}}.accordion-header:hover{z-index:2}.accordion-header:focus-visible{z-index:3;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);outline-offset:-1px;position:relative}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-start-start-radius:var(--bs-accordion-border-radius);border-start-end-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-start-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-start-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:not(:first-of-type){border-block-start:0}.accordion-item:last-of-type{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header{border-end-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-end-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:last-of-type>.accordion-body{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item[open]{border-color:var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header{color:var(--bs-theme-text,var(--bs-accordion-active-color));background-color:var(--bs-theme-bg-subtle,var(--bs-accordion-active-bg));box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header .accordion-icon{transform:var(--bs-accordion-btn-icon-transform)}.accordion-item[open]:last-of-type>.accordion-header{border-end-end-radius:0;border-end-start-radius:0}.accordion-body{padding:var(--bs-accordion-body-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-body-padding-x,var(--bs-accordion-padding-x))}.accordion-flush>.accordion-item{border-inline:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-block-start:0}.accordion-flush>.accordion-item:last-child{border-block-end:0}.accordion-flush>.accordion-item>.accordion-header,.accordion-flush>.accordion-item>.accordion-body{border-radius:0}.alert{--bs-alert-gap:.75rem;--bs-alert-bg:var(--bs-theme-bg-subtle,var(--bs-bg-1));--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-color:var(--bs-theme-text,inherit);--bs-alert-border-color:var(--bs-theme-border,var(--bs-border-color));--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;--bs-hr-border-color:var(--bs-theme-border,var(--bs-border-color));gap:var(--bs-alert-gap);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);align-items:start;display:flex}.alert>p{margin-bottom:0}.alert-heading{color:inherit}.alert-link{font-weight:var(--bs-font-weight-semibold);color:var(--bs-alert-link-color)}.avatar{--bs-avatar-size:2.5rem;--bs-avatar-border-radius:50%;--bs-avatar-border-width:2px;--bs-avatar-border-color:var(--bs-bg-body);--bs-avatar-bg:var(--bs-bg-2);--bs-avatar-color:var(--bs-fg-body);--bs-avatar-status-size:.75rem;--bs-avatar-status-border-width:2px;--bs-avatar-status-border-color:var(--bs-bg-body);--bs-avatar-stack-spacing:-.3;--bs-avatar-stack-transition:transform .2s ease-in-out;width:var(--bs-avatar-size);height:var(--bs-avatar-size);font-size:calc(var(--bs-avatar-size) * .4);font-weight:var(--bs-avatar-font-weight,var(--bs-font-weight-medium));color:var(--bs-theme-contrast,var(--bs-avatar-color));text-transform:uppercase;vertical-align:middle;background-color:var(--bs-theme-bg,var(--bs-avatar-bg));border-radius:var(--bs-avatar-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.avatar-subtle{color:var(--bs-theme-text,var(--bs-avatar-color));background-color:var(--bs-theme-bg-subtle,var(--bs-avatar-bg))}.avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%}.avatar-status{right:calc(var(--bs-avatar-status-border-width) * -1);bottom:calc(var(--bs-avatar-status-border-width) * -1);width:var(--bs-avatar-status-size);height:var(--bs-avatar-status-size);background-color:var(--bs-gray-400);border:var(--bs-avatar-status-border-width) solid var(--bs-avatar-status-border-color);border-radius:50%;position:absolute}.avatar-status.status-online{background-color:var(--bs-green-500)}.avatar-status.status-offline{background-color:var(--bs-gray-400);border-radius:20%}.avatar-status.status-busy{background-color:var(--bs-red-500);border-radius:20%}.avatar-status.status-away{background-color:var(--bs-yellow-500)}.avatar-stack{flex-direction:row-reverse;display:inline-flex}.avatar-stack .avatar{margin-left:calc(var(--bs-avatar-size) * var(--bs-avatar-stack-spacing));border:var(--bs-avatar-border-width) solid var(--bs-avatar-border-color);transition:var(--bs-avatar-stack-transition);mask-image:none}@media (prefers-reduced-motion:reduce){.avatar-stack .avatar{transition:none}}.avatar-stack .avatar:last-child{margin-left:0}.avatar-stack .avatar:hover{z-index:1;transform:translateY(-2px)}.avatar-xs,.avatar-stack-xs{--bs-avatar-size:1.5rem;--bs-avatar-status-size:.625rem}.avatar-sm,.avatar-stack-sm{--bs-avatar-size:2rem}.avatar-lg,.avatar-stack-lg{--bs-avatar-size:3rem;--bs-avatar-status-size:1rem}.avatar-xl,.avatar-stack-xl{--bs-avatar-size:4rem;--bs-avatar-status-size:1.25rem}.badge{--bs-badge-padding-x:.625em;--bs-badge-padding-y:.25em;--bs-badge-font-size:clamp(12px, .75em, .75em);--bs-badge-font-weight:var(--bs-font-weight-semibold);--bs-badge-color:inherit;--bs-badge-bg:var(--bs-bg-2);--bs-badge-border-width:var(--bs-border-width);--bs-badge-border-color:transparent;--bs-badge-border-radius:var(--bs-border-radius-lg);min-height:1.375rem;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);color:var(--bs-theme-contrast,var(--bs-badge-color));text-align:center;white-space:nowrap;vertical-align:baseline;background-color:var(--bs-theme-bg,var(--bs-badge-bg));border:var(--bs-badge-border-width) solid var(--bs-badge-border-color);border-radius:var(--bs-badge-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-subtle{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:var(--bs-theme-bg-subtle);--bs-badge-border-color:transparent;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.badge-outline{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:transparent;--bs-badge-border-color:var(--bs-theme-border);color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.breadcrumb{--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-font-size:inherit;--bs-breadcrumb-bg:transparent;--bs-breadcrumb-border-radius:var(--bs-border-radius);--bs-breadcrumb-divider-color:var(--bs-fg-4);--bs-breadcrumb-link-padding-x:.75rem;--bs-breadcrumb-link-padding-y:.25rem;--bs-breadcrumb-link-color:var(--bs-fg-3);--bs-breadcrumb-link-hover-color:var(--bs-fg-2);--bs-breadcrumb-link-hover-bg:var(--bs-bg-1);--bs-breadcrumb-link-active-color:var(--bs-fg-1);--bs-breadcrumb-link-border-radius:var(--bs-border-radius-lg);padding:var(--bs-breadcrumb-padding-y,0) var(--bs-breadcrumb-padding-x,0);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);flex-wrap:wrap;align-items:center;list-style:none;display:flex}.breadcrumb-item{display:flex}.breadcrumb-divider{margin-inline:calc(var(--bs-breadcrumb-link-padding-x) / 4);color:var(--bs-breadcrumb-divider-color)}.breadcrumb-link{min-height:2.25rem;padding:var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);color:var(--bs-breadcrumb-link-color);border-radius:var(--bs-breadcrumb-link-border-radius);justify-content:center;align-items:center;text-decoration:none;transition:text-decoration-color .1s ease-in-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.breadcrumb-link{transition:none}}.breadcrumb-link:hover{z-index:2;color:var(--bs-breadcrumb-link-hover-color);background-color:var(--bs-breadcrumb-link-hover-bg)}.breadcrumb-link.active{color:var(--bs-breadcrumb-link-active-color)}.chip{--bs-chip-height:1.75rem;--bs-chip-padding-x:.625rem;--bs-chip-gap:.3125rem;--bs-chip-border-radius:var(--bs-border-radius-pill);--bs-chip-img-size:1.25rem;--bs-chip-icon-size:1rem;--bs-chip-dismiss-size:1rem;--bs-chip-dismiss-opacity:.65;--bs-chip-dismiss-hover-opacity:1;--bs-chip-color:var(--bs-theme-text,var(--bs-fg-body));--bs-chip-bg:var(--bs-theme-bg-subtle,var(--bs-bg-2));--bs-chip-border-color:transparent;--bs-chip-selected-color:var(--bs-theme-contrast,var(--bs-primary-contrast));--bs-chip-selected-bg:var(--bs-theme-bg,var(--bs-primary-bg));--bs-chip-selected-border-color:var(--bs-theme-bg,var(--bs-primary-bg));gap:var(--bs-chip-gap);height:var(--bs-chip-height);padding-inline:var(--bs-chip-padding-x);font-size:var(--bs-chip-font-size,var(--bs-font-size-sm));font-weight:var(--bs-chip-font-weight,var(--bs-font-weight-base));line-height:var(--bs-chip-line-height,1.25rem);color:var(--bs-chip-color);white-space:nowrap;vertical-align:middle;cursor:pointer;background-color:var(--bs-chip-bg);border:var(--bs-border-width) solid var(--bs-chip-border-color);border-radius:var(--bs-chip-border-radius);align-items:center;text-decoration:none;display:inline-flex}.chip:hover{--bs-chip-bg:var(--bs-theme-bg-muted,var(--bs-bg-3))}.chip:focus-visible{outline:0}.chip.active{--bs-chip-color:var(--bs-chip-selected-color);--bs-chip-bg:var(--bs-chip-selected-bg);--bs-chip-border-color:var(--bs-chip-selected-border-color)}.chip.active:hover{--bs-chip-bg:var(--bs-chip-selected-bg);opacity:.9}.chip.disabled,.chip:disabled{pointer-events:none;opacity:.65}.chip-img{width:var(--bs-chip-img-size);height:var(--bs-chip-img-size);border-radius:50%}.chip-img:first-child{margin-inline-start:-.375rem}.chip-icon{flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:calc(var(--bs-chip-gap) * -.25);display:flex}.chip-icon>svg{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);display:block}.chip-icon>img{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);-o-object-fit:cover;object-fit:cover;border-radius:50%}.chip-dismiss{width:var(--bs-chip-min-height);height:var(--bs-chip-min-height);color:inherit;cursor:pointer;opacity:var(--bs-chip-dismiss-opacity);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--bs-chip-padding-x) * -.25);padding:0;display:flex}.chip-dismiss:hover{opacity:var(--bs-chip-dismiss-hover-opacity)}.chip-dismiss:focus-visible{opacity:1;outline:0;outline:var(--bs-focus-ring)}.chip-dismiss>svg{width:var(--bs-chip-dismiss-size);height:var(--bs-chip-dismiss-size);display:block}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-subtitle-color:inherit;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow:none;--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-card-cap-padding-y:.75rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:var(--bs-bg-1);--bs-card-cap-color:inherit;--bs-card-height:auto;--bs-card-color:inherit;--bs-card-bg:var(--bs-bg-body);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;--bs-card-body-gap:.5rem;min-width:0;height:var(--bs-card-height);color:var(--bs-fg-body);word-wrap:break-word;background-color:var(--bs-card-bg);box-shadow:var(--bs-card-box-shadow);flex-direction:column;display:flex;position:relative}.card>hr{margin-inline:0}.card-body{gap:var(--bs-card-body-gap);padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color);border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width);flex-direction:column;flex:auto;align-items:flex-start;display:flex}.card-body>*{margin-block:0}.card-body,.card-list{border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width)}.card-body:first-child,.card-list:first-child{border-top-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-border-radius);border-start-end-radius:var(--bs-card-border-radius)}.card-body:last-child,.card-list:last-child{border-bottom-width:var(--bs-card-border-width);border-end-end-radius:var(--bs-card-border-radius);border-end-start-radius:var(--bs-card-border-radius)}.card-body:not(:first-child):not(:last-child),.card-list:not(:first-child):not(:last-child){border-block-end-width:var(--bs-card-border-width)}.card-title,.card-subtitle,.card-text{align-self:stretch}.card-subtitle{margin-top:calc(var(--bs-card-body-gap) * -.5)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-theme-contrast,var(--bs-card-cap-color));background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color));margin-bottom:0}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color))}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-translucent{background-color:color-mix(in oklch, var(--bs-card-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.card-translucent .card-header,.card-translucent .card-footer{background-color:color-mix(in oklch, var(--bs-card-cap-bg) 60%, transparent)}.card-subtle{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-header,.card-subtle .card-footer{color:var(--bs-theme-text-emphasis,currentcolor);background-color:var(--bs-theme-bg-subtle,var(--bs-card-cap-bg));border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-body,.card-subtle .card-list{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.nav.card-header-tabs{margin-inline:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-block-end:0}.nav.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-block-end-color:var(--bs-card-bg)}.card-img-overlay{padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius);position:absolute;inset:0}.card-img,.card-img-top,.card-img-bottom{outline:var(--bs-card-border-width) solid var(--bs-card-border-color);outline-offset:calc(var(--bs-card-border-width) * -1);width:100%}.card-img,.card-img-top{border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-end-end-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row{flex-direction:row}.card-row .card-body,.card-row .card-list{border-width:var(--bs-card-border-width) 0;border-radius:0}.card-row .card-body:first-child,.card-row .card-list:first-child{border-inline-start-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:last-child,.card-row .card-list:last-child{border-inline-end-width:var(--bs-card-border-width);border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:not(:first-child):not(:last-child),.card-row .card-list:not(:first-child):not(:last-child){border-inline-end-width:var(--bs-card-border-width)}.card-img-start{border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-img-end{border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{flex-flow:wrap;display:flex}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{border-inline-start:0;margin-inline-start:0}.card-group>.card:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-start-end-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-end-end-radius:0}.card-group>.card:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-start-start-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-end-start-radius:0}}.carousel{--bs-carousel-control-color:#fff;--bs-carousel-control-width:15%;--bs-carousel-control-opacity:.5;--bs-carousel-control-hover-opacity:.9;--bs-carousel-control-transition:opacity .15s ease;--bs-carousel-control-icon-filter:none;--bs-carousel-indicator-width:30px;--bs-carousel-indicator-height:3px;--bs-carousel-indicator-hit-area-height:10px;--bs-carousel-indicator-spacer:3px;--bs-carousel-indicator-opacity:.5;--bs-carousel-indicator-active-bg:var(--bs-white);--bs-carousel-indicator-active-opacity:1;--bs-carousel-indicator-transition:opacity .6s ease;--bs-carousel-caption-width:70%;--bs-carousel-caption-color:var(--bs-white);--bs-carousel-caption-padding-y:1.25rem;--bs-carousel-caption-spacer:1.25rem;--bs-carousel-control-icon-width:2rem;--bs-carousel-control-prev-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>");--bs-carousel-control-next-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>");--bs-carousel-transition-duration:.6s;--bs-carousel-transition:transform .6s ease-in-out;position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;display:flow-root;position:relative;overflow:hidden}.carousel-item{float:inline-start;backface-visibility:hidden;width:100%;transition:var(--bs-carousel-transition);margin-inline-end:-100%;display:none;position:relative}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s var(--bs-carousel-transition-duration)}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{z-index:1;width:var(--bs-carousel-control-width);color:var(--bs-carousel-control-color);text-align:center;filter:var(--bs-carousel-control-icon-filter);opacity:var(--bs-carousel-control-opacity);transition:var(--bs-carousel-control-transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-block:0}@media (prefers-reduced-motion:reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:var(--bs-carousel-control-color);opacity:var(--bs-carousel-control-hover-opacity);outline:0;text-decoration:none}.carousel-control-prev{inset-inline-start:0}.carousel-control-next{inset-inline-end:0}.carousel-control-prev-icon,.carousel-control-next-icon{width:var(--bs-carousel-control-icon-width);height:var(--bs-carousel-control-icon-width);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:inline-block}.carousel-control-prev-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}[dir=rtl] .carousel-control-prev-icon{background-image:var(--bs-carousel-control-next-icon-bg)}.carousel-control-next-icon{background-image:var(--bs-carousel-control-next-icon-bg)}[dir=rtl] .carousel-control-next-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}.carousel-indicators{z-index:2;margin-inline:var(--bs-carousel-control-width);justify-content:center;margin-bottom:1rem;padding:0;display:flex;position:absolute;inset:auto 0 0}.carousel-indicators [data-bs-target]{box-sizing:content-box;width:var(--bs-carousel-indicator-width);height:var(--bs-carousel-indicator-height);margin-inline:var(--bs-carousel-indicator-spacer);text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);border:0;border-block:var(--bs-carousel-indicator-hit-area-height) solid transparent;opacity:var(--bs-carousel-indicator-opacity);transition:var(--bs-carousel-indicator-transition);background-clip:padding-box;flex:0 auto;padding:0}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:var(--bs-carousel-indicator-active-opacity)}.carousel-caption{right:calc((100% - var(--bs-carousel-caption-width)) * .5);bottom:var(--bs-carousel-caption-spacer);left:calc((100% - var(--bs-carousel-caption-width)) * .5);padding-top:var(--bs-carousel-caption-padding-y);padding-bottom:var(--bs-carousel-caption-padding-y);color:var(--bs-carousel-caption-color);text-align:center;position:absolute}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}@media (prefers-color-scheme:dark){:root{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}}[data-vc=calendar]{--bs-datepicker-padding:1rem;--bs-datepicker-bg:var(--bs-bg-body);--bs-datepicker-color:var(--bs-fg-body);--bs-datepicker-border-color:var(--bs-border-color-translucent);--bs-datepicker-border-width:var(--bs-border-width);--bs-datepicker-border-radius:var(--bs-border-radius-lg);--bs-datepicker-box-shadow:var(--bs-box-shadow);--bs-datepicker-font-size:var(--bs-font-size-sm);--bs-datepicker-min-width:280px;--bs-datepicker-zindex:1000;--bs-datepicker-header-font-weight:600;--bs-datepicker-weekday-color:var(--bs-fg-3);--bs-datepicker-day-hover-bg:var(--bs-bg-1);--bs-datepicker-day-selected-bg:var(--bs-primary-bg);--bs-datepicker-day-selected-color:var(--bs-primary-contrast);--bs-datepicker-day-today-bg:var(--bs-bg-2);--bs-datepicker-day-today-color:var(--bs-fg-1);--bs-datepicker-day-disabled-color:var(--bs-fg-4);z-index:var(--bs-datepicker-zindex);box-sizing:border-box;min-width:var(--bs-datepicker-min-width);padding:var(--bs-datepicker-padding);font-family:var(--bs-font-sans-serif);font-size:var(--bs-datepicker-font-size);color:var(--bs-datepicker-color);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background-color:var(--bs-datepicker-bg);border:var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);border-radius:var(--bs-datepicker-border-radius);box-shadow:var(--bs-datepicker-box-shadow);opacity:1;flex-direction:column;display:flex;position:absolute}@media (prefers-color-scheme:dark){[data-vc=calendar]{--lightningcss-light: ;--lightningcss-dark:initial}}[data-vc=calendar][data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-vc=calendar][data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-vc=calendar] button:focus-visible{z-index:1;outline:var(--bs-focus-ring);position:relative}[data-vc-calendar-hidden]{pointer-events:none;opacity:0}[data-vc=calendar]:not([data-vc-input]){width:fit-content;box-shadow:none;border:0;padding:0;position:relative}[data-vc-position=bottom]{margin-block-start:.25rem}[data-vc-position=top]{margin-block-end:-.25rem}[data-vc-arrow]{width:2rem;height:2rem;color:var(--bs-datepicker-color);pointer-events:auto;cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;display:block;position:relative}[data-vc-arrow]:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>");background-position:50%;background-repeat:no-repeat;position:absolute;inset:.25rem}[data-vc-arrow]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-arrow=prev]:before{transform:rotate(90deg)}[data-vc-arrow=next]:before{transform:rotate(-90deg)}[data-vc=controls]{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;padding-top:1rem;padding-left:1rem;padding-right:1rem;display:flex;position:absolute;top:0;left:0;right:0}[data-vc=grid]{flex-wrap:wrap;flex-grow:1;gap:1.75rem;display:flex}[data-vc=column]{flex-direction:column;flex-grow:1;min-width:240px;display:flex}[data-vc=header]{align-items:center;margin-bottom:.75rem;display:flex;position:relative}[data-vc-header=content]{white-space:pre-wrap;flex-grow:1;justify-content:center;align-items:center;display:inline-flex}[data-vc=month],[data-vc=year]{font-size:1rem;font-weight:var(--bs-datepicker-header-font-weight);color:var(--bs-datepicker-color);border-radius:var(--bs-border-radius);background-color:transparent;border:0;margin-inline:-.125rem;padding:.25rem .5rem}[data-vc=month]:disabled,[data-vc=year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc=month]:hover:not(:disabled),[data-vc=year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc=content]{flex-direction:column;flex-grow:1;display:flex}[data-vc=months],[data-vc=years]{grid-template-columns:repeat(var(--bs-vc-columns,4), minmax(0, 1fr));-moz-column-gap:.25rem;flex-grow:1;align-items:center;gap:1rem .25rem;display:grid}[data-vc=years]{--bs-vc-columns:5}[data-vc-months-month],[data-vc-years-year]{height:2.5rem;color:var(--bs-datepicker-weekday-color);text-align:center;word-break:break-all;cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;justify-content:center;align-items:center;padding:.25rem;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc-months-month]:hover:not(:disabled),[data-vc-years-year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-months-month][data-vc-months-month-selected],[data-vc-months-month][data-vc-years-year-selected],[data-vc-years-year][data-vc-months-month-selected],[data-vc-years-year][data-vc-years-year-selected],[data-vc-months-month][data-vc-months-month-selected]:hover,[data-vc-months-month][data-vc-years-year-selected]:hover,[data-vc-years-year][data-vc-months-month-selected]:hover,[data-vc-years-year][data-vc-years-year-selected]:hover{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc=week]{grid-template-columns:repeat(7,1fr);justify-items:center;margin-bottom:.5rem;display:grid}[data-vc-week-day]{width:100%;min-width:1.875rem;color:var(--bs-datepicker-weekday-color);background-color:transparent;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}button[data-vc-week-day]{cursor:pointer}[data-vc=dates]{pointer-events:none}[data-vc-dates=row]{grid-template-columns:repeat(7,1fr);place-items:center;width:100%;display:grid}[data-vc-date]{pointer-events:auto;justify-content:center;align-items:center;width:100%;padding-top:.125rem;padding-bottom:.125rem;display:flex;position:relative}[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date]:not(:has([data-vc-date-btn])){pointer-events:none}[data-vc-date-btn]{width:100%;min-width:1.875rem;height:100%;min-height:1.875rem;color:var(--bs-datepicker-color);cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:400;line-height:1rem;display:flex}[data-vc-date-btn]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-date-today] [data-vc-date-btn]{color:var(--bs-datepicker-day-today-color);background-color:var(--bs-datepicker-day-today-bg);font-weight:600}[data-vc-date-month=next] [data-vc-date-btn],[data-vc-date-month=prev] [data-vc-date-btn]{opacity:.5}[data-vc-date-disabled] [data-vc-date-btn]{color:var(--bs-datepicker-day-disabled-color)}[data-vc-date-hover] [data-vc-date-btn]{background-color:var(--bs-datepicker-day-hover-bg);border-radius:0}[data-vc-date-hover=first] [data-vc-date-btn]{border-start-start-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}[data-vc-date-hover=last] [data-vc-date-btn]{border-start-end-radius:var(--bs-border-radius);border-end-end-radius:var(--bs-border-radius)}[data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}[data-vc-date-selected=middle] [data-vc-date-btn]{opacity:.8;border-radius:0}[data-vc-date-selected] [data-vc-date-btn]{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc-date-selected=first] [data-vc-date-btn]{border-top-left-radius:var(--bs-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bs-border-radius)}[data-vc-date-selected=last] [data-vc-date-btn]{border-top-left-radius:0;border-top-right-radius:var(--bs-border-radius);border-bottom-right-radius:var(--bs-border-radius);border-bottom-left-radius:0}[data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}.dialog-open{scrollbar-gutter:stable;overflow:hidden}.dialog{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--bs-dialog-border-color:var(--bs-border-color-translucent);--bs-dialog-border-width:var(--bs-border-width);--bs-dialog-border-radius:var(--bs-border-radius-lg);--bs-dialog-box-shadow:var(--bs-box-shadow-lg);--bs-dialog-transition-duration:.2s;--bs-dialog-transition-timing:ease-out;--bs-dialog-backdrop-bg:rgba(0,0,0,.5);--bs-dialog-backdrop-blur:8px;--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:.5rem;max-width:var(--bs-dialog-width);max-height:calc(100% - var(--bs-dialog-margin) * 2);color:var(--bs-dialog-color);visibility:hidden;background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);opacity:0;transition:opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), visibility 0s var(--bs-dialog-transition-duration);background-clip:padding-box;margin:auto;padding:0;display:block;position:fixed;inset:0}.dialog[open]{visibility:visible;opacity:1;transition:opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), visibility 0s;transform:none}.dialog.dialog-slide-down{transform:translateY(100vh)}.dialog.dialog-slide-up{transform:translateY(-100vh)}.dialog.dialog-static{transform:scale(1.02)}.dialog.dialog-nonmodal{z-index:1055;margin-inline:0;position:fixed;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.dialog.dialog-overflow{width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--bs-dialog-margin);overscroll-behavior:contain;box-shadow:none;background:0 0;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.dialog.dialog-overflow>.dialog-box{max-width:var(--bs-dialog-width);color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;margin-block-end:var(--bs-dialog-margin);margin-inline:auto}.dialog.dialog-scrollable[open]{max-height:calc(100% - var(--bs-dialog-margin) * 2);flex-direction:column;display:flex}.dialog.dialog-scrollable[open] .dialog-body{overflow-y:auto}.dialog::backdrop{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--bs-dialog-border-color:var(--bs-border-color-translucent);--bs-dialog-border-width:var(--bs-border-width);--bs-dialog-border-radius:var(--bs-border-radius-lg);--bs-dialog-box-shadow:var(--bs-box-shadow-lg);--bs-dialog-transition-duration:.2s;--bs-dialog-transition-timing:ease-out;--bs-dialog-backdrop-bg:rgba(0,0,0,.5);--bs-dialog-backdrop-blur:8px;--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:.5rem;background-color:var(--bs-dialog-backdrop-bg);-webkit-backdrop-filter:blur(var(--bs-dialog-backdrop-blur));backdrop-filter:blur(var(--bs-dialog-backdrop-blur))}@starting-style{.dialog.dialog-slide-down[open]{transform:translateY(-100vh)}.dialog.dialog-slide-up[open]{transform:translateY(100vh)}.dialog::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}}.dialog-sm{--bs-dialog-width:280px}.dialog-lg{--bs-dialog-width:800px}.dialog-xl{--bs-dialog-width:1140px}.dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}@media not (min-width:576px){.sm-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:768px){.md-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1024px){.lg-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1280px){.xl-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1536px){.\32 xl-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dialog-header{padding:var(--bs-dialog-header-padding);border-block-end:var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);flex-shrink:0;align-items:center;display:flex}.dialog-header .btn-close{margin-inline-start:auto}.dialog-title{font-size:var(--bs-font-size-md);margin-bottom:0;line-height:1.5}.dialog-body{padding:var(--bs-dialog-padding);flex:auto;position:relative;overflow-y:auto}.dialog-footer{gap:var(--bs-dialog-footer-gap);padding:var(--bs-dialog-footer-padding);border-block-start:var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.menu{--bs-menu-zindex:1000;--bs-menu-gap:.125rem;--bs-menu-min-width:10rem;--bs-menu-padding-x:.25rem;--bs-menu-padding-y:.25rem;--bs-menu-spacer:.125rem;--bs-menu-font-size:var(--bs-font-size-sm);--bs-menu-color:var(--bs-fg-body);--bs-menu-bg:var(--bs-bg-body);--bs-menu-box-shadow:var(--bs-box-shadow);--bs-menu-divider-bg:var(--bs-border-color-translucent);--bs-menu-divider-margin-y:.125rem;--bs-menu-divider-margin-x:.25rem;--bs-menu-item-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-bg:var(--bs-bg-1);--bs-menu-item-active-color:var(--bs-primary-contrast);--bs-menu-item-active-bg:var(--bs-primary-bg);--bs-menu-item-disabled-color:var(--bs-fg-3);--bs-menu-item-gap:.5rem;--bs-menu-item-padding-x:.75rem;--bs-menu-item-padding-y:.25rem;--bs-menu-item-border-radius:var(--bs-border-radius);--bs-menu-icon-size:1rem;--bs-menu-image-size:1.5rem;--bs-menu-description-font-size:var(--bs-font-size-xs);--bs-menu-check-color:currentcolor;--bs-menu-header-color:var(--bs-fg-3);--bs-menu-header-padding-x:.75rem;--bs-menu-header-padding-y:.25rem;z-index:var(--bs-menu-zindex);gap:var(--bs-menu-gap);min-width:var(--bs-menu-min-width);max-height:var(--bs-menu-max-height,none);padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);overflow-y:var(--bs-menu-overflow-y,initial);overscroll-behavior:contain;font-size:var(--bs-menu-font-size);color:var(--bs-menu-color);text-align:start;background-color:var(--bs-menu-bg);border:var(--bs-menu-border-width,var(--bs-border-width)) solid var(--bs-menu-border-color,var(--bs-border-color-translucent));border-radius:var(--bs-menu-border-radius,var(--bs-border-radius-lg));box-shadow:var(--bs-menu-box-shadow);background-clip:padding-box;flex-direction:column;margin:0;list-style:none;display:none;position:absolute}.menu.show{display:flex}.menu-scrollable{--bs-menu-max-height:80dvh;--bs-menu-overflow-y:auto}.menu-translucent{--bs-menu-item-hover-bg-light:color-mix(in oklch, var(--bs-bg-1) 90%, transparent);--bs-menu-item-hover-bg-dark:color-mix(in oklch, var(--bs-bg-1) 80%, transparent);--bs-menu-item-active-bg-light:color-mix(in oklch, var(--bs-primary-bg) 80%, transparent);--bs-menu-item-active-bg-dark:color-mix(in oklch, var(--bs-primary-bg) 70%, transparent);--bs-menu-item-active-bg:var(--lightningcss-light,var(--bs-menu-item-active-bg-light))var(--lightningcss-dark,var(--bs-menu-item-active-bg-dark));--bs-menu-item-hover-bg:var(--lightningcss-light,var(--bs-menu-item-hover-bg-light))var(--lightningcss-dark,var(--bs-menu-item-hover-bg-dark));background-color:color-mix(in oklch, var(--bs-menu-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.menu-divider{height:0;margin:var(--bs-menu-divider-margin-y) var(--bs-menu-divider-margin-x);border-block-start:1px solid var(--bs-menu-divider-bg);opacity:1;overflow:hidden}.menu-item{gap:var(--bs-menu-item-gap);width:100%;padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-menu-item-font-weight,var(--bs-font-weight-normal));color:var(--bs-theme-text,var(--bs-menu-item-color));text-align:inherit;white-space:nowrap;cursor:pointer;border-radius:var(--bs-menu-item-border-radius,0);background-color:transparent;border:0;outline:0;align-items:center;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus{color:var(--bs-theme-text,var(--bs-menu-item-hover-color));background-color:var(--bs-theme-bg-subtle,var(--bs-menu-item-hover-bg))}.menu-item.active,.menu-item:active{color:var(--bs-theme-contrast,var(--bs-menu-item-active-color));background-color:var(--bs-theme-bg,var(--bs-menu-item-active-bg))}.menu-item.active .menu-item-icon,.menu-item:active .menu-item-icon{color:inherit!important}.menu-item.selected{font-weight:600}.menu-item.disabled,.menu-item:disabled{color:var(--bs-menu-item-disabled-color);pointer-events:none;background-color:transparent}.menu-item-icon{width:var(--bs-menu-icon-size);flex-shrink:0;align-self:flex-start;height:auto;margin-top:.125rem}.menu-image{width:var(--bs-menu-image-size);height:var(--bs-menu-image-size);-o-object-fit:cover;object-fit:cover;border-radius:var(--bs-border-radius-sm)}.menu-item-content{flex-direction:column;flex:1;min-width:fit-content;display:flex}.menu-item-description{font-size:var(--bs-menu-description-font-size);font-weight:var(--bs-font-weight-normal);color:color-mix(in oklch, currentcolor 65%, transparent)}.menu-item-check{color:var(--bs-menu-check-color);visibility:hidden;flex-shrink:0;align-self:flex-start;margin-block-start:.125rem;margin-inline-start:auto}.selected>.menu-item-check{visibility:visible}.menu-header{padding:var(--bs-menu-header-padding-y) var(--bs-menu-header-padding-x);font-size:var(--bs-font-size-sm);color:var(--bs-menu-header-color);white-space:nowrap;margin-bottom:0;display:block}.menu-text{padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);color:var(--bs-fg-2);display:block}.submenu{position:relative}.submenu>.menu-item{justify-content:space-between;align-items:center;display:flex}.submenu>.menu-item:after{content:"";border:.125em solid;border-width:0 .125em .125em 0;flex-shrink:0;width:.375em;height:.375em;margin-inline-start:auto;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu>.menu-item:after{transform:rotate(135deg)}.submenu>.menu{margin-top:calc(-1 * var(--bs-menu-padding-y));top:0}.submenu:hover>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}.submenu:focus-within>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}.submenu.show>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}@media (max-width:575.98px){.submenu:has(.submenu-stacked){position:static}.submenu-stacked{z-index:1;gap:var(--bs-menu-gap);min-width:0;padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);background-color:var(--bs-menu-bg);box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0}.submenu-back{gap:var(--bs-menu-item-gap);padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-font-weight-semibold,600);color:var(--bs-menu-item-color);align-items:center;display:flex}.submenu-back:before{content:"";border:0 solid;border-width:.125em 0 0 .125em;flex-shrink:0;width:.375em;height:.375em;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu-back:before{border-width:0 .125em .125em 0}.submenu-dimmed{pointer-events:none;filter:blur(2px);opacity:.3}}.list-group{--bs-list-group-color:var(--bs-fg-body);--bs-list-group-bg:var(--bs-bg-body);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-fg-2);--bs-list-group-action-hover-color:var(--bs-fg-1);--bs-list-group-action-hover-bg:var(--bs-bg-1);--bs-list-group-action-active-color:var(--bs-fg-body);--bs-list-group-action-active-bg:var(--bs-bg-2);--bs-list-group-disabled-color:var(--bs-fg-3);--bs-list-group-disabled-bg:var(--bs-bg-body);--bs-list-group-active-color:var(--bs-primary-contrast);--bs-list-group-active-bg:var(--bs-primary-bg);--bs-list-group-active-border-color:var(--bs-primary-bg);border-radius:var(--bs-list-group-border-radius);flex-direction:column;margin-bottom:0;padding-inline-start:0;display:flex}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-theme-text,var(--bs-list-group-color));background-color:var(--bs-theme-bg-subtle,var(--bs-list-group-bg));border:var(--bs-list-group-border-width) solid var(--bs-theme-border,var(--bs-list-group-border-color));display:block;position:relative}.list-group-item:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.list-group-item:last-child{border-end-end-radius:inherit;border-end-start-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-block-start-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-block-start-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-theme-text,var(--bs-list-group-action-color));text-align:inherit;text-decoration:none}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-hover-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-hover-bg));text-decoration:none}.list-group-item-action:not(.active):active{color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-active-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-active-bg))}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}@media (min-width:576px){.sm\:list-group-horizontal{flex-direction:row}.sm\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.sm\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.sm\:list-group-horizontal>.list-group-item.active{margin-top:0}.sm\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.sm\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:768px){.md\:list-group-horizontal{flex-direction:row}.md\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.md\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.md\:list-group-horizontal>.list-group-item.active{margin-top:0}.md\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.md\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1024px){.lg\:list-group-horizontal{flex-direction:row}.lg\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.lg\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.lg\:list-group-horizontal>.list-group-item.active{margin-top:0}.lg\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.lg\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1280px){.xl\:list-group-horizontal{flex-direction:row}.xl\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.xl\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.xl\:list-group-horizontal>.list-group-item.active{margin-top:0}.xl\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.xl\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1536px){.\32 xl\:list-group-horizontal{flex-direction:row}.\32 xl\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.\32 xl\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.\32 xl\:list-group-horizontal>.list-group-item.active{margin-top:0}.\32 xl\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.\32 xl\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-block-end-width:0}.nav{--bs-nav-gap:.125rem;--bs-nav-link-gap:.5rem;--bs-nav-link-align:center;--bs-nav-link-justify:center;--bs-nav-link-padding-x:.75rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-fg-2);--bs-nav-link-hover-color:var(--bs-fg-1);--bs-nav-link-hover-bg:var(--bs-bg-1);--bs-nav-link-active-color:var(--bs-fg-body);--bs-nav-link-active-bg:var(--bs-bg-2);--bs-nav-link-disabled-color:var(--bs-fg-4);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-transition-property:color, background-color, border-color;--bs-nav-link-transition-timing:.15s ease-in-out;--bs-nav-link-transition:var(--bs-nav-link-transition-property) var(--bs-nav-link-transition-timing);gap:var(--bs-nav-gap);flex-wrap:wrap;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.nav-item{display:flex}.nav-link{gap:var(--bs-nav-link-gap);align-items:var(--bs-nav-link-align);justify-content:var(--bs-nav-link-justify);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);white-space:nowrap;border:var(--bs-nav-link-border-width) solid transparent;border-radius:var(--bs-border-radius);transition:var(--bs-nav-link-transition);background:0 0;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color);background-color:var(--bs-nav-link-hover-bg)}.nav-link:focus-visible{--bs-focus-ring-offset:1px;color:var(--bs-nav-link-hover-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.nav-link.active,.nav-link:active{color:var(--bs-nav-link-active-color);background-color:var(--bs-nav-link-active-bg)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-border-subtle);--bs-nav-tabs-link-active-color:var(--bs-fg-color);--bs-nav-tabs-link-active-bg:var(--bs-bg-body);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);box-shadow:inset 0 calc(-1 * var(--bs-nav-tabs-border-width)) 0 var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-bottom-color:var(--bs-nav-tabs-border-color);border-end-end-radius:0;border-end-start-radius:0}.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color);border-bottom-color:var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);border-bottom-color:var(--bs-nav-tabs-link-active-bg)}.nav-tabs .menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-start-start-radius:0;border-start-end-radius:0}.nav-pills{--bs-nav-pills-link-active-color:var(--bs-primary-contrast);--bs-nav-pills-link-active-bg:var(--bs-primary-bg)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-gap:1rem;--bs-nav-link-active-bg:transparent;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-fg-color)}.nav-underline .nav-link{border:0;border-block-end:var(--bs-nav-underline-border-width) solid transparent;border-radius:0;padding-inline:0}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-block-end-color:currentColor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{color:var(--bs-nav-underline-link-active-color);border-block-end-color:currentColor;font-weight:700}.nav-fill>.nav-link,.nav-fill .nav-item{text-align:center;flex:auto}.nav-justified>.nav-link,.nav-justified .nav-item{text-align:center;flex-grow:1;flex-basis:0}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-overflow{flex-wrap:nowrap;min-width:0}.nav-overflow-item{flex-shrink:0;margin-inline-start:auto}.nav-overflow [data-bs-nav-overflow=true]{display:none}.nav-overflow-keep{flex-shrink:0}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:var(--bs-fg-2);--bs-navbar-hover-color:var(--bs-fg-1);--bs-navbar-disabled-color:var(--bs-fg-3);--bs-navbar-active-color:var(--bs-fg-body);--bs-navbar-brand-padding-y:.75rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:var(--bs-font-size-md);--bs-navbar-brand-font-weight:var(--bs-font-weight-medium);--bs-navbar-brand-color:var(--bs-fg-body);--bs-navbar-brand-hover-color:var(--bs-fg-body);--bs-navbar-nav-link-padding-x:.75rem;--bs-navbar-toggler-width:2rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:var(--bs-font-size-lg);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);color:var(--bs-navbar-color,var(--bs-fg-body));background-color:var(--bs-navbar-bg,var(--bs-bg-body));flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:relative;container-type:inline-size}.navbar>.\32 xl\:container,.navbar>.xl\:container,.navbar>.lg\:container,.navbar>.md\:container,.navbar>.sm\:container,.navbar>.container,.navbar>.container-fluid{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);font-size:var(--bs-navbar-brand-font-size);font-weight:var(--bs-navbar-brand-font-weight);color:var(--bs-navbar-brand-color);white-space:nowrap;margin-inline-end:var(--bs-navbar-brand-margin-end);text-decoration:none}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-gap:.25rem;--bs-nav-link-gap:.5rem;--bs-nav-link-padding-x:.5rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-hover-bg:transparent;--bs-nav-link-active-color:var(--bs-navbar-active-color);--bs-nav-link-active-bg:transparent;--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);gap:var(--bs-nav-gap);flex-direction:column;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color);border:var(--bs-nav-link-border-width) solid var(--bs-nav-link-border-color,transparent)}.navbar-text{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-toggler{--bs-btn-bg:transparent;--bs-btn-hover-bg:var(--bs-bg-2)}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand .navbar-toggler{display:none!important}.navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;display:flex!important;transform:none!important}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}@container (width>=576px){.sm\:navbar-expand>.container,.sm\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.sm\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.sm\:navbar-expand .navbar-toggler{display:none!important}.sm\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;display:flex!important;transform:none!important}.sm\:navbar-expand .offcanvas .offcanvas-header{display:none}.sm\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=768px){.md\:navbar-expand>.container,.md\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.md\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.md\:navbar-expand .navbar-toggler{display:none!important}.md\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;display:flex!important;transform:none!important}.md\:navbar-expand .offcanvas .offcanvas-header{display:none}.md\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1024px){.lg\:navbar-expand>.container,.lg\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.lg\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.lg\:navbar-expand .navbar-toggler{display:none!important}.lg\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;display:flex!important;transform:none!important}.lg\:navbar-expand .offcanvas .offcanvas-header{display:none}.lg\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1280px){.xl\:navbar-expand>.container,.xl\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.xl\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.xl\:navbar-expand .navbar-toggler{display:none!important}.xl\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;display:flex!important;transform:none!important}.xl\:navbar-expand .offcanvas .offcanvas-header{display:none}.xl\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1536px){.\32 xl\:navbar-expand>.container,.\32 xl\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.\32 xl\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.\32 xl\:navbar-expand .navbar-toggler{display:none!important}.\32 xl\:navbar-expand .offcanvas{z-index:auto;box-shadow:none;flex-grow:1;transition:none;position:static;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;display:flex!important;transform:none!important}.\32 xl\:navbar-expand .offcanvas .offcanvas-header{display:none}.\32 xl\:navbar-expand .offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible}}.navbar .offcanvas:not([open]){transition:none!important}.navbar-translucent{background-color:transparent;position:relative}.navbar-translucent:before{z-index:-1;content:"";background-color:color-mix(in oklch, var(--bs-navbar-bg,var(--bs-bg-body)) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%);background-image:none;position:absolute;inset:0}.navbar[data-bs-theme=dark]{--bs-navbar-color:color-mix(in oklch, var(--bs-white) .55, transparent);--bs-navbar-hover-color:color-mix(in oklch, var(--bs-white) .75, transparent);--bs-navbar-disabled-color:color-mix(in oklch, var(--bs-white) .25, transparent);--bs-navbar-active-color:var(--bs-white);--bs-navbar-brand-color:var(--bs-white);--bs-navbar-brand-hover-color:var(--bs-white);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-white) .1, transparent)}@media not (min-width:576px){.sm\:offcanvas{width:auto;height:auto;z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.sm\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(-100% - var(--bs-offcanvas-inset)));inset-inline-start:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .sm\:offcanvas:where(.offcanvas-start){transform:translateX(calc(100% + var(--bs-offcanvas-inset)))}.sm\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(100% + var(--bs-offcanvas-inset)));inset-inline-end:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .sm\:offcanvas:where(.offcanvas-end){transform:translateX(calc(-100% - var(--bs-offcanvas-inset)))}.sm\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(calc(-100% - var(--bs-offcanvas-inset)))}.sm\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.sm\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.sm\:offcanvas[open]{visibility:visible;transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;transform:none}}@media (min-width:576px){.sm\:offcanvas{z-index:auto;--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}.sm\:offcanvas .offcanvas-header{display:none}.sm\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:768px){.md\:offcanvas{width:auto;height:auto;z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.md\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(-100% - var(--bs-offcanvas-inset)));inset-inline-start:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .md\:offcanvas:where(.offcanvas-start){transform:translateX(calc(100% + var(--bs-offcanvas-inset)))}.md\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(100% + var(--bs-offcanvas-inset)));inset-inline-end:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .md\:offcanvas:where(.offcanvas-end){transform:translateX(calc(-100% - var(--bs-offcanvas-inset)))}.md\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(calc(-100% - var(--bs-offcanvas-inset)))}.md\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.md\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.md\:offcanvas[open]{visibility:visible;transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;transform:none}}@media (min-width:768px){.md\:offcanvas{z-index:auto;--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}.md\:offcanvas .offcanvas-header{display:none}.md\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1024px){.lg\:offcanvas{width:auto;height:auto;z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.lg\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(-100% - var(--bs-offcanvas-inset)));inset-inline-start:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .lg\:offcanvas:where(.offcanvas-start){transform:translateX(calc(100% + var(--bs-offcanvas-inset)))}.lg\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(100% + var(--bs-offcanvas-inset)));inset-inline-end:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .lg\:offcanvas:where(.offcanvas-end){transform:translateX(calc(-100% - var(--bs-offcanvas-inset)))}.lg\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(calc(-100% - var(--bs-offcanvas-inset)))}.lg\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.lg\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.lg\:offcanvas[open]{visibility:visible;transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;transform:none}}@media (min-width:1024px){.lg\:offcanvas{z-index:auto;--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}.lg\:offcanvas .offcanvas-header{display:none}.lg\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1280px){.xl\:offcanvas{width:auto;height:auto;z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.xl\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(-100% - var(--bs-offcanvas-inset)));inset-inline-start:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .xl\:offcanvas:where(.offcanvas-start){transform:translateX(calc(100% + var(--bs-offcanvas-inset)))}.xl\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(100% + var(--bs-offcanvas-inset)));inset-inline-end:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .xl\:offcanvas:where(.offcanvas-end){transform:translateX(calc(-100% - var(--bs-offcanvas-inset)))}.xl\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(calc(-100% - var(--bs-offcanvas-inset)))}.xl\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.xl\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.xl\:offcanvas[open]{visibility:visible;transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;transform:none}}@media (min-width:1280px){.xl\:offcanvas{z-index:auto;--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}.xl\:offcanvas .offcanvas-header{display:none}.xl\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1536px){.\32 xl\:offcanvas{width:auto;height:auto;z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.\32 xl\:offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(-100% - var(--bs-offcanvas-inset)));inset-inline-start:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .\32 xl\:offcanvas:where(.offcanvas-start){transform:translateX(calc(100% + var(--bs-offcanvas-inset)))}.\32 xl\:offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(100% + var(--bs-offcanvas-inset)));inset-inline-end:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .\32 xl\:offcanvas:where(.offcanvas-end){transform:translateX(calc(-100% - var(--bs-offcanvas-inset)))}.\32 xl\:offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(calc(-100% - var(--bs-offcanvas-inset)))}.\32 xl\:offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.\32 xl\:offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.\32 xl\:offcanvas[open]{visibility:visible;transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;transform:none}}@media (min-width:1536px){.\32 xl\:offcanvas{z-index:auto;--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}.\32 xl\:offcanvas .offcanvas-header{display:none}.\32 xl\:offcanvas .offcanvas-body{flex-direction:row;flex-grow:0;align-items:center;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}.offcanvas{width:auto;height:auto;z-index:var(--bs-offcanvas-zindex);max-width:calc(100% - var(--bs-offcanvas-inset) * 2);max-height:calc(100% - var(--bs-offcanvas-inset) * 2);color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);border:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);border-radius:var(--bs-offcanvas-border-radius);box-shadow:var(--bs-offcanvas-box-shadow);transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s var(--bs-offcanvas-transition-duration);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.offcanvas:where(.offcanvas-start){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(-100% - var(--bs-offcanvas-inset)));inset-inline-start:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas:where(.offcanvas-start){transform:translateX(calc(100% + var(--bs-offcanvas-inset)))}.offcanvas:where(.offcanvas-end){inset-block:var(--bs-offcanvas-inset);width:var(--bs-offcanvas-width);transform:translateX(calc(100% + var(--bs-offcanvas-inset)));inset-inline-end:var(--bs-offcanvas-inset)}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .offcanvas:where(.offcanvas-end){transform:translateX(calc(-100% - var(--bs-offcanvas-inset)))}.offcanvas:where(.offcanvas-top){inset:var(--bs-offcanvas-inset) var(--bs-offcanvas-inset) auto;height:var(--bs-offcanvas-height);transform:translateY(calc(-100% - var(--bs-offcanvas-inset)))}.offcanvas:where(.offcanvas-bottom){inset:auto var(--bs-offcanvas-inset) var(--bs-offcanvas-inset);height:var(--bs-offcanvas-height);transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.offcanvas:where(.offcanvas-fullscreen){inset:var(--bs-offcanvas-inset);width:auto;max-width:none;height:auto;max-height:none;transform:translateY(calc(100% + var(--bs-offcanvas-inset)))}.offcanvas[open]{visibility:visible;transition:transform var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), visibility 0s;transform:none}.sm\:offcanvas::backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing)}.md\:offcanvas::backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing)}.lg\:offcanvas::backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing)}.xl\:offcanvas::backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing)}.\32 xl\:offcanvas::backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing)}.offcanvas::backdrop{--bs-offcanvas-backdrop-bg:var(--bs-bg-body);--bs-offcanvas-backdrop-opacity:25%;--bs-offcanvas-backdrop-blur:8px;--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-offcanvas-backdrop-bg) var(--bs-offcanvas-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));backdrop-filter:blur(var(--bs-offcanvas-backdrop-blur));transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing);transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete;transition:background-color var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing), display var(--bs-offcanvas-transition-duration) allow-discrete, overlay var(--bs-offcanvas-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-offcanvas-transition-duration) var(--bs-offcanvas-transition-timing)}@starting-style{.sm\:offcanvas::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.md\:offcanvas::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.lg\:offcanvas::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.xl\:offcanvas::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.\32 xl\:offcanvas::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.offcanvas::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}}.offcanvas-translucent{background-color:color-mix(in oklch, var(--bs-offcanvas-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.offcanvas-static{transform:scale(1.02)}.offcanvas-header{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);align-items:center;display:flex}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-inline-start:auto;margin-inline-end:calc(-.5 * var(--bs-offcanvas-padding-x));margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{line-height:var(--bs-offcanvas-title-line-height);margin-bottom:0}.offcanvas-body{gap:var(--bs-offcanvas-padding-y);padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.offcanvas-footer{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);border-block-start:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.offcanvas-fit-content{inset-block-end:auto}.pagination{--bs-pagination-min-height:var(--bs-btn-input-min-height);--bs-pagination-padding-x:var(--bs-btn-input-padding-x);--bs-pagination-padding-y:var(--bs-btn-input-padding-y);--bs-pagination-font-size:var(--bs-btn-input-font-size);--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-bg-body);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-btn-input-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-bg-1);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-bg-2);--bs-pagination-active-color:var(--bs-primary-contrast);--bs-pagination-active-bg:var(--bs-primary-bg);--bs-pagination-active-border-color:var(--bs-primary-bg);--bs-pagination-disabled-color:var(--bs-fg-3);--bs-pagination-disabled-bg:var(--bs-bg-2);--bs-pagination-disabled-border-color:var(--bs-border-color);padding-inline-start:0;list-style:none;display:flex}.page-link{min-height:var(--bs-pagination-min-height);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);justify-content:center;align-items:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus-visible{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-inline-start:calc(-1 * var(--bs-pagination-border-width))}.page-item:first-child .page-link{border-start-start-radius:var(--bs-pagination-border-radius);border-end-start-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-start-end-radius:var(--bs-pagination-border-radius);border-end-end-radius:var(--bs-pagination-border-radius)}.pagination-sm{--bs-pagination-min-height:var(--bs-btn-input-sm-min-height);--bs-pagination-padding-y:var(--bs-btn-input-sm-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-sm-padding-x);--bs-pagination-font-size:var(--bs-btn-input-sm-font-size);--bs-pagination-border-radius:var(--bs-btn-input-sm-border-radius)}.pagination-lg{--bs-pagination-min-height:var(--bs-btn-input-lg-min-height);--bs-pagination-padding-y:var(--bs-btn-input-lg-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-lg-padding-x);--bs-pagination-font-size:var(--bs-btn-input-lg-font-size);--bs-pagination-border-radius:var(--bs-btn-input-lg-border-radius)}.placeholder{--bs-placeholder-opacity-max:.5;--bs-placeholder-opacity-min:.2;vertical-align:middle;cursor:wait;min-height:1em;opacity:var(--bs-placeholder-opacity-max);background-color:currentColor;display:inline-block}.placeholder.btn:before{content:"";display:inline-block}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:2s ease-in-out infinite placeholder-glow}@keyframes placeholder-glow{50%{opacity:var(--bs-placeholder-opacity-min)}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);animation:2s linear infinite placeholder-wave;mask-size:200% 100%}@keyframes placeholder-wave{to{mask-position:-200% 0}}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:280px;--bs-popover-font-size:var(--bs-font-size-sm);--bs-popover-bg:var(--bs-bg-body);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.75rem;--bs-popover-header-font-size:var(--bs-font-size-sm);--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-bg-1);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:.75rem;--bs-popover-body-color:var(--bs-fg-body);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);max-width:var(--bs-popover-max-width);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow);background-clip:padding-box;text-decoration:none;display:block}.popover .popover-arrow{width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height);display:block}.popover .popover-arrow:before,.popover .popover-arrow:after{content:"";border:0 solid transparent;display:block;position:absolute}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:before{border-block-start-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-block-start-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:before{border-inline-end-color:var(--bs-popover-arrow-border);left:0}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-inline-end-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:before{border-block-end-color:var(--bs-popover-arrow-border);top:0}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-block-end-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-bs-placement^=bottom] .popover-header:before{width:var(--bs-popover-arrow-width);content:"";border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);margin-inline-start:calc(-.5 * var(--bs-popover-arrow-width));display:block;position:absolute;top:0;left:50%}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:before{border-inline-start-color:var(--bs-popover-arrow-border);right:0}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-inline-start-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-start-start-radius:var(--bs-popover-inner-border-radius);border-start-end-radius:var(--bs-popover-inner-border-radius);margin-bottom:0}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:var(--bs-font-size-sm);--bs-progress-bg:var(--bs-bg-2);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:var(--bs-white);--bs-progress-bar-bg:var(--bs-primary-bg);--bs-progress-bar-transition:width .6s ease;--bs-progress-bar-animation:progress-bar-stripes 1s linear infinite;height:var(--bs-progress-height);font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);display:flex;overflow:hidden}.progress-bar{color:var(--bs-theme-contrast,var(--bs-progress-bar-color));text-align:center;white-space:nowrap;background-color:var(--bs-theme-bg,var(--bs-progress-bar-bg));transition:var(--bs-progress-bar-transition);flex-direction:column;justify-content:center;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25% 50%,rgba(255,255,255,.15) 50% 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:var(--bs-progress-bar-animation)}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.spinner-grow,.spinner-border{width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;flex-shrink:0;display:inline-block}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-inline-end-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;opacity:0;background-color:currentColor}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.stepper{--bs-stepper-size:2rem;--bs-stepper-gap:1rem;--bs-stepper-font-size:var(--bs-font-size-sm);--bs-stepper-text-gap:.5rem;--bs-stepper-track-size:.125rem;--bs-stepper-bg:var(--bs-bg-2);--bs-stepper-active-color:var(--bs-primary-contrast);--bs-stepper-active-bg:var(--bs-primary-bg);gap:var(--bs-stepper-gap);counter-reset:stepper;grid-auto-rows:1fr;grid-auto-flow:row;padding-inline-start:0;list-style:none;display:grid}.stepper-item{grid-template-rows:auto;grid-template-columns:var(--bs-stepper-size) auto;gap:var(--bs-stepper-text-gap);align-items:var(--bs-stepper-align-items,center);text-decoration:none;display:grid;position:relative}.stepper-item:before{z-index:1;width:var(--bs-stepper-size);height:var(--bs-stepper-size);font-size:var(--bs-stepper-font-size);text-align:center;content:counter(stepper);counter-increment:stepper;background-color:var(--bs-stepper-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;font-weight:600;line-height:1;display:flex;position:relative}.stepper-item:after{width:var(--bs-stepper-track-size);height:calc(100% + var(--bs-stepper-gap));content:"";background-color:var(--bs-stepper-bg);position:absolute;inset-block:50% 100%;inset-inline-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5)}.stepper-item:last-child:after{display:none}.stepper-item.active:before,.stepper-item.active:after{color:var(--bs-theme-contrast,var(--bs-stepper-active-color));background-color:var(--bs-theme-bg,var(--bs-stepper-active-bg))}.stepper-item.active:not(:has(+.stepper-item.active)):after{background-color:var(--bs-stepper-bg)}.stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal .stepper-item:last-child:after{right:100%}@container (width>=576px){.sm\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.sm\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.sm\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.sm\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=768px){.md\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.md\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.md\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.md\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1024px){.lg\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.lg\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.lg\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.lg\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1280px){.xl\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.xl\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.xl\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.xl\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1536px){.\32 xl\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.\32 xl\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.\32 xl\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.\32 xl\:stepper-horizontal .stepper-item:last-child:after{right:100%}}.stepper-overflow{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto;container-type:inline-size}.stepper-overflow>.stepper{width:max-content;min-width:100%}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-fg-3);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius);background-clip:padding-box}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;z-index:var(--bs-toast-zindex);pointer-events:none;width:max-content;max-width:100%;position:absolute}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);border-block-end:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);background-clip:padding-box;border-start-start-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-start-end-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));align-items:center;display:flex}.toast-header .btn-close{margin-inline-start:var(--bs-toast-padding-x);margin-inline-end:calc(-.5 * var(--bs-toast-padding-x))}.toast-translucent{-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}}@layer custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (min-width:576px){.sm\:sticky-top{z-index:1020;position:sticky;top:0}.sm\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:768px){.md\:sticky-top{z-index:1020;position:sticky;top:0}.md\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1024px){.lg\:sticky-top{z-index:1020;position:sticky;top:0}.lg\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1280px){.xl\:sticky-top{z-index:1020;position:sticky;top:0}.xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1536px){.\32 xl\:sticky-top{z-index:1020;position:sticky;top:0}.\32 xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.sm\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.sm\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.md\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.md\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.lg\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.lg\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.\32 xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.\32 xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-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}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self: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 stretch}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:1rem}.mx-4{margin-inline:1.5rem}.mx-5{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:1rem}.my-4{margin-block:1.5rem}.my-5{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:1rem}.mt-4{margin-block-start:1.5rem}.mt-5{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:1rem}.me-4{margin-inline-end:1.5rem}.me-5{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:1rem}.mb-4{margin-block-end:1.5rem}.mb-5{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:1rem}.ms-4{margin-inline-start:1.5rem}.ms-5{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:1rem}.px-4{padding-inline:1.5rem}.px-5{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:1rem}.py-4{padding-block:1.5rem}.py-5{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:1rem}.pt-4{padding-block-start:1.5rem}.pt-5{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:1rem}.pe-4{padding-inline-end:1.5rem}.pe-5{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:1rem}.pb-4{padding-block-end:1.5rem}.pb-5{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:1rem}.ps-4{padding-inline-start:1.5rem}.ps-5{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:1rem}.row-gap-4{row-gap:1.5rem}.row-gap-5{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400))}.underline-accent{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400))}.underline-danger{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400))}.underline-warning{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400))}.underline-info{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400))}.underline-inverse{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200))}.underline-secondary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{-webkit-text-decoration-color:var(--bs-link-color);text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-text{-webkit-user-select:text;user-select:text}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (min-width:576px){.sm\:float-start{float:inline-start}.sm\:float-end{float:inline-end}.sm\:float-none{float:none}.sm\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-fit-none{-o-object-fit:none;object-fit:none}.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-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\:justify-self-start{justify-self:flex-start}.sm\:justify-self-end{justify-self:flex-end}.sm\:justify-self-center{justify-self:center}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self: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 stretch}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.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-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:1rem}.sm\:m-4{margin:1.5rem}.sm\:m-5{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:1rem}.sm\:mx-4{margin-inline:1.5rem}.sm\:mx-5{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:1rem}.sm\:my-4{margin-block:1.5rem}.sm\:my-5{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:1rem}.sm\:mt-4{margin-block-start:1.5rem}.sm\:mt-5{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:1rem}.sm\:me-4{margin-inline-end:1.5rem}.sm\:me-5{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:1rem}.sm\:mb-4{margin-block-end:1.5rem}.sm\:mb-5{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:1rem}.sm\:ms-4{margin-inline-start:1.5rem}.sm\:ms-5{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:1rem}.sm\:p-4{padding:1.5rem}.sm\:p-5{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:1rem}.sm\:px-4{padding-inline:1.5rem}.sm\:px-5{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:1rem}.sm\:py-4{padding-block:1.5rem}.sm\:py-5{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:1rem}.sm\:pt-4{padding-block-start:1.5rem}.sm\:pt-5{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:1rem}.sm\:pe-4{padding-inline-end:1.5rem}.sm\:pe-5{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:1rem}.sm\:pb-4{padding-block-end:1.5rem}.sm\:pb-5{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:1rem}.sm\:ps-4{padding-inline-start:1.5rem}.sm\:ps-5{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:1rem}.sm\:gap-4{gap:1.5rem}.sm\:gap-5{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:1rem}.sm\:row-gap-4{row-gap:1.5rem}.sm\:row-gap-5{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.sm\:text-start{text-align:start}.sm\:text-end{text-align:end}.sm\:text-center{text-align:center}}@media (min-width:768px){.md\:float-start{float:inline-start}.md\:float-end{float:inline-end}.md\:float-none{float:none}.md\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.md\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.md\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-fit-none{-o-object-fit:none;object-fit:none}.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-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\:justify-self-start{justify-self:flex-start}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-center{justify-self:center}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self: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 stretch}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.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-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:1rem}.md\:m-4{margin:1.5rem}.md\:m-5{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:1rem}.md\:mx-4{margin-inline:1.5rem}.md\:mx-5{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:1rem}.md\:my-4{margin-block:1.5rem}.md\:my-5{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:1rem}.md\:mt-4{margin-block-start:1.5rem}.md\:mt-5{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:1rem}.md\:me-4{margin-inline-end:1.5rem}.md\:me-5{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:1rem}.md\:mb-4{margin-block-end:1.5rem}.md\:mb-5{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:1rem}.md\:ms-4{margin-inline-start:1.5rem}.md\:ms-5{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:1rem}.md\:p-4{padding:1.5rem}.md\:p-5{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:1rem}.md\:px-4{padding-inline:1.5rem}.md\:px-5{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:1rem}.md\:py-4{padding-block:1.5rem}.md\:py-5{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:1rem}.md\:pt-4{padding-block-start:1.5rem}.md\:pt-5{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:1rem}.md\:pe-4{padding-inline-end:1.5rem}.md\:pe-5{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:1rem}.md\:pb-4{padding-block-end:1.5rem}.md\:pb-5{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:1rem}.md\:ps-4{padding-inline-start:1.5rem}.md\:ps-5{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:1rem}.md\:gap-4{gap:1.5rem}.md\:gap-5{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:1rem}.md\:row-gap-4{row-gap:1.5rem}.md\:row-gap-5{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.md\:text-start{text-align:start}.md\:text-end{text-align:end}.md\:text-center{text-align:center}}@media (min-width:1024px){.lg\:float-start{float:inline-start}.lg\:float-end{float:inline-end}.lg\:float-none{float:none}.lg\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-fit-none{-o-object-fit:none;object-fit:none}.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-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\:justify-self-start{justify-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-center{justify-self:center}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self: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 stretch}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.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-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:1rem}.lg\:m-4{margin:1.5rem}.lg\:m-5{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:1rem}.lg\:mx-4{margin-inline:1.5rem}.lg\:mx-5{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:1rem}.lg\:my-4{margin-block:1.5rem}.lg\:my-5{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:1rem}.lg\:mt-4{margin-block-start:1.5rem}.lg\:mt-5{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:1rem}.lg\:me-4{margin-inline-end:1.5rem}.lg\:me-5{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:1rem}.lg\:mb-4{margin-block-end:1.5rem}.lg\:mb-5{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:1rem}.lg\:ms-4{margin-inline-start:1.5rem}.lg\:ms-5{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:1rem}.lg\:p-4{padding:1.5rem}.lg\:p-5{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:1rem}.lg\:px-4{padding-inline:1.5rem}.lg\:px-5{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:1rem}.lg\:py-4{padding-block:1.5rem}.lg\:py-5{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:1rem}.lg\:pt-4{padding-block-start:1.5rem}.lg\:pt-5{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:1rem}.lg\:pe-4{padding-inline-end:1.5rem}.lg\:pe-5{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:1rem}.lg\:pb-4{padding-block-end:1.5rem}.lg\:pb-5{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:1rem}.lg\:ps-4{padding-inline-start:1.5rem}.lg\:ps-5{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:1rem}.lg\:gap-4{gap:1.5rem}.lg\:gap-5{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:1rem}.lg\:row-gap-4{row-gap:1.5rem}.lg\:row-gap-5{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.lg\:text-start{text-align:start}.lg\:text-end{text-align:end}.lg\:text-center{text-align:center}}@media (min-width:1280px){.xl\:float-start{float:inline-start}.xl\:float-end{float:inline-end}.xl\:float-none{float:none}.xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-fit-none{-o-object-fit:none;object-fit:none}.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-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\:justify-self-start{justify-self:flex-start}.xl\:justify-self-end{justify-self:flex-end}.xl\:justify-self-center{justify-self:center}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self: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 stretch}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.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-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:1rem}.xl\:m-4{margin:1.5rem}.xl\:m-5{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:1rem}.xl\:mx-4{margin-inline:1.5rem}.xl\:mx-5{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:1rem}.xl\:my-4{margin-block:1.5rem}.xl\:my-5{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:1rem}.xl\:mt-4{margin-block-start:1.5rem}.xl\:mt-5{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:1rem}.xl\:me-4{margin-inline-end:1.5rem}.xl\:me-5{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:1rem}.xl\:mb-4{margin-block-end:1.5rem}.xl\:mb-5{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:1rem}.xl\:ms-4{margin-inline-start:1.5rem}.xl\:ms-5{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:1rem}.xl\:p-4{padding:1.5rem}.xl\:p-5{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:1rem}.xl\:px-4{padding-inline:1.5rem}.xl\:px-5{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:1rem}.xl\:py-4{padding-block:1.5rem}.xl\:py-5{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:1rem}.xl\:pt-4{padding-block-start:1.5rem}.xl\:pt-5{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:1rem}.xl\:pe-4{padding-inline-end:1.5rem}.xl\:pe-5{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:1rem}.xl\:pb-4{padding-block-end:1.5rem}.xl\:pb-5{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:1rem}.xl\:ps-4{padding-inline-start:1.5rem}.xl\:ps-5{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:1rem}.xl\:gap-4{gap:1.5rem}.xl\:gap-5{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:1rem}.xl\:row-gap-4{row-gap:1.5rem}.xl\:row-gap-5{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.xl\:text-start{text-align:start}.xl\:text-end{text-align:end}.xl\:text-center{text-align:center}}@media (min-width:1536px){.\32 xl\:float-start{float:inline-start}.\32 xl\:float-end{float:inline-end}.\32 xl\:float-none{float:none}.\32 xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.\32 xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.\32 xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.\32 xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.\32 xl\:object-fit-none{-o-object-fit:none;object-fit:none}.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:justify-self-start{justify-self:flex-start}.\32 xl\:justify-self-end{justify-self:flex-end}.\32 xl\:justify-self-center{justify-self:center}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:1rem}.\32 xl\:m-4{margin:1.5rem}.\32 xl\:m-5{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:1rem}.\32 xl\:mx-4{margin-inline:1.5rem}.\32 xl\:mx-5{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:1rem}.\32 xl\:my-4{margin-block:1.5rem}.\32 xl\:my-5{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:1rem}.\32 xl\:mt-4{margin-block-start:1.5rem}.\32 xl\:mt-5{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:1rem}.\32 xl\:me-4{margin-inline-end:1.5rem}.\32 xl\:me-5{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:1rem}.\32 xl\:mb-4{margin-block-end:1.5rem}.\32 xl\:mb-5{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:1rem}.\32 xl\:ms-4{margin-inline-start:1.5rem}.\32 xl\:ms-5{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:1rem}.\32 xl\:p-4{padding:1.5rem}.\32 xl\:p-5{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:1rem}.\32 xl\:px-4{padding-inline:1.5rem}.\32 xl\:px-5{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:1rem}.\32 xl\:py-4{padding-block:1.5rem}.\32 xl\:py-5{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:1rem}.\32 xl\:pt-4{padding-block-start:1.5rem}.\32 xl\:pt-5{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:1rem}.\32 xl\:pe-4{padding-inline-end:1.5rem}.\32 xl\:pe-5{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:1rem}.\32 xl\:pb-4{padding-block-end:1.5rem}.\32 xl\:pb-5{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:1rem}.\32 xl\:ps-4{padding-inline-start:1.5rem}.\32 xl\:ps-5{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:1rem}.\32 xl\:gap-4{gap:1.5rem}.\32 xl\:gap-5{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:1rem}.\32 xl\:row-gap-4{row-gap:1.5rem}.\32 xl\:row-gap-5{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-4{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-5{-moz-column-gap:3rem;column-gap:3rem}.\32 xl\:text-start{text-align:start}.\32 xl\:text-end{text-align:end}.\32 xl\:text-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.offcanvas,.\32 xl\:offcanvas,.xl\:offcanvas,.lg\:offcanvas,.md\:offcanvas,.sm\:offcanvas{--bs-offcanvas-inset:var(--bs-spacer);--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:var(--bs-spacer);--bs-offcanvas-padding-y:var(--bs-spacer);--bs-offcanvas-color:var(--bs-fg-body);--bs-offcanvas-bg:var(--bs-bg-body);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-border-radius:var(--bs-border-radius-lg);--bs-offcanvas-box-shadow:var(--bs-box-shadow-lg);--bs-offcanvas-transition-duration:.3s;--bs-offcanvas-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-offcanvas-title-line-height:1.5}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;transition:height .35s;overflow:hidden}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}
+:root{--bs-blue-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .24 240));--bs-blue-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .24 240));--bs-blue-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .24 240));--bs-blue-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .24 240));--bs-blue-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .24 240));--bs-blue-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .24 240));--bs-blue-500:oklch(60% .24 240);--bs-blue-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .24 240));--bs-blue-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .24 240));--bs-blue-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .24 240));--bs-blue-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .24 240));--bs-blue-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .24 240));--bs-blue-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .24 240));--bs-indigo-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .26 288));--bs-indigo-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .26 288));--bs-indigo-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .26 288));--bs-indigo-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .26 288));--bs-indigo-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .26 288));--bs-indigo-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .26 288));--bs-indigo-500:oklch(56% .26 288);--bs-indigo-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .26 288));--bs-indigo-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .26 288));--bs-indigo-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .26 288));--bs-indigo-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .26 288));--bs-indigo-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .26 288));--bs-indigo-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .26 288));--bs-violet-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 300));--bs-violet-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 300));--bs-violet-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 300));--bs-violet-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 300));--bs-violet-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 300));--bs-violet-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 300));--bs-violet-500:oklch(56% .24 300);--bs-violet-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 300));--bs-violet-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 300));--bs-violet-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 300));--bs-violet-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 300));--bs-violet-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 300));--bs-violet-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 300));--bs-purple-025:color-mix(in lab, var(--bs-white) 94%, oklch(56% .24 320));--bs-purple-050:color-mix(in lab, var(--bs-white) 90%, oklch(56% .24 320));--bs-purple-100:color-mix(in lab, var(--bs-white) 80%, oklch(56% .24 320));--bs-purple-200:color-mix(in lab, var(--bs-white) 60%, oklch(56% .24 320));--bs-purple-300:color-mix(in lab, var(--bs-white) 40%, oklch(56% .24 320));--bs-purple-400:color-mix(in lab, var(--bs-white) 20%, oklch(56% .24 320));--bs-purple-500:oklch(56% .24 320);--bs-purple-600:color-mix(in lab, var(--bs-black) 16%, oklch(56% .24 320));--bs-purple-700:color-mix(in lab, var(--bs-black) 32%, oklch(56% .24 320));--bs-purple-800:color-mix(in lab, var(--bs-black) 48%, oklch(56% .24 320));--bs-purple-900:color-mix(in lab, var(--bs-black) 64%, oklch(56% .24 320));--bs-purple-950:color-mix(in lab, var(--bs-black) 76%, oklch(56% .24 320));--bs-purple-975:color-mix(in lab, var(--bs-black) 88%, oklch(56% .24 320));--bs-pink-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 4));--bs-pink-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 4));--bs-pink-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 4));--bs-pink-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 4));--bs-pink-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 4));--bs-pink-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 4));--bs-pink-500:oklch(60% .22 4);--bs-pink-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 4));--bs-pink-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 4));--bs-pink-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 4));--bs-pink-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 4));--bs-pink-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 4));--bs-pink-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 4));--bs-red-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .22 20));--bs-red-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .22 20));--bs-red-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .22 20));--bs-red-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .22 20));--bs-red-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .22 20));--bs-red-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .22 20));--bs-red-500:oklch(60% .22 20);--bs-red-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .22 20));--bs-red-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .22 20));--bs-red-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .22 20));--bs-red-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .22 20));--bs-red-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .22 20));--bs-red-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .22 20));--bs-orange-025:color-mix(in lab, var(--bs-white) 94%, oklch(70% .22 52));--bs-orange-050:color-mix(in lab, var(--bs-white) 90%, oklch(70% .22 52));--bs-orange-100:color-mix(in lab, var(--bs-white) 80%, oklch(70% .22 52));--bs-orange-200:color-mix(in lab, var(--bs-white) 60%, oklch(70% .22 52));--bs-orange-300:color-mix(in lab, var(--bs-white) 40%, oklch(70% .22 52));--bs-orange-400:color-mix(in lab, var(--bs-white) 20%, oklch(70% .22 52));--bs-orange-500:oklch(70% .22 52);--bs-orange-600:color-mix(in lab, var(--bs-black) 16%, oklch(70% .22 52));--bs-orange-700:color-mix(in lab, var(--bs-black) 32%, oklch(70% .22 52));--bs-orange-800:color-mix(in lab, var(--bs-black) 48%, oklch(70% .22 52));--bs-orange-900:color-mix(in lab, var(--bs-black) 64%, oklch(70% .22 52));--bs-orange-950:color-mix(in lab, var(--bs-black) 76%, oklch(70% .22 52));--bs-orange-975:color-mix(in lab, var(--bs-black) 88%, oklch(70% .22 52));--bs-amber-025:color-mix(in lab, var(--bs-white) 94%, oklch(79% .2 78));--bs-amber-050:color-mix(in lab, var(--bs-white) 90%, oklch(79% .2 78));--bs-amber-100:color-mix(in lab, var(--bs-white) 80%, oklch(79% .2 78));--bs-amber-200:color-mix(in lab, var(--bs-white) 60%, oklch(79% .2 78));--bs-amber-300:color-mix(in lab, var(--bs-white) 40%, oklch(79% .2 78));--bs-amber-400:color-mix(in lab, var(--bs-white) 20%, oklch(79% .2 78));--bs-amber-500:oklch(79% .2 78);--bs-amber-600:color-mix(in lab, var(--bs-black) 16%, oklch(79% .2 78));--bs-amber-700:color-mix(in lab, var(--bs-black) 32%, oklch(79% .2 78));--bs-amber-800:color-mix(in lab, var(--bs-black) 48%, oklch(79% .2 78));--bs-amber-900:color-mix(in lab, var(--bs-black) 64%, oklch(79% .2 78));--bs-amber-950:color-mix(in lab, var(--bs-black) 76%, oklch(79% .2 78));--bs-amber-975:color-mix(in lab, var(--bs-black) 88%, oklch(79% .2 78));--bs-yellow-025:color-mix(in lab, var(--bs-white) 94%, oklch(88% .24 88));--bs-yellow-050:color-mix(in lab, var(--bs-white) 90%, oklch(88% .24 88));--bs-yellow-100:color-mix(in lab, var(--bs-white) 80%, oklch(88% .24 88));--bs-yellow-200:color-mix(in lab, var(--bs-white) 60%, oklch(88% .24 88));--bs-yellow-300:color-mix(in lab, var(--bs-white) 40%, oklch(88% .24 88));--bs-yellow-400:color-mix(in lab, var(--bs-white) 20%, oklch(88% .24 88));--bs-yellow-500:oklch(88% .24 88);--bs-yellow-600:color-mix(in lab, var(--bs-black) 16%, oklch(88% .24 88));--bs-yellow-700:color-mix(in lab, var(--bs-black) 32%, oklch(88% .24 88));--bs-yellow-800:color-mix(in lab, var(--bs-black) 48%, oklch(88% .24 88));--bs-yellow-900:color-mix(in lab, var(--bs-black) 64%, oklch(88% .24 88));--bs-yellow-950:color-mix(in lab, var(--bs-black) 76%, oklch(88% .24 88));--bs-yellow-975:color-mix(in lab, var(--bs-black) 88%, oklch(88% .24 88));--bs-lime-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .24 135));--bs-lime-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .24 135));--bs-lime-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .24 135));--bs-lime-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .24 135));--bs-lime-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .24 135));--bs-lime-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .24 135));--bs-lime-500:oklch(65% .24 135);--bs-lime-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .24 135));--bs-lime-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .24 135));--bs-lime-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .24 135));--bs-lime-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .24 135));--bs-lime-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .24 135));--bs-lime-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .24 135));--bs-green-025:color-mix(in lab, var(--bs-white) 94%, oklch(64% .22 160));--bs-green-050:color-mix(in lab, var(--bs-white) 90%, oklch(64% .22 160));--bs-green-100:color-mix(in lab, var(--bs-white) 80%, oklch(64% .22 160));--bs-green-200:color-mix(in lab, var(--bs-white) 60%, oklch(64% .22 160));--bs-green-300:color-mix(in lab, var(--bs-white) 40%, oklch(64% .22 160));--bs-green-400:color-mix(in lab, var(--bs-white) 20%, oklch(64% .22 160));--bs-green-500:oklch(64% .22 160);--bs-green-600:color-mix(in lab, var(--bs-black) 16%, oklch(64% .22 160));--bs-green-700:color-mix(in lab, var(--bs-black) 32%, oklch(64% .22 160));--bs-green-800:color-mix(in lab, var(--bs-black) 48%, oklch(64% .22 160));--bs-green-900:color-mix(in lab, var(--bs-black) 64%, oklch(64% .22 160));--bs-green-950:color-mix(in lab, var(--bs-black) 76%, oklch(64% .22 160));--bs-green-975:color-mix(in lab, var(--bs-black) 88%, oklch(64% .22 160));--bs-teal-025:color-mix(in lab, var(--bs-white) 94%, oklch(68% .22 190));--bs-teal-050:color-mix(in lab, var(--bs-white) 90%, oklch(68% .22 190));--bs-teal-100:color-mix(in lab, var(--bs-white) 80%, oklch(68% .22 190));--bs-teal-200:color-mix(in lab, var(--bs-white) 60%, oklch(68% .22 190));--bs-teal-300:color-mix(in lab, var(--bs-white) 40%, oklch(68% .22 190));--bs-teal-400:color-mix(in lab, var(--bs-white) 20%, oklch(68% .22 190));--bs-teal-500:oklch(68% .22 190);--bs-teal-600:color-mix(in lab, var(--bs-black) 16%, oklch(68% .22 190));--bs-teal-700:color-mix(in lab, var(--bs-black) 32%, oklch(68% .22 190));--bs-teal-800:color-mix(in lab, var(--bs-black) 48%, oklch(68% .22 190));--bs-teal-900:color-mix(in lab, var(--bs-black) 64%, oklch(68% .22 190));--bs-teal-950:color-mix(in lab, var(--bs-black) 76%, oklch(68% .22 190));--bs-teal-975:color-mix(in lab, var(--bs-black) 88%, oklch(68% .22 190));--bs-cyan-025:color-mix(in lab, var(--bs-white) 94%, oklch(69% .22 220));--bs-cyan-050:color-mix(in lab, var(--bs-white) 90%, oklch(69% .22 220));--bs-cyan-100:color-mix(in lab, var(--bs-white) 80%, oklch(69% .22 220));--bs-cyan-200:color-mix(in lab, var(--bs-white) 60%, oklch(69% .22 220));--bs-cyan-300:color-mix(in lab, var(--bs-white) 40%, oklch(69% .22 220));--bs-cyan-400:color-mix(in lab, var(--bs-white) 20%, oklch(69% .22 220));--bs-cyan-500:oklch(69% .22 220);--bs-cyan-600:color-mix(in lab, var(--bs-black) 16%, oklch(69% .22 220));--bs-cyan-700:color-mix(in lab, var(--bs-black) 32%, oklch(69% .22 220));--bs-cyan-800:color-mix(in lab, var(--bs-black) 48%, oklch(69% .22 220));--bs-cyan-900:color-mix(in lab, var(--bs-black) 64%, oklch(69% .22 220));--bs-cyan-950:color-mix(in lab, var(--bs-black) 76%, oklch(69% .22 220));--bs-cyan-975:color-mix(in lab, var(--bs-black) 88%, oklch(69% .22 220));--bs-brown-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .12 54));--bs-brown-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .12 54));--bs-brown-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .12 54));--bs-brown-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .12 54));--bs-brown-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .12 54));--bs-brown-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .12 54));--bs-brown-500:oklch(60% .12 54);--bs-brown-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .12 54));--bs-brown-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .12 54));--bs-brown-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .12 54));--bs-brown-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .12 54));--bs-brown-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .12 54));--bs-brown-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .12 54));--bs-gray-025:color-mix(in lab, var(--bs-white) 94%, oklch(60% .02 245));--bs-gray-050:color-mix(in lab, var(--bs-white) 90%, oklch(60% .02 245));--bs-gray-100:color-mix(in lab, var(--bs-white) 80%, oklch(60% .02 245));--bs-gray-200:color-mix(in lab, var(--bs-white) 60%, oklch(60% .02 245));--bs-gray-300:color-mix(in lab, var(--bs-white) 40%, oklch(60% .02 245));--bs-gray-400:color-mix(in lab, var(--bs-white) 20%, oklch(60% .02 245));--bs-gray-500:oklch(60% .02 245);--bs-gray-600:color-mix(in lab, var(--bs-black) 16%, oklch(60% .02 245));--bs-gray-700:color-mix(in lab, var(--bs-black) 32%, oklch(60% .02 245));--bs-gray-800:color-mix(in lab, var(--bs-black) 48%, oklch(60% .02 245));--bs-gray-900:color-mix(in lab, var(--bs-black) 64%, oklch(60% .02 245));--bs-gray-950:color-mix(in lab, var(--bs-black) 76%, oklch(60% .02 245));--bs-gray-975:color-mix(in lab, var(--bs-black) 88%, oklch(60% .02 245));--bs-pewter-025:color-mix(in lab, var(--bs-white) 94%, oklch(65% .01 290));--bs-pewter-050:color-mix(in lab, var(--bs-white) 90%, oklch(65% .01 290));--bs-pewter-100:color-mix(in lab, var(--bs-white) 80%, oklch(65% .01 290));--bs-pewter-200:color-mix(in lab, var(--bs-white) 60%, oklch(65% .01 290));--bs-pewter-300:color-mix(in lab, var(--bs-white) 40%, oklch(65% .01 290));--bs-pewter-400:color-mix(in lab, var(--bs-white) 20%, oklch(65% .01 290));--bs-pewter-500:oklch(65% .01 290);--bs-pewter-600:color-mix(in lab, var(--bs-black) 16%, oklch(65% .01 290));--bs-pewter-700:color-mix(in lab, var(--bs-black) 32%, oklch(65% .01 290));--bs-pewter-800:color-mix(in lab, var(--bs-black) 48%, oklch(65% .01 290));--bs-pewter-900:color-mix(in lab, var(--bs-black) 64%, oklch(65% .01 290));--bs-pewter-950:color-mix(in lab, var(--bs-black) 76%, oklch(65% .01 290));--bs-pewter-975:color-mix(in lab, var(--bs-black) 88%, oklch(65% .01 290))}@layer colors,theme,config,root;@layer reboot{*,:before,:after{box-sizing:border-box}:root{accent-color:var(--bs-primary-base)}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-fg-body);text-align:var(--bs-body-text-align);background-color:var(--bs-bg-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}hr{margin:var(--bs-hr-margin-y,var(--bs-spacer)) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:var(--bs-font-size-3xl)}h2,.h2{font-size:var(--bs-font-size-2xl)}h3,.h3{font-size:var(--bs-font-size-xl)}h4,.h4{font-size:var(--bs-font-size-lg)}h5,.h5{font-size:var(--bs-font-size-md)}h6,.h6{font-size:var(--bs-font-size-sm)}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-inline-start:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-inline-start:0;margin-bottom:.5rem}blockquote{margin:0 0 1rem}blockquote>*{margin-block:0}b,strong{font-weight:bolder}small,.small{font-size:var(--bs-small-font-size,87.5%)}mark,.mark{--bs-mark-padding:.1875em;--bs-mark-color:var(--bs-fg-body);--bs-mark-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));padding:var(--bs-mark-padding);color:var(--bs-mark-color);background-color:var(--bs-mark-bg)}sub,sup{font-size:var(--bs-sub-sup-font-size,.75em);vertical-align:baseline;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-theme-text,var(--bs-link-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);text-underline-offset:.2em}a:hover{color:var(--bs-theme-text-emphasis,var(--bs-link-hover-color));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));-webkit-text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration));text-decoration:var(--bs-link-hover-decoration,var(--bs-link-decoration))}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-mono);font-size:1em}pre{font-size:var(--bs-code-font-size);color:var(--bs-code-color,inherit);margin-top:0;margin-bottom:1rem;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:var(--bs-code-font-size);color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{--bs-kbd-padding-y:.125rem;--bs-kbd-padding-x:.25rem;--bs-kbd-font-size:var(--bs-font-size-xs);--bs-kbd-color:var(--bs-bg-body);--bs-kbd-bg:var(--bs-fg-2);--bs-kbd-border-radius:var(--bs-border-radius-sm);padding:var(--bs-kbd-padding-y) var(--bs-kbd-padding-x);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{font-size:1em;font-weight:inherit;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-fg-3);text-align:start;padding-block:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button{-webkit-appearance:button}[type=button]{-webkit-appearance:button}[type=reset]{-webkit-appearance:button}[type=submit]{-webkit-appearance:button}button:not(:disabled){cursor:pointer}[type=button]:not(:disabled){cursor:pointer}[type=reset]:not(:disabled){cursor:pointer}[type=submit]:not(:disabled){cursor:pointer}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:inline-start;width:100%;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;padding:0}legend+*{clear:inline-start}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-millisecond-field{padding:0}::-webkit-datetime-edit-second-field{padding:0}::-webkit-datetime-edit-minute-field{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-ampm-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-week-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale()}[type=tel]{direction:ltr}[type=url]{direction:ltr}[type=email]{direction:ltr}[type=number]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}}@layer layout{.container,.container-fluid,.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-inline:auto}@media (min-width:576px){.sm\:container,.container{max-width:540px}}@media (min-width:768px){.md\:container,.sm\:container,.container{max-width:720px}}@media (min-width:1024px){.lg\:container,.md\:container,.sm\:container,.container{max-width:960px}}@media (min-width:1280px){.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1200px}}@media (min-width:1536px){.\32 xl\:container,.xl\:container,.lg\:container,.md\:container,.sm\:container,.container{max-width:1440px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-inline:calc(-.5 * var(--bs-gutter-x));margin-top:calc(-1 * var(--bs-gutter-y));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-inline:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y);flex-shrink:0}.col{flex:1 0 0}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.3333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.6667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333%}.col-2{flex:none;width:16.6667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.3333%}.col-5{flex:none;width:41.6667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.3333%}.col-8{flex:none;width:66.6667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.3333%}.col-11{flex:none;width:91.6667%}.col-12{flex:none;width:100%}.offset-1{margin-inline-start:8.33333%}.offset-2{margin-inline-start:16.6667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333%}.offset-5{margin-inline-start:41.6667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333%}.offset-8{margin-inline-start:66.6667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333%}.offset-11{margin-inline-start:91.6667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:.75rem}.g-3,.gy-3{--bs-gutter-y:.75rem}.g-4,.gx-4{--bs-gutter-x:1rem}.g-4,.gy-4{--bs-gutter-y:1rem}.g-5,.gx-5{--bs-gutter-x:1.25rem}.g-5,.gy-5{--bs-gutter-y:1.25rem}.g-6,.gx-6{--bs-gutter-x:1.5rem}.g-6,.gy-6{--bs-gutter-y:1.5rem}.g-7,.gx-7{--bs-gutter-x:2rem}.g-7,.gy-7{--bs-gutter-y:2rem}.g-8,.gx-8{--bs-gutter-x:2.5rem}.g-8,.gy-8{--bs-gutter-y:2.5rem}.g-9,.gx-9{--bs-gutter-x:3rem}.g-9,.gy-9{--bs-gutter-y:3rem}@media (min-width:576px){.sm\:col{flex:1 0 0}.sm\:row-cols-auto>*{flex:none;width:auto}.sm\:row-cols-1>*{flex:none;width:100%}.sm\:row-cols-2>*{flex:none;width:50%}.sm\:row-cols-3>*{flex:none;width:33.3333%}.sm\:row-cols-4>*{flex:none;width:25%}.sm\:row-cols-5>*{flex:none;width:20%}.sm\:row-cols-6>*{flex:none;width:16.6667%}.sm\:col-auto{flex:none;width:auto}.sm\:col-1{flex:none;width:8.33333%}.sm\:col-2{flex:none;width:16.6667%}.sm\:col-3{flex:none;width:25%}.sm\:col-4{flex:none;width:33.3333%}.sm\:col-5{flex:none;width:41.6667%}.sm\:col-6{flex:none;width:50%}.sm\:col-7{flex:none;width:58.3333%}.sm\:col-8{flex:none;width:66.6667%}.sm\:col-9{flex:none;width:75%}.sm\:col-10{flex:none;width:83.3333%}.sm\:col-11{flex:none;width:91.6667%}.sm\:col-12{flex:none;width:100%}.sm\:offset-0{margin-inline-start:0}.sm\:offset-1{margin-inline-start:8.33333%}.sm\:offset-2{margin-inline-start:16.6667%}.sm\:offset-3{margin-inline-start:25%}.sm\:offset-4{margin-inline-start:33.3333%}.sm\:offset-5{margin-inline-start:41.6667%}.sm\:offset-6{margin-inline-start:50%}.sm\:offset-7{margin-inline-start:58.3333%}.sm\:offset-8{margin-inline-start:66.6667%}.sm\:offset-9{margin-inline-start:75%}.sm\:offset-10{margin-inline-start:83.3333%}.sm\:offset-11{margin-inline-start:91.6667%}.sm\:g-0,.sm\:gx-0{--bs-gutter-x:0}.sm\:g-0,.sm\:gy-0{--bs-gutter-y:0}.sm\:g-1,.sm\:gx-1{--bs-gutter-x:.25rem}.sm\:g-1,.sm\:gy-1{--bs-gutter-y:.25rem}.sm\:g-2,.sm\:gx-2{--bs-gutter-x:.5rem}.sm\:g-2,.sm\:gy-2{--bs-gutter-y:.5rem}.sm\:g-3,.sm\:gx-3{--bs-gutter-x:.75rem}.sm\:g-3,.sm\:gy-3{--bs-gutter-y:.75rem}.sm\:g-4,.sm\:gx-4{--bs-gutter-x:1rem}.sm\:g-4,.sm\:gy-4{--bs-gutter-y:1rem}.sm\:g-5,.sm\:gx-5{--bs-gutter-x:1.25rem}.sm\:g-5,.sm\:gy-5{--bs-gutter-y:1.25rem}.sm\:g-6,.sm\:gx-6{--bs-gutter-x:1.5rem}.sm\:g-6,.sm\:gy-6{--bs-gutter-y:1.5rem}.sm\:g-7,.sm\:gx-7{--bs-gutter-x:2rem}.sm\:g-7,.sm\:gy-7{--bs-gutter-y:2rem}.sm\:g-8,.sm\:gx-8{--bs-gutter-x:2.5rem}.sm\:g-8,.sm\:gy-8{--bs-gutter-y:2.5rem}.sm\:g-9,.sm\:gx-9{--bs-gutter-x:3rem}.sm\:g-9,.sm\:gy-9{--bs-gutter-y:3rem}}@media (min-width:768px){.md\:col{flex:1 0 0}.md\:row-cols-auto>*{flex:none;width:auto}.md\:row-cols-1>*{flex:none;width:100%}.md\:row-cols-2>*{flex:none;width:50%}.md\:row-cols-3>*{flex:none;width:33.3333%}.md\:row-cols-4>*{flex:none;width:25%}.md\:row-cols-5>*{flex:none;width:20%}.md\:row-cols-6>*{flex:none;width:16.6667%}.md\:col-auto{flex:none;width:auto}.md\:col-1{flex:none;width:8.33333%}.md\:col-2{flex:none;width:16.6667%}.md\:col-3{flex:none;width:25%}.md\:col-4{flex:none;width:33.3333%}.md\:col-5{flex:none;width:41.6667%}.md\:col-6{flex:none;width:50%}.md\:col-7{flex:none;width:58.3333%}.md\:col-8{flex:none;width:66.6667%}.md\:col-9{flex:none;width:75%}.md\:col-10{flex:none;width:83.3333%}.md\:col-11{flex:none;width:91.6667%}.md\:col-12{flex:none;width:100%}.md\:offset-0{margin-inline-start:0}.md\:offset-1{margin-inline-start:8.33333%}.md\:offset-2{margin-inline-start:16.6667%}.md\:offset-3{margin-inline-start:25%}.md\:offset-4{margin-inline-start:33.3333%}.md\:offset-5{margin-inline-start:41.6667%}.md\:offset-6{margin-inline-start:50%}.md\:offset-7{margin-inline-start:58.3333%}.md\:offset-8{margin-inline-start:66.6667%}.md\:offset-9{margin-inline-start:75%}.md\:offset-10{margin-inline-start:83.3333%}.md\:offset-11{margin-inline-start:91.6667%}.md\:g-0,.md\:gx-0{--bs-gutter-x:0}.md\:g-0,.md\:gy-0{--bs-gutter-y:0}.md\:g-1,.md\:gx-1{--bs-gutter-x:.25rem}.md\:g-1,.md\:gy-1{--bs-gutter-y:.25rem}.md\:g-2,.md\:gx-2{--bs-gutter-x:.5rem}.md\:g-2,.md\:gy-2{--bs-gutter-y:.5rem}.md\:g-3,.md\:gx-3{--bs-gutter-x:.75rem}.md\:g-3,.md\:gy-3{--bs-gutter-y:.75rem}.md\:g-4,.md\:gx-4{--bs-gutter-x:1rem}.md\:g-4,.md\:gy-4{--bs-gutter-y:1rem}.md\:g-5,.md\:gx-5{--bs-gutter-x:1.25rem}.md\:g-5,.md\:gy-5{--bs-gutter-y:1.25rem}.md\:g-6,.md\:gx-6{--bs-gutter-x:1.5rem}.md\:g-6,.md\:gy-6{--bs-gutter-y:1.5rem}.md\:g-7,.md\:gx-7{--bs-gutter-x:2rem}.md\:g-7,.md\:gy-7{--bs-gutter-y:2rem}.md\:g-8,.md\:gx-8{--bs-gutter-x:2.5rem}.md\:g-8,.md\:gy-8{--bs-gutter-y:2.5rem}.md\:g-9,.md\:gx-9{--bs-gutter-x:3rem}.md\:g-9,.md\:gy-9{--bs-gutter-y:3rem}}@media (min-width:1024px){.lg\:col{flex:1 0 0}.lg\:row-cols-auto>*{flex:none;width:auto}.lg\:row-cols-1>*{flex:none;width:100%}.lg\:row-cols-2>*{flex:none;width:50%}.lg\:row-cols-3>*{flex:none;width:33.3333%}.lg\:row-cols-4>*{flex:none;width:25%}.lg\:row-cols-5>*{flex:none;width:20%}.lg\:row-cols-6>*{flex:none;width:16.6667%}.lg\:col-auto{flex:none;width:auto}.lg\:col-1{flex:none;width:8.33333%}.lg\:col-2{flex:none;width:16.6667%}.lg\:col-3{flex:none;width:25%}.lg\:col-4{flex:none;width:33.3333%}.lg\:col-5{flex:none;width:41.6667%}.lg\:col-6{flex:none;width:50%}.lg\:col-7{flex:none;width:58.3333%}.lg\:col-8{flex:none;width:66.6667%}.lg\:col-9{flex:none;width:75%}.lg\:col-10{flex:none;width:83.3333%}.lg\:col-11{flex:none;width:91.6667%}.lg\:col-12{flex:none;width:100%}.lg\:offset-0{margin-inline-start:0}.lg\:offset-1{margin-inline-start:8.33333%}.lg\:offset-2{margin-inline-start:16.6667%}.lg\:offset-3{margin-inline-start:25%}.lg\:offset-4{margin-inline-start:33.3333%}.lg\:offset-5{margin-inline-start:41.6667%}.lg\:offset-6{margin-inline-start:50%}.lg\:offset-7{margin-inline-start:58.3333%}.lg\:offset-8{margin-inline-start:66.6667%}.lg\:offset-9{margin-inline-start:75%}.lg\:offset-10{margin-inline-start:83.3333%}.lg\:offset-11{margin-inline-start:91.6667%}.lg\:g-0,.lg\:gx-0{--bs-gutter-x:0}.lg\:g-0,.lg\:gy-0{--bs-gutter-y:0}.lg\:g-1,.lg\:gx-1{--bs-gutter-x:.25rem}.lg\:g-1,.lg\:gy-1{--bs-gutter-y:.25rem}.lg\:g-2,.lg\:gx-2{--bs-gutter-x:.5rem}.lg\:g-2,.lg\:gy-2{--bs-gutter-y:.5rem}.lg\:g-3,.lg\:gx-3{--bs-gutter-x:.75rem}.lg\:g-3,.lg\:gy-3{--bs-gutter-y:.75rem}.lg\:g-4,.lg\:gx-4{--bs-gutter-x:1rem}.lg\:g-4,.lg\:gy-4{--bs-gutter-y:1rem}.lg\:g-5,.lg\:gx-5{--bs-gutter-x:1.25rem}.lg\:g-5,.lg\:gy-5{--bs-gutter-y:1.25rem}.lg\:g-6,.lg\:gx-6{--bs-gutter-x:1.5rem}.lg\:g-6,.lg\:gy-6{--bs-gutter-y:1.5rem}.lg\:g-7,.lg\:gx-7{--bs-gutter-x:2rem}.lg\:g-7,.lg\:gy-7{--bs-gutter-y:2rem}.lg\:g-8,.lg\:gx-8{--bs-gutter-x:2.5rem}.lg\:g-8,.lg\:gy-8{--bs-gutter-y:2.5rem}.lg\:g-9,.lg\:gx-9{--bs-gutter-x:3rem}.lg\:g-9,.lg\:gy-9{--bs-gutter-y:3rem}}@media (min-width:1280px){.xl\:col{flex:1 0 0}.xl\:row-cols-auto>*{flex:none;width:auto}.xl\:row-cols-1>*{flex:none;width:100%}.xl\:row-cols-2>*{flex:none;width:50%}.xl\:row-cols-3>*{flex:none;width:33.3333%}.xl\:row-cols-4>*{flex:none;width:25%}.xl\:row-cols-5>*{flex:none;width:20%}.xl\:row-cols-6>*{flex:none;width:16.6667%}.xl\:col-auto{flex:none;width:auto}.xl\:col-1{flex:none;width:8.33333%}.xl\:col-2{flex:none;width:16.6667%}.xl\:col-3{flex:none;width:25%}.xl\:col-4{flex:none;width:33.3333%}.xl\:col-5{flex:none;width:41.6667%}.xl\:col-6{flex:none;width:50%}.xl\:col-7{flex:none;width:58.3333%}.xl\:col-8{flex:none;width:66.6667%}.xl\:col-9{flex:none;width:75%}.xl\:col-10{flex:none;width:83.3333%}.xl\:col-11{flex:none;width:91.6667%}.xl\:col-12{flex:none;width:100%}.xl\:offset-0{margin-inline-start:0}.xl\:offset-1{margin-inline-start:8.33333%}.xl\:offset-2{margin-inline-start:16.6667%}.xl\:offset-3{margin-inline-start:25%}.xl\:offset-4{margin-inline-start:33.3333%}.xl\:offset-5{margin-inline-start:41.6667%}.xl\:offset-6{margin-inline-start:50%}.xl\:offset-7{margin-inline-start:58.3333%}.xl\:offset-8{margin-inline-start:66.6667%}.xl\:offset-9{margin-inline-start:75%}.xl\:offset-10{margin-inline-start:83.3333%}.xl\:offset-11{margin-inline-start:91.6667%}.xl\:g-0,.xl\:gx-0{--bs-gutter-x:0}.xl\:g-0,.xl\:gy-0{--bs-gutter-y:0}.xl\:g-1,.xl\:gx-1{--bs-gutter-x:.25rem}.xl\:g-1,.xl\:gy-1{--bs-gutter-y:.25rem}.xl\:g-2,.xl\:gx-2{--bs-gutter-x:.5rem}.xl\:g-2,.xl\:gy-2{--bs-gutter-y:.5rem}.xl\:g-3,.xl\:gx-3{--bs-gutter-x:.75rem}.xl\:g-3,.xl\:gy-3{--bs-gutter-y:.75rem}.xl\:g-4,.xl\:gx-4{--bs-gutter-x:1rem}.xl\:g-4,.xl\:gy-4{--bs-gutter-y:1rem}.xl\:g-5,.xl\:gx-5{--bs-gutter-x:1.25rem}.xl\:g-5,.xl\:gy-5{--bs-gutter-y:1.25rem}.xl\:g-6,.xl\:gx-6{--bs-gutter-x:1.5rem}.xl\:g-6,.xl\:gy-6{--bs-gutter-y:1.5rem}.xl\:g-7,.xl\:gx-7{--bs-gutter-x:2rem}.xl\:g-7,.xl\:gy-7{--bs-gutter-y:2rem}.xl\:g-8,.xl\:gx-8{--bs-gutter-x:2.5rem}.xl\:g-8,.xl\:gy-8{--bs-gutter-y:2.5rem}.xl\:g-9,.xl\:gx-9{--bs-gutter-x:3rem}.xl\:g-9,.xl\:gy-9{--bs-gutter-y:3rem}}@media (min-width:1536px){.\32 xl\:col{flex:1 0 0}.\32 xl\:row-cols-auto>*{flex:none;width:auto}.\32 xl\:row-cols-1>*{flex:none;width:100%}.\32 xl\:row-cols-2>*{flex:none;width:50%}.\32 xl\:row-cols-3>*{flex:none;width:33.3333%}.\32 xl\:row-cols-4>*{flex:none;width:25%}.\32 xl\:row-cols-5>*{flex:none;width:20%}.\32 xl\:row-cols-6>*{flex:none;width:16.6667%}.\32 xl\:col-auto{flex:none;width:auto}.\32 xl\:col-1{flex:none;width:8.33333%}.\32 xl\:col-2{flex:none;width:16.6667%}.\32 xl\:col-3{flex:none;width:25%}.\32 xl\:col-4{flex:none;width:33.3333%}.\32 xl\:col-5{flex:none;width:41.6667%}.\32 xl\:col-6{flex:none;width:50%}.\32 xl\:col-7{flex:none;width:58.3333%}.\32 xl\:col-8{flex:none;width:66.6667%}.\32 xl\:col-9{flex:none;width:75%}.\32 xl\:col-10{flex:none;width:83.3333%}.\32 xl\:col-11{flex:none;width:91.6667%}.\32 xl\:col-12{flex:none;width:100%}.\32 xl\:offset-0{margin-inline-start:0}.\32 xl\:offset-1{margin-inline-start:8.33333%}.\32 xl\:offset-2{margin-inline-start:16.6667%}.\32 xl\:offset-3{margin-inline-start:25%}.\32 xl\:offset-4{margin-inline-start:33.3333%}.\32 xl\:offset-5{margin-inline-start:41.6667%}.\32 xl\:offset-6{margin-inline-start:50%}.\32 xl\:offset-7{margin-inline-start:58.3333%}.\32 xl\:offset-8{margin-inline-start:66.6667%}.\32 xl\:offset-9{margin-inline-start:75%}.\32 xl\:offset-10{margin-inline-start:83.3333%}.\32 xl\:offset-11{margin-inline-start:91.6667%}.\32 xl\:g-0,.\32 xl\:gx-0{--bs-gutter-x:0}.\32 xl\:g-0,.\32 xl\:gy-0{--bs-gutter-y:0}.\32 xl\:g-1,.\32 xl\:gx-1{--bs-gutter-x:.25rem}.\32 xl\:g-1,.\32 xl\:gy-1{--bs-gutter-y:.25rem}.\32 xl\:g-2,.\32 xl\:gx-2{--bs-gutter-x:.5rem}.\32 xl\:g-2,.\32 xl\:gy-2{--bs-gutter-y:.5rem}.\32 xl\:g-3,.\32 xl\:gx-3{--bs-gutter-x:.75rem}.\32 xl\:g-3,.\32 xl\:gy-3{--bs-gutter-y:.75rem}.\32 xl\:g-4,.\32 xl\:gx-4{--bs-gutter-x:1rem}.\32 xl\:g-4,.\32 xl\:gy-4{--bs-gutter-y:1rem}.\32 xl\:g-5,.\32 xl\:gx-5{--bs-gutter-x:1.25rem}.\32 xl\:g-5,.\32 xl\:gy-5{--bs-gutter-y:1.25rem}.\32 xl\:g-6,.\32 xl\:gx-6{--bs-gutter-x:1.5rem}.\32 xl\:g-6,.\32 xl\:gy-6{--bs-gutter-y:1.5rem}.\32 xl\:g-7,.\32 xl\:gx-7{--bs-gutter-x:2rem}.\32 xl\:g-7,.\32 xl\:gy-7{--bs-gutter-y:2rem}.\32 xl\:g-8,.\32 xl\:gx-8{--bs-gutter-x:2.5rem}.\32 xl\:g-8,.\32 xl\:gy-8{--bs-gutter-y:2.5rem}.\32 xl\:g-9,.\32 xl\:gx-9{--bs-gutter-x:3rem}.\32 xl\:g-9,.\32 xl\:gy-9{--bs-gutter-y:3rem}}.grid{--bs-columns:12;--bs-rows:1;--bs-gap:1.5rem;grid-template-rows:repeat(var(--bs-rows), 1fr);grid-template-columns:repeat(var(--bs-columns), 1fr);gap:var(--bs-gap);display:grid}.g-col-1{grid-column:auto/span 1}.g-col-2{grid-column:auto/span 2}.g-col-3{grid-column:auto/span 3}.g-col-4{grid-column:auto/span 4}.g-col-5{grid-column:auto/span 5}.g-col-6{grid-column:auto/span 6}.g-col-7{grid-column:auto/span 7}.g-col-8{grid-column:auto/span 8}.g-col-9{grid-column:auto/span 9}.g-col-10{grid-column:auto/span 10}.g-col-11{grid-column:auto/span 11}.g-col-12{grid-column:auto/span 12}.g-start-1{grid-column-start:1}.g-start-2{grid-column-start:2}.g-start-3{grid-column-start:3}.g-start-4{grid-column-start:4}.g-start-5{grid-column-start:5}.g-start-6{grid-column-start:6}.g-start-7{grid-column-start:7}.g-start-8{grid-column-start:8}.g-start-9{grid-column-start:9}.g-start-10{grid-column-start:10}.g-start-11{grid-column-start:11}@media (min-width:576px){.sm\:g-col-1{grid-column:auto/span 1}.sm\:g-col-2{grid-column:auto/span 2}.sm\:g-col-3{grid-column:auto/span 3}.sm\:g-col-4{grid-column:auto/span 4}.sm\:g-col-5{grid-column:auto/span 5}.sm\:g-col-6{grid-column:auto/span 6}.sm\:g-col-7{grid-column:auto/span 7}.sm\:g-col-8{grid-column:auto/span 8}.sm\:g-col-9{grid-column:auto/span 9}.sm\:g-col-10{grid-column:auto/span 10}.sm\:g-col-11{grid-column:auto/span 11}.sm\:g-col-12{grid-column:auto/span 12}.sm\:g-start-1{grid-column-start:1}.sm\:g-start-2{grid-column-start:2}.sm\:g-start-3{grid-column-start:3}.sm\:g-start-4{grid-column-start:4}.sm\:g-start-5{grid-column-start:5}.sm\:g-start-6{grid-column-start:6}.sm\:g-start-7{grid-column-start:7}.sm\:g-start-8{grid-column-start:8}.sm\:g-start-9{grid-column-start:9}.sm\:g-start-10{grid-column-start:10}.sm\:g-start-11{grid-column-start:11}}@media (min-width:768px){.md\:g-col-1{grid-column:auto/span 1}.md\:g-col-2{grid-column:auto/span 2}.md\:g-col-3{grid-column:auto/span 3}.md\:g-col-4{grid-column:auto/span 4}.md\:g-col-5{grid-column:auto/span 5}.md\:g-col-6{grid-column:auto/span 6}.md\:g-col-7{grid-column:auto/span 7}.md\:g-col-8{grid-column:auto/span 8}.md\:g-col-9{grid-column:auto/span 9}.md\:g-col-10{grid-column:auto/span 10}.md\:g-col-11{grid-column:auto/span 11}.md\:g-col-12{grid-column:auto/span 12}.md\:g-start-1{grid-column-start:1}.md\:g-start-2{grid-column-start:2}.md\:g-start-3{grid-column-start:3}.md\:g-start-4{grid-column-start:4}.md\:g-start-5{grid-column-start:5}.md\:g-start-6{grid-column-start:6}.md\:g-start-7{grid-column-start:7}.md\:g-start-8{grid-column-start:8}.md\:g-start-9{grid-column-start:9}.md\:g-start-10{grid-column-start:10}.md\:g-start-11{grid-column-start:11}}@media (min-width:1024px){.lg\:g-col-1{grid-column:auto/span 1}.lg\:g-col-2{grid-column:auto/span 2}.lg\:g-col-3{grid-column:auto/span 3}.lg\:g-col-4{grid-column:auto/span 4}.lg\:g-col-5{grid-column:auto/span 5}.lg\:g-col-6{grid-column:auto/span 6}.lg\:g-col-7{grid-column:auto/span 7}.lg\:g-col-8{grid-column:auto/span 8}.lg\:g-col-9{grid-column:auto/span 9}.lg\:g-col-10{grid-column:auto/span 10}.lg\:g-col-11{grid-column:auto/span 11}.lg\:g-col-12{grid-column:auto/span 12}.lg\:g-start-1{grid-column-start:1}.lg\:g-start-2{grid-column-start:2}.lg\:g-start-3{grid-column-start:3}.lg\:g-start-4{grid-column-start:4}.lg\:g-start-5{grid-column-start:5}.lg\:g-start-6{grid-column-start:6}.lg\:g-start-7{grid-column-start:7}.lg\:g-start-8{grid-column-start:8}.lg\:g-start-9{grid-column-start:9}.lg\:g-start-10{grid-column-start:10}.lg\:g-start-11{grid-column-start:11}}@media (min-width:1280px){.xl\:g-col-1{grid-column:auto/span 1}.xl\:g-col-2{grid-column:auto/span 2}.xl\:g-col-3{grid-column:auto/span 3}.xl\:g-col-4{grid-column:auto/span 4}.xl\:g-col-5{grid-column:auto/span 5}.xl\:g-col-6{grid-column:auto/span 6}.xl\:g-col-7{grid-column:auto/span 7}.xl\:g-col-8{grid-column:auto/span 8}.xl\:g-col-9{grid-column:auto/span 9}.xl\:g-col-10{grid-column:auto/span 10}.xl\:g-col-11{grid-column:auto/span 11}.xl\:g-col-12{grid-column:auto/span 12}.xl\:g-start-1{grid-column-start:1}.xl\:g-start-2{grid-column-start:2}.xl\:g-start-3{grid-column-start:3}.xl\:g-start-4{grid-column-start:4}.xl\:g-start-5{grid-column-start:5}.xl\:g-start-6{grid-column-start:6}.xl\:g-start-7{grid-column-start:7}.xl\:g-start-8{grid-column-start:8}.xl\:g-start-9{grid-column-start:9}.xl\:g-start-10{grid-column-start:10}.xl\:g-start-11{grid-column-start:11}}@media (min-width:1536px){.\32 xl\:g-col-1{grid-column:auto/span 1}.\32 xl\:g-col-2{grid-column:auto/span 2}.\32 xl\:g-col-3{grid-column:auto/span 3}.\32 xl\:g-col-4{grid-column:auto/span 4}.\32 xl\:g-col-5{grid-column:auto/span 5}.\32 xl\:g-col-6{grid-column:auto/span 6}.\32 xl\:g-col-7{grid-column:auto/span 7}.\32 xl\:g-col-8{grid-column:auto/span 8}.\32 xl\:g-col-9{grid-column:auto/span 9}.\32 xl\:g-col-10{grid-column:auto/span 10}.\32 xl\:g-col-11{grid-column:auto/span 11}.\32 xl\:g-col-12{grid-column:auto/span 12}.\32 xl\:g-start-1{grid-column-start:1}.\32 xl\:g-start-2{grid-column-start:2}.\32 xl\:g-start-3{grid-column-start:3}.\32 xl\:g-start-4{grid-column-start:4}.\32 xl\:g-start-5{grid-column-start:5}.\32 xl\:g-start-6{grid-column-start:6}.\32 xl\:g-start-7{grid-column-start:7}.\32 xl\:g-start-8{grid-column-start:8}.\32 xl\:g-start-9{grid-column-start:9}.\32 xl\:g-start-10{grid-column-start:10}.\32 xl\:g-start-11{grid-column-start:11}}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-fill{--bs-gap:1.5rem;gap:var(--bs-gap);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:row;display:grid}}@layer content{.list-unstyled,.list-inline{padding-inline-start:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-inline-end:var(--bs-list-inline-padding,var(--bs-spacer)/2)}.initialism{font-size:var(--bs-initialism-font-size,var(--bs-font-size-xs));text-transform:uppercase}.blockquote{--bs-blockquote-gap:calc(var(--bs-spacer) / 2);--bs-blockquote-padding-x:var(--bs-spacer);--bs-blockquote-margin-y:1rem;--bs-blockquote-font-size:var(--bs-font-size-md);--bs-blockquote-border-width:.25rem;--bs-blockquote-border-color:var(--bs-border-color);--bs-blockquote-footer-font-size:var(--bs-font-size-sm);--bs-blockquote-footer-color:var(--bs-fg-3);gap:var(--bs-blockquote-gap);margin-bottom:var(--bs-blockquote-margin-y);font-size:var(--bs-blockquote-font-size);border-inline-start:var(--bs-blockquote-border-width) solid var(--bs-blockquote-border-color);flex-direction:column;padding-inline-start:var(--bs-blockquote-padding-x);display:flex}.blockquote>*,figure.blockquote blockquote{margin-bottom:0}.blockquote-footer{font-size:var(--bs-blockquote-footer-font-size);color:var(--bs-blockquote-footer-color)}.blockquote-footer:before{content:"— "}.table{--bs-table-cell-padding-y:.5rem;--bs-table-cell-padding-x:.5rem;--bs-table-cell-vertical-align:top;--bs-table-color:var(--bs-fg-body);--bs-table-bg:var(--bs-bg-body);--bs-table-accent-bg:transparent;--bs-table-border-width:var(--bs-border-width);--bs-table-border-color:var(--bs-border-color);--bs-table-group-separator-color:currentcolor;--bs-table-striped-color:var(--bs-table-color);--bs-table-striped-bg-factor:5%;--bs-table-striped-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-striped-bg-factor), transparent);--bs-table-active-color:var(--bs-table-color);--bs-table-active-bg-factor:10%;--bs-table-active-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-active-bg-factor), transparent);--bs-table-hover-color:var(--bs-table-color);--bs-table-hover-bg-factor:7.5%;--bs-table-hover-bg:color-mix(in srgb, var(--bs-table-color) var(--bs-table-hover-bg-factor), transparent);--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;width:100%;vertical-align:var(--bs-table-cell-vertical-align);border-color:var(--bs-theme-border,var(--bs-table-border-color));margin-bottom:1rem}.table>:not(caption)>*>*{padding:var(--bs-table-cell-padding-y) var(--bs-table-cell-padding-x);color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-theme-text,var(--bs-table-color))));background-color:var(--bs-theme-bg-subtle,var(--bs-table-bg));border-block-end-width:var(--bs-table-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-theme-bg-subtle,var(--bs-table-accent-bg))))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-block-start:calc(var(--bs-table-border-width) * 2) solid var(--bs-table-group-separator-color)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{--bs-table-cell-padding-y:.25rem;--bs-table-cell-padding-x:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-table-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-table-border-width)}.table-borderless>:not(caption)>*>*{border-block-end-width:0}.table-borderless>:not(:first-child){border-block-start-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*,.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-theme-text,var(--bs-table-striped-color));--bs-table-bg-type:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-striped-bg-factor), transparent)}.table-active{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-active-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-active-bg-factor), transparent)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-theme-text,var(--bs-table-hover-color));--bs-table-bg-state:color-mix(in srgb, var(--bs-theme-text,var(--bs-table-color)) var(--bs-table-hover-bg-factor), transparent)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto;container-type:inline-size}.sm\:table-responsive{container-type:inline-size}@media not (min-width:576px){.sm\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.md\:table-responsive{container-type:inline-size}@media not (min-width:768px){.md\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.lg\:table-responsive{container-type:inline-size}@media not (min-width:1024px){.lg\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.xl\:table-responsive{container-type:inline-size}@media not (min-width:1280px){.xl\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.\32 xl\:table-responsive{container-type:inline-size}@media not (min-width:1536px){.\32 xl\:table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}}.table-stacked>thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-stacked>tbody>tr{padding-block:var(--bs-table-cell-padding-y);display:block}.table-stacked>tbody>tr+tr{border-block-start:var(--bs-table-border-width) solid var(--bs-table-border-color)}.table-stacked>tbody>tr>td{padding:calc(var(--bs-table-cell-padding-y) * .25) calc(var(--bs-table-cell-padding-x) * 2);border:0;display:block}.table-stacked>tbody>tr>td:first-child{font-weight:var(--bs-font-weight-bold)}.table-stacked>tbody>tr>td[data-cell]:not(:first-child):before{font-weight:var(--bs-font-weight-semibold);content:attr(data-cell);display:block}.table-stacked>tbody>tr>td:not(:first-child)+td:before{margin-block-start:.25rem}@container (width<576px){.sm\:table-stacked>thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sm\:table-stacked>tbody>tr{padding-block:var(--bs-table-cell-padding-y);display:block}.sm\:table-stacked>tbody>tr+tr{border-block-start:var(--bs-table-border-width) solid var(--bs-table-border-color)}.sm\:table-stacked>tbody>tr>td{padding:calc(var(--bs-table-cell-padding-y) * .25) calc(var(--bs-table-cell-padding-x) * 2);border:0;display:block}.sm\:table-stacked>tbody>tr>td:first-child{font-weight:var(--bs-font-weight-bold)}.sm\:table-stacked>tbody>tr>td[data-cell]:not(:first-child):before{font-weight:var(--bs-font-weight-semibold);content:attr(data-cell);display:block}.sm\:table-stacked>tbody>tr>td:not(:first-child)+td:before{margin-block-start:.25rem}}@container (width<768px){.md\:table-stacked>thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.md\:table-stacked>tbody>tr{padding-block:var(--bs-table-cell-padding-y);display:block}.md\:table-stacked>tbody>tr+tr{border-block-start:var(--bs-table-border-width) solid var(--bs-table-border-color)}.md\:table-stacked>tbody>tr>td{padding:calc(var(--bs-table-cell-padding-y) * .25) calc(var(--bs-table-cell-padding-x) * 2);border:0;display:block}.md\:table-stacked>tbody>tr>td:first-child{font-weight:var(--bs-font-weight-bold)}.md\:table-stacked>tbody>tr>td[data-cell]:not(:first-child):before{font-weight:var(--bs-font-weight-semibold);content:attr(data-cell);display:block}.md\:table-stacked>tbody>tr>td:not(:first-child)+td:before{margin-block-start:.25rem}}@container (width<1024px){.lg\:table-stacked>thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lg\:table-stacked>tbody>tr{padding-block:var(--bs-table-cell-padding-y);display:block}.lg\:table-stacked>tbody>tr+tr{border-block-start:var(--bs-table-border-width) solid var(--bs-table-border-color)}.lg\:table-stacked>tbody>tr>td{padding:calc(var(--bs-table-cell-padding-y) * .25) calc(var(--bs-table-cell-padding-x) * 2);border:0;display:block}.lg\:table-stacked>tbody>tr>td:first-child{font-weight:var(--bs-font-weight-bold)}.lg\:table-stacked>tbody>tr>td[data-cell]:not(:first-child):before{font-weight:var(--bs-font-weight-semibold);content:attr(data-cell);display:block}.lg\:table-stacked>tbody>tr>td:not(:first-child)+td:before{margin-block-start:.25rem}}@container (width<1280px){.xl\:table-stacked>thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.xl\:table-stacked>tbody>tr{padding-block:var(--bs-table-cell-padding-y);display:block}.xl\:table-stacked>tbody>tr+tr{border-block-start:var(--bs-table-border-width) solid var(--bs-table-border-color)}.xl\:table-stacked>tbody>tr>td{padding:calc(var(--bs-table-cell-padding-y) * .25) calc(var(--bs-table-cell-padding-x) * 2);border:0;display:block}.xl\:table-stacked>tbody>tr>td:first-child{font-weight:var(--bs-font-weight-bold)}.xl\:table-stacked>tbody>tr>td[data-cell]:not(:first-child):before{font-weight:var(--bs-font-weight-semibold);content:attr(data-cell);display:block}.xl\:table-stacked>tbody>tr>td:not(:first-child)+td:before{margin-block-start:.25rem}}@container (width<1536px){.\32 xl\:table-stacked>thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\32 xl\:table-stacked>tbody>tr{padding-block:var(--bs-table-cell-padding-y);display:block}.\32 xl\:table-stacked>tbody>tr+tr{border-block-start:var(--bs-table-border-width) solid var(--bs-table-border-color)}.\32 xl\:table-stacked>tbody>tr>td{padding:calc(var(--bs-table-cell-padding-y) * .25) calc(var(--bs-table-cell-padding-x) * 2);border:0;display:block}.\32 xl\:table-stacked>tbody>tr>td:first-child{font-weight:var(--bs-font-weight-bold)}.\32 xl\:table-stacked>tbody>tr>td[data-cell]:not(:first-child):before{font-weight:var(--bs-font-weight-semibold);content:attr(data-cell);display:block}.\32 xl\:table-stacked>tbody>tr>td:not(:first-child)+td:before{margin-block-start:.25rem}}.img-fluid{max-width:100%;height:auto}.img-thumbnail{--bs-thumbnail-padding:.25rem;--bs-thumbnail-bg:var(--bs-bg-body);--bs-thumbnail-border-width:var(--bs-border-width);--bs-thumbnail-border-color:var(--bs-border-color);--bs-thumbnail-border-radius:var(--bs-border-radius);--bs-thumbnail-box-shadow:var(--bs-box-shadow-sm);padding:var(--bs-thumbnail-padding);background-color:var(--bs-thumbnail-bg);border:var(--bs-thumbnail-border-width) solid var(--bs-thumbnail-border-color);border-radius:var(--bs-thumbnail-border-radius);box-shadow:var(--bs-thumbnail-box-shadow);max-width:100%;height:auto}.figure{--bs-figure-gap:calc(var(--bs-spacer) * .5);--bs-figure-caption-font-size:var(--bs-font-size-sm);--bs-figure-caption-color:var(--bs-fg-3);gap:var(--bs-figure-gap);flex-direction:column;display:flex}.figure-caption{font-size:var(--bs-figure-caption-font-size);color:var(--bs-figure-caption-color)}.prose{--bs-content-font-size:1rem;--bs-content-gap:20px;--bs-heading-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));gap:var(--bs-content-gap);max-width:1000px;font-size:var(--bs-content-font-size);flex-direction:column;margin-inline:auto;line-height:1.5;display:flex;position:relative}@media (min-width:1024px){.prose{--bs-content-font-size:var(--bs-font-size-md);--bs-content-gap:24px}}.prose :where(p,ul,ol,dl,pre,table,blockquote):not(:where(.not-prose,.not-prose *)){margin-block:0}.prose :where(ul,ol):not([class]):not(:where(.not-prose,.not-prose *)) li:not(:last-child){margin-bottom:calc(var(--bs-content-gap) / 4)}.prose :where(li ul,li ol):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) / 4)}.prose :where(hr):not(:where(.not-prose,.not-prose *)){margin:calc(var(--bs-content-gap) * 1.5) 0;border:0;border-block-start:var(--bs-border-width) solid var(--bs-hr-border-color)}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)){margin-top:0;margin-bottom:calc(var(--bs-content-gap) / -2);font-weight:500;line-height:1.25}.prose :where(h1,h2,h3,h4,h5,h6):not([class]):not(:where(.not-prose,.not-prose *)) code{color:inherit;font-weight:600}.prose :where(h1,h2):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .75)}.prose :where(h3,h4,h5,h6):not(:first-child):not(:where(.not-prose,.not-prose *)){margin-top:calc(var(--bs-content-gap) * .5)}.prose :where(h1):not(:where(.not-prose,.not-prose *)){font-size:2.25em;line-height:1.1}.prose :where(h2):not(:where(.not-prose,.not-prose *)){font-size:1.75em}.prose :where(h3):not(:where(.not-prose,.not-prose *)){font-size:1.5em}.prose :where(h4):not(:where(.not-prose,.not-prose *)){font-size:1.25em}.prose :where(h5):not(:where(.not-prose,.not-prose *)){font-size:1.125em}.prose :where(h6):not(:where(.not-prose,.not-prose *)){font-size:1em}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-decoration-color:color-mix(in srgb, var(--bs-link-color) 25%, transparent);text-underline-offset:4px;transition:text-decoration-color .1s ease-in-out}@media (prefers-reduced-motion:reduce){.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)){transition:none}}.prose :where(a:not([class])):not(:where(.not-prose,.not-prose *)):hover{-webkit-text-decoration-color:var(--bs-link-hover-color);text-decoration-color:var(--bs-link-hover-color)}.prose :where(img):not(:where(.not-prose,.not-prose *)){max-width:100%}.prose :where(blockquote):not(:where(.not-prose,.not-prose *)){border-inline-start:4px solid var(--bs-border-color);margin:0;padding-inline-start:calc(var(--bs-content-gap) / 2)}.prose :where(table):not(:where(.not-prose,.not-prose *)){border-spacing:0;border-collapse:collapse;width:100%}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) td{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(table:not([class])):not(:where(.not-prose,.not-prose *)) th{text-align:inherit;border:1px solid var(--bs-border-color);padding:6px 12px}.prose :where(dt):not(:where(.not-prose,.not-prose *)){font-weight:500}.prose :where(video,img):not(:where(.not-prose,.not-prose *)){max-width:100%}}@layer forms{.form-label,.col-form-label{font-size:var(--bs-label-font-size,var(--bs-font-size-sm));font-style:var(--bs-label-font-style,inherit);font-weight:var(--bs-label-font-weight,inherit);color:var(--bs-label-color,var(--bs-fg-body))}.form-label{margin-bottom:var(--bs-label-margin-bottom,calc(var(--bs-spacer) / 2))}.col-form-label{--bs-label-padding-y:calc(var(--bs-btn-input-padding-y) + var(--bs-border-width));padding-block:var(--bs-label-padding-y);margin-bottom:0}.col-form-label-lg{--bs-label-padding-y:calc(var(--bs-btn-input-lg-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-lg-font-size)}.col-form-label-sm{--bs-label-padding-y:calc(var(--bs-btn-input-sm-padding-y) + var(--bs-border-width));font-size:var(--bs-btn-input-sm-font-size)}.form-text{--bs-form-text-margin-top:.25rem;--bs-form-text-font-size:var(--bs-font-size-sm);--bs-form-text-color:var(--bs-fg-3);margin-top:var(--bs-form-text-margin-top);font-size:var(--bs-form-text-font-size);font-style:var(--bs-form-text-font-style);font-weight:var(--bs-form-text-font-weight);color:var(--bs-form-text-color)}.form-control{--bs-control-min-height:var(--bs-btn-input-min-height);--bs-control-padding-y:var(--bs-btn-input-padding-y);--bs-control-padding-x:var(--bs-btn-input-padding-x);--bs-control-font-size:var(--bs-btn-input-font-size);--bs-control-line-height:var(--bs-btn-input-line-height);--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);--bs-control-box-shadow:var(--bs-box-shadow-inset);--bs-control-action-bg:var(--bs-bg-1);--bs-control-action-hover-bg:var(--bs-bg-2);--bs-control-transition-property:border-color, box-shadow;--bs-control-transition-timing:.15s ease-in-out;--bs-control-transition:var(--bs-control-transition-property) var(--bs-control-transition-timing);--bs-control-placeholder-color:var(--bs-fg-3);--bs-control-disabled-color:var(--bs-control-fg);--bs-control-disabled-bg:var(--bs-bg-2);--bs-control-disabled-border-color:var(--bs-control-border-color);--bs-control-select-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-control-select-bg-position:right .75rem center;--bs-control-select-bg-size:16px 12px;--bs-control-select-bg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");width:100%;min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);font-size:var(--bs-control-font-size);line-height:var(--bs-control-line-height);color:var(--bs-control-fg);appearance:none;background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);box-shadow:var(--bs-control-box-shadow);transition:var(--bs-control-transition);background-clip:padding-box;display:flex}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control:focus-visible{--bs-focus-ring-offset:-1px;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-control::placeholder{color:var(--bs-control-placeholder-color);opacity:1}.form-control:disabled{color:var(--bs-control-disabled-color);background-color:var(--bs-control-disabled-bg);border-color:var(--bs-control-disabled-border-color);opacity:1}.form-control::-webkit-datetime-edit{height:1.5rem;margin-bottom:-.125rem;padding:0;display:block}.form-control::-webkit-datetime-edit-fields-wrapper{height:1.5rem}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control::file-selector-button{min-height:var(--bs-control-min-height);padding:var(--bs-control-padding-y) var(--bs-control-padding-x);margin:calc(var(--bs-control-padding-y) * -1) calc(var(--bs-control-padding-x) * -1);color:var(--bs-control-fg);background-color:var(--bs-control-action-bg);background-image:var(--bs-gradient);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-control-border-width);transition:var(--bs-control-transition);border-radius:0;margin-inline-end:var(--bs-control-padding-x)}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-control-action-hover-bg)}.form-control-plaintext{width:100%;padding:var(--bs-control-padding-y) 0;line-height:var(--bs-control-line-height);color:var(--bs-control-fg);border:solid transparent;border-width:var(--bs-control-border-width) 0;background-color:transparent;margin-bottom:0;display:block}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-inline:0}select.form-control{background-image:var(--bs-control-select-bg);background-repeat:no-repeat;background-position:var(--bs-control-select-bg-position);background-size:var(--bs-control-select-bg-size);padding-inline-end:calc(var(--bs-control-padding-x) * 3)}select.form-control[multiple],select.form-control[size]:not([size="1"]){background-image:none;padding-inline-end:var(--bs-control-padding-x)}@media (prefers-color-scheme:dark){select.form-control{background-image:var(--bs-control-select-bg-dark)}}.form-control-sm{--bs-control-min-height:var(--bs-btn-input-sm-min-height);--bs-control-padding-y:var(--bs-btn-input-sm-padding-y);--bs-control-padding-x:var(--bs-btn-input-sm-padding-x);--bs-control-font-size:var(--bs-btn-input-sm-font-size);--bs-control-line-height:var(--bs-btn-input-sm-line-height);--bs-control-border-radius:var(--bs-btn-input-sm-border-radius)}.form-control-lg{--bs-control-min-height:var(--bs-btn-input-lg-min-height);--bs-control-padding-y:var(--bs-btn-input-lg-padding-y);--bs-control-padding-x:var(--bs-btn-input-lg-padding-x);--bs-control-font-size:var(--bs-btn-input-lg-font-size);--bs-control-line-height:var(--bs-btn-input-lg-line-height);--bs-control-border-radius:var(--bs-btn-input-lg-border-radius)}.form-control-color{width:var(--bs-control-min-height);padding:var(--bs-control-padding-y)}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-control-color::-webkit-color-swatch{border-radius:var(--bs-border-radius-sm);border:0!important}.form-ghost{width:100%;font:inherit;color:inherit;appearance:none;background:0 0;border:0;padding:0;display:block}.form-ghost:focus{outline:0}.form-ghost::placeholder{color:var(--bs-fg-3);opacity:1}.form-ghost:disabled{color:var(--bs-fg-4);cursor:not-allowed}.checkgroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.checkgroup .description{color:var(--bs-fg-3)}.check{--bs-check-size:1.25rem;--bs-check-margin-block:.125rem;--bs-check-bg:transparent;--bs-check-border-color:var(--bs-border-color);--bs-check-border-radius:.375rem;--bs-check-checked-bg:var(--bs-control-checked-bg);--bs-check-checked-border-color:var(--bs-control-checked-border-color);--bs-check-indeterminate-bg:var(--bs-control-checked-bg);--bs-check-indeterminate-border-color:var(--bs-control-checked-border-color);--bs-check-active-bg:var(--bs-control-active-bg);--bs-check-active-border-color:var(--bs-control-active-border-color);--bs-check-disabled-bg:var(--bs-control-disabled-bg);--bs-check-disabled-opacity:var(--bs-control-disabled-opacity);margin-block:var(--bs-check-margin-block);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.check :where(svg,input){width:var(--bs-check-size);height:var(--bs-check-size);flex-shrink:0;grid-row-start:1;grid-column-start:1}.check :where(input){appearance:none;background-color:var(--bs-theme-bg,var(--bs-check-bg));border:1px solid var(--bs-theme-bg,var(--bs-check-border-color));border-radius:.3em}.check :where(input:checked,input:indeterminate){background-color:var(--bs-theme-bg,var(--bs-check-checked-bg));border-color:var(--bs-theme-bg,var(--bs-check-checked-border-color))}.check :where(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.check:has(input:checked) .checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:indeterminate) .indeterminate{color:var(--bs-theme-contrast,var(--bs-primary-contrast));stroke:currentColor;display:block}.check:has(input:disabled){--bs-check-bg:var(--bs-check-disabled-bg)}.check:has(input:disabled)~label{color:var(--bs-fg-3);cursor:default}.check:has(input:disabled:checked){opacity:var(--bs-check-disabled-opacity)}.check :where(svg){pointer-events:none}.check :where(svg path){display:none}.check-sm{--bs-check-size:1rem}.check-lg{--bs-check-size:1.5rem;--bs-check-margin-block:0}.radiogroup{gap:var(--bs-gap,.5rem);align-items:var(--bs-align-items,start);display:flex}.radiogroup .description{color:var(--bs-fg-3)}.radio{--bs-radio-size:1.25rem;--bs-radio-margin-block:.125rem;--bs-radio-bg:transparent;--bs-radio-border-color:var(--bs-border-color);--bs-radio-checked-bg:var(--bs-control-checked-bg);--bs-radio-checked-border-color:var(--bs-control-checked-border-color);--bs-radio-disabled-bg:var(--bs-control-disabled-bg);--bs-radio-disabled-opacity:var(--bs-control-disabled-opacity);width:var(--bs-radio-size);height:var(--bs-radio-size);margin-block:var(--bs-radio-margin-block);appearance:none;background-color:var(--bs-theme-bg,var(--bs-radio-bg));border:1px solid var(--bs-theme-bg,var(--bs-radio-border-color));border-radius:50%;flex-shrink:0;position:relative}.radio:checked{color:var(--bs-theme-contrast,var(--bs-primary-contrast));background-color:var(--bs-theme-bg,var(--bs-radio-checked-bg));border-color:var(--bs-theme-bg,var(--bs-radio-checked-border-color))}.radio:checked:before{content:"";background-color:currentColor;border-radius:50%;position:absolute;inset:.25rem}.radio:disabled{--bs-radio-bg:var(--bs-radio-disabled-bg)}.radio:disabled~label{color:var(--bs-secondary-text);cursor:default}.radio:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.radio-sm{--bs-radio-size:1rem}.radio-lg{--bs-radio-size:1.5rem;--bs-radio-margin-block:0}.switch{--bs-switch-height:1.25rem;--bs-switch-width:calc(var(--bs-switch-height) * 1.5);--bs-switch-padding:.0625rem;--bs-switch-margin-block:.125rem;--bs-switch-bg:var(--bs-bg-3);--bs-switch-border-width:var(--bs-border-width);--bs-switch-border-color:var(--bs-border-color);--bs-switch-indicator-bg:var(--bs-white);--bs-switch-checked-bg:var(--bs-control-checked-bg);--bs-switch-checked-border-color:var(--bs-switch-checked-bg);--bs-switch-checked-indicator-bg:var(--bs-white);--bs-switch-disabled-bg:var(--bs-control-disabled-bg);--bs-switch-disabled-indicator-bg:var(--bs-fg-3);width:var(--bs-switch-width);height:var(--bs-switch-height);padding:var(--bs-switch-padding);margin-block:var(--bs-switch-margin-block);background-color:var(--bs-switch-bg);border:var(--bs-switch-border-width) solid var(--bs-switch-border-color);border-radius:10rem;flex-shrink:0;justify-content:flex-start;align-items:stretch;transition:padding-inline-start .15s ease-in-out,background-color .15s ease-in-out;display:flex;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.switch:before{width:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);height:calc(var(--bs-switch-height) - var(--bs-switch-padding) * 2 - var(--bs-switch-border-width) * 2);content:"";background-color:var(--bs-theme-contrast,var(--bs-switch-indicator-bg));border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.1)}.switch input{appearance:none;background-color:transparent;outline:0;position:absolute;inset:0}.switch:focus-within{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.switch:has(input:checked){background-color:var(--bs-theme-bg,var(--bs-switch-checked-bg));border-color:var(--bs-theme-bg,var(--bs-switch-checked-border-color));padding-inline-start:calc(var(--bs-switch-height) / 2 + var(--bs-switch-padding))}.switch:has(input:disabled){--bs-switch-bg:var(--bs-switch-disabled-bg);--bs-switch-indicator-bg:var(--bs-switch-disabled-indicator-bg)}.switch:has(input:disabled):before{opacity:.4}.switch:has(input:disabled)~label{color:var(--bs-secondary-text);cursor:default}.switch-sm{--bs-switch-height:1rem}.switch-lg{--bs-switch-height:1.5rem;--bs-switch-margin-block:0}.form-range{--bs-range-track-width:100%;--bs-range-track-height:.5rem;--bs-range-track-cursor:pointer;--bs-range-track-bg:var(--bs-bg-3);--bs-range-track-border-radius:1rem;--bs-range-track-box-shadow:var(--bs-box-shadow-inset);--bs-range-thumb-width:1rem;--bs-range-thumb-height:var(--bs-range-thumb-width);--bs-range-thumb-bg:var(--bs-primary-base);--bs-range-thumb-border:var(--bs-range-thumb-bg) solid var(--bs-border-color);--bs-range-thumb-border-radius:1rem;--bs-range-thumb-box-shadow:0 1px 2px rgba(0,0,0,.075), 0 2px 4px rgba(0,0,0,.075);--bs-range-thumb-active-bg:color-mix(in oklch, var(--bs-primary-base) 70%, var(--bs-bg-body));--bs-range-thumb-disabled-bg:var(--bs-fg-3);--bs-range-thumb-transition-property:background-color, border-color, box-shadow;--bs-range-thumb-transition-timing:.15s ease-in-out;--bs-range-thumb-transition:var(--bs-range-thumb-transition-property) var(--bs-range-thumb-transition-timing);width:100%;height:calc(var(--bs-range-thumb-height) + var(--bs-focus-ring-width) * 2);appearance:none;background-color:transparent;padding:0}.form-range:hover::-webkit-slider-thumb{outline:var(--bs-focus-ring-width) solid color-mix(in oklch, var(--bs-primary-focus-ring), transparent)}.form-range:hover::-moz-range-thumb{outline:var(--bs-focus-ring-width) solid color-mix(in oklch, var(--bs-primary-focus-ring), transparent)}.form-range:focus-visible{outline:0}.form-range:focus-visible::-webkit-slider-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:0}.form-range:focus-visible::-moz-range-thumb{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:0}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);background-image:var(--bs-gradient);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-webkit-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:var(--bs-range-thumb-active-bg);background-image:var(--bs-gradient)}.form-range::-webkit-slider-thumb{margin-top:calc((var(--bs-range-track-height) - var(--bs-range-thumb-height)) * .5)}.form-range::-moz-range-thumb{width:var(--bs-range-thumb-width);height:var(--bs-range-thumb-height);appearance:none;background-color:var(--bs-range-thumb-bg);background-image:var(--bs-gradient);border:var(--bs-range-thumb-border);border-radius:var(--bs-range-thumb-border-radius);box-shadow:var(--bs-range-thumb-box-shadow);-moz-transition:var(--bs-range-thumb-transition);transition:var(--bs-range-thumb-transition)}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:var(--bs-range-thumb-active-bg);background-image:var(--bs-gradient)}.form-range::-webkit-slider-runnable-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:transparent;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:transparent}.form-range::-moz-range-track{width:var(--bs-range-track-width);height:var(--bs-range-track-height);color:transparent;cursor:var(--bs-range-track-cursor);background-color:var(--bs-range-track-bg);border-radius:var(--bs-range-track-border-radius);box-shadow:var(--bs-range-track-box-shadow);border-color:transparent}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-range-thumb-disabled-bg)}.form-floating{--bs-form-floating-height:calc(3.5rem + var(--bs-border-width) * 2);--bs-form-floating-line-height:1.25;--bs-form-floating-padding-x:var(--bs-btn-input-padding-x);--bs-form-floating-padding-y:1rem;--bs-form-floating-input-padding-t:1.625rem;--bs-form-floating-input-padding-b:.625rem;--bs-form-floating-label-height:1.5em;--bs-form-floating-label-opacity:.65;--bs-form-floating-label-transform:scale(.85) translateY(-.5rem) translateX(.15rem);--bs-form-floating-label-disabled-color:var(--bs-fg-3);--bs-form-floating-transition-property:opacity, transform;--bs-form-floating-transition-timing:.1s ease-in-out;--bs-form-floating-transition:var(--bs-form-floating-transition-property) var(--bs-form-floating-transition-timing);position:relative}.form-floating>label{z-index:2;max-width:100%;height:100%;padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);color:color-mix(in oklch, var(--bs-fg-body) var(--bs-form-floating-label-opacity), transparent);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-input-btn-border-width) solid transparent;transform-origin:0 0;transition:var(--bs-form-floating-transition);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{height:var(--bs-form-floating-height);min-height:var(--bs-form-floating-height);padding:var(--bs-form-floating-padding-y) var(--bs-form-floating-padding-x);line-height:var(--bs-form-floating-line-height)}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control-plaintext:focus{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:not(:placeholder-shown){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:-webkit-autofill{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:var(--bs-form-floating-input-padding-t);padding-bottom:var(--bs-form-floating-input-padding-b)}.form-floating>.form-control:focus~label,.form-floating>.form-control-plaintext~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:not(:placeholder-shown)~label{transform:var(--bs-form-floating-label-transform)}.form-floating>.form-control:-webkit-autofill~label{transform:var(--bs-form-floating-label-transform)}.form-floating>textarea:focus~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:not(:placeholder-shown)~label:after{inset:var(--bs-form-floating-padding-y) calc(var(--bs-form-floating-padding-x) * .5);z-index:-1;height:var(--bs-form-floating-label-height);content:"";background-color:var(--bs-control-bg);border-radius:var(--bs-btn-input-border-radius);position:absolute}.form-floating>textarea:disabled~label:after{background-color:var(--bs-control-disabled-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-control-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:var(--bs-form-floating-label-disabled-color)}.strength{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:var(--bs-bg-2);--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);gap:var(--bs-strength-gap);width:100%;margin-top:var(--bs-strength-margin-top);display:flex}.strength-segment{height:var(--bs-strength-height);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);flex:1;transition:background-color .2s ease-in-out,width .3s ease-in-out}@media (prefers-reduced-motion:reduce){.strength-segment{transition:none}}.strength-segment.active{background-color:var(--bs-strength-color)}.strength[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color)}.strength[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color)}.strength[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color)}.strength[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color)}.strength-text{margin-top:var(--bs-strength-margin-top);font-size:var(--bs-font-size-xs);color:var(--bs-strength-color,var(--bs-fg-3));transition:color .2s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-text{transition:none}}.strength-text:empty{display:none}.strength-bar{--bs-strength-height:.375rem;--bs-strength-gap:.25rem;--bs-strength-margin-top:.25rem;--bs-strength-border-radius:var(--bs-border-radius-pill);--bs-strength-bg:var(--bs-bg-2);--bs-strength-color:transparent;--bs-strength-weak-color:var(--bs-danger-bg);--bs-strength-fair-color:var(--bs-warning-bg);--bs-strength-good-color:var(--bs-info-bg);--bs-strength-strong-color:var(--bs-success-bg);--bs-strength-width:0%;width:100%;height:var(--bs-strength-height);margin-top:var(--bs-strength-margin-top);background-color:var(--bs-strength-bg);border-radius:var(--bs-strength-border-radius);overflow:hidden}.strength-bar:after{width:var(--bs-strength-width);content:"";background-color:var(--bs-strength-color);border-radius:var(--bs-strength-border-radius);height:100%;transition:background-color .2s ease-in-out,width .3s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.strength-bar:after{transition:none}}.strength-bar[data-bs-strength=weak]{--bs-strength-color:var(--bs-strength-weak-color);--bs-strength-width:25%}.strength-bar[data-bs-strength=fair]{--bs-strength-color:var(--bs-strength-fair-color);--bs-strength-width:50%}.strength-bar[data-bs-strength=good]{--bs-strength-color:var(--bs-strength-good-color);--bs-strength-width:75%}.strength-bar[data-bs-strength=strong]{--bs-strength-color:var(--bs-strength-strong-color);--bs-strength-width:100%}.form-adorn{--bs-form-adorn-gap:.375rem;--bs-form-adorn-icon-size:1rem;--bs-form-adorn-icon-color:var(--bs-fg-2);gap:var(--bs-form-adorn-gap);align-items:center}.form-adorn:focus-visible{outline:0}.form-adorn:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.form-adorn>.form-ghost{flex:1;min-width:0}.form-adorn.form-adorn-end>.form-ghost{order:-1}.form-adorn-icon{color:var(--bs-form-adorn-icon-color);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.form-adorn-icon>svg{width:var(--bs-form-adorn-icon-size);height:var(--bs-form-adorn-icon-size)}.form-adorn-text{color:var(--bs-form-adorn-icon-color);pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.chip-input{--bs-chip-input-padding-y:.75rem;--bs-chip-input-padding-x:.75rem;--bs-chip-input-gap:.375rem;--bs-chip-input-ghost-min-width:5rem;--bs-control-fg:var(--bs-btn-input-fg);--bs-control-bg:var(--bs-btn-input-bg);--bs-control-border-width:var(--bs-border-width);--bs-control-border-color:var(--bs-border-color);--bs-control-border-radius:var(--bs-border-radius);gap:var(--bs-chip-input-gap);padding:var(--bs-chip-input-padding-y) var(--bs-chip-input-padding-x);color:var(--bs-control-fg);background-color:var(--bs-control-bg);border:var(--bs-control-border-width) solid var(--bs-control-border-color);border-radius:var(--bs-control-border-radius);flex-wrap:wrap;align-items:center;display:flex}.chip-input:focus-within{--bs-focus-ring-offset:-1px;border-color:var(--bs-focus-ring-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.chip-input>.form-ghost{min-width:var(--bs-chip-input-ghost-min-width);flex:1 1 0;min-height:1.75rem}.chip-input.disabled{background-color:var(--bs-bg-2);opacity:1}.chip-input:has(.form-ghost:disabled){background-color:var(--bs-bg-2);opacity:1}.chip-input.disabled>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input:has(.form-ghost:disabled)>.chip{opacity:var(--bs-control-disabled-opacity)}.chip-input.disabled>.chip .chip-dismiss{pointer-events:none}.chip-input:has(.form-ghost:disabled)>.chip .chip-dismiss{pointer-events:none}.chip-input.disabled>.form-ghost{cursor:not-allowed}.chip-input:has(.form-ghost:disabled)>.form-ghost{cursor:not-allowed}}@layer components{.input-group{--bs-input-group-addon-padding-y:var(--bs-btn-input-padding-y);--bs-input-group-addon-padding-x:var(--bs-btn-input-padding-x);--bs-input-group-addon-font-size:var(--bs-btn-input-font-size);--bs-input-group-addon-line-height:var(--bs-btn-input-line-height);--bs-input-group-addon-color:var(--bs-fg-body);--bs-input-group-addon-bg:var(--bs-bg-2);--bs-input-group-addon-border-color:var(--bs-border-color);flex-wrap:wrap;align-items:stretch;width:100%;display:flex;position:relative}.input-group>.form-control,.input-group>.form-floating{flex:auto;width:1%;min-width:0;position:relative}.input-group>.form-control:focus{z-index:5}.input-group>.form-floating:focus-within{z-index:5}.input-group>.input-group-btn{z-index:2;position:relative}.input-group>.input-group-btn:focus{z-index:5}.input-group-text{padding:var(--bs-input-group-addon-padding-y) var(--bs-input-group-addon-padding-x);font-size:var(--bs-input-group-addon-font-size);line-height:var(--bs-input-group-addon-line-height);color:var(--bs-input-group-addon-color);text-align:center;white-space:nowrap;background-color:var(--bs-input-group-addon-bg);border:var(--bs-border-width) solid var(--bs-input-group-addon-border-color);border-radius:var(--bs-btn-input-border-radius);align-items:center;display:flex}.input-group-sm>.form-control,.input-group-sm>.input-group-text,.input-group-sm>.btn{min-height:var(--bs-btn-input-sm-min-height);padding:var(--bs-btn-input-sm-padding-y) var(--bs-btn-input-sm-padding-x);font-size:var(--bs-btn-input-sm-font-size);border-radius:var(--bs-btn-input-sm-border-radius)}.input-group-lg>.form-control,.input-group-lg>.input-group-text,.input-group-lg>.btn{min-height:var(--bs-btn-input-lg-min-height);padding:var(--bs-btn-input-lg-padding-y) var(--bs-btn-input-lg-padding-x);font-size:var(--bs-btn-input-lg-font-size);border-radius:var(--bs-btn-input-lg-border-radius)}.input-group:not(.has-validation)>:not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group:not(.has-validation)>.menu-toggle-split:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),.input-group.has-validation>.menu-toggle-split:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-start-end-radius:0;border-end-end-radius:0}.input-group>:not(:first-child):not(.menu){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:calc(-1 * var(--bs-border-width))}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-start-start-radius:0;border-end-start-radius:0}.otp{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-font-size);--bs-otp-gap:.5rem;gap:var(--bs-otp-gap);display:inline-flex}.otp .form-control{width:var(--bs-otp-size);min-height:var(--bs-otp-size);font-size:var(--bs-otp-font-size);text-align:center;border-radius:var(--bs-otp-border-radius,var(--bs-btn-input-border-radius));padding:0;font-weight:500;line-height:1}.otp .form-control::-webkit-outer-spin-button{appearance:none;margin:0}.otp .form-control::-webkit-inner-spin-button{appearance:none;margin:0}.otp .form-control[type=number]{appearance:textfield}.otp .form-control:focus{z-index:1}.otp .form-control:focus-visible{z-index:1}.otp.is-valid .form-control,.was-validated .otp:valid .form-control{border-color:var(--bs-form-valid-border-color)}.otp.is-valid .form-control:focus,.was-validated .otp:valid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-success-rgb), .25);border-color:var(--bs-form-valid-border-color)}.otp.is-invalid .form-control,.was-validated .otp:invalid .form-control{border-color:var(--bs-form-invalid-border-color)}.otp.is-invalid .form-control:focus,.was-validated .otp:invalid .form-control:focus{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), .25);border-color:var(--bs-form-invalid-border-color)}.otp.input-group{gap:0;width:auto}.otp.input-group .form-control{flex:none}.otp-separator{padding-inline:var(--bs-otp-gap);font-size:var(--bs-otp-font-size);color:var(--bs-fg-4);-webkit-user-select:none;user-select:none;align-items:center;display:flex}.otp-sm{--bs-otp-size:var(--bs-btn-input-sm-min-height);--bs-otp-font-size:var(--bs-btn-input-sm-font-size);--bs-otp-border-radius:var(--bs-btn-input-sm-border-radius)}.otp-lg{--bs-otp-size:var(--bs-btn-input-lg-min-height);--bs-otp-font-size:var(--bs-btn-input-lg-font-size);--bs-otp-border-radius:var(--bs-btn-input-lg-border-radius)}.combobox-toggle{width:100%;text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding-inline-end:var(--bs-control-padding-x);display:inline-flex}.combobox-toggle.show{background-color:var(--bs-bg-1)}.combobox-toggle:disabled,.combobox-toggle.disabled{cursor:not-allowed;opacity:.65}.combobox-value{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;display:flex;overflow:hidden}.combobox-placeholder{color:color-mix(in oklch, currentcolor 65%, transparent)}.combobox-caret{flex-shrink:0;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.combobox-caret{transition:none}}.show>.combobox-caret{transform:rotate(180deg)}.combobox-toggle+.menu{--bs-menu-max-height:300px;--bs-menu-overflow-y:auto}.combobox-search{z-index:1;padding:var(--bs-menu-padding-x,.25rem);background-color:var(--bs-menu-bg,var(--bs-bg-body));position:sticky;top:0}.combobox-search-input{width:100%}.combobox-no-results{font-size:var(--bs-font-size-sm);color:var(--bs-fg-3);text-align:center;padding:1rem}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.75rem;--bs-tooltip-padding-y:.375rem;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-bg-body);--bs-tooltip-bg:var(--bs-fg-body);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.95;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0;text-decoration:none;display:block}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height);display:block}.tooltip .tooltip-arrow:before{content:"";border-style:solid;border-color:transparent;position:absolute}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow:before{border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-block-start-color:var(--bs-tooltip-bg);top:-1px}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-inline-end-color:var(--bs-tooltip-bg);right:-1px}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow:before{border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-block-end-color:var(--bs-tooltip-bg);bottom:-1px}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow:before{border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-inline-start-color:var(--bs-tooltip-bg);left:-1px}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.valid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-valid-color);margin-top:.5rem;display:none}.valid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-success-contrast);background-color:var(--bs-success-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-success-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.form-control.is-valid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-success-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-success-border)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-success-border)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-inline-start:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid{z-index:3}.was-validated .input-group>.form-floating:not(:focus-within):valid{z-index:3}.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{width:100%;font-size:var(--bs-font-size-xs);color:var(--bs-form-invalid-color);margin-top:.5rem;display:none}.invalid-tooltip{z-index:5;max-width:100%;padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);font-size:var(--bs-tooltip-font-size);color:var(--bs-danger-contrast);background-color:var(--bs-danger-bg);border-radius:var(--bs-tooltip-border-radius);margin-top:.1rem;display:none;position:absolute;top:100%}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-danger-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dd0d37'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dd0d37' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--bs-control-padding-x) center;background-size:1rem;padding-inline-end:calc(var(--bs-control-padding-x) * 3.5)}.was-validated .form-control:invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.form-control.is-invalid:focus-visible{outline:var(--bs-focus-ring-width) solid var(--bs-danger-focus-ring);outline-offset:var(--bs-focus-ring-offset);border-color:var(--bs-danger-border)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:right var(--bs-control-padding-x) top var(--bs-control-padding-x)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-danger-border)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-inline-start:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid{z-index:4}.was-validated .input-group>.form-floating:not(:focus-within):invalid{z-index:4}.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{--bs-btn-min-height:var(--bs-btn-input-min-height);--bs-btn-padding-x:var(--bs-btn-input-padding-x);--bs-btn-padding-y:var(--bs-btn-input-padding-y);--bs-btn-font-size:var(--bs-btn-input-font-size);--bs-btn-font-weight:var(--bs-btn-input-font-weight);--bs-btn-line-height:var(--bs-btn-input-line-height);--bs-btn-color:var(--bs-fg-body);--bs-btn-white-space:nowrap;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:.65;--bs-btn-transition-timing:.15s ease-in-out;--bs-btn-transition-property:color, background-color, border-color, box-shadow;--bs-btn-transition:var(--bs-btn-transition-property) var(--bs-btn-transition-timing);gap:var(--bs-btn-gap,.25rem);min-height:var(--bs-btn-min-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);white-space:var(--bs-btn-white-space);vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--bs-btn-bg,var(--bs-bg-2));border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);transition:var(--bs-btn-transition);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:reduce){.btn,.btn-link,.btn-icon,.btn-solid,.btn-outline,.btn-subtle,.btn-text{transition:none}}.btn:hover,.btn-link:hover,.btn-icon:hover,.btn-solid:hover,.btn-outline:hover,.btn-subtle:hover,.btn-text:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg,var(--bs-bg-3));border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-link:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-icon:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-solid:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-outline:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-subtle:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-text:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn.active,.btn.show,.btn-link.active,.btn-link.show,.btn-icon.active,.btn-icon.show,.btn-solid.active,.btn-solid.show,.btn-outline.active,.btn-outline.show,.btn-subtle.active,.btn-subtle.show,.btn-text.active,.btn-text.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-link.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-link.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-icon.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-icon.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-solid.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-solid.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-outline.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-subtle.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-subtle.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-text.active:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn-text.show:focus-visible{outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.btn:disabled,.btn.disabled,fieldset:disabled .btn,.btn-link:disabled,.btn-link.disabled,fieldset:disabled .btn-link,.btn-icon:disabled,.btn-icon.disabled,fieldset:disabled .btn-icon,.btn-solid:disabled,.btn-solid.disabled,fieldset:disabled .btn-solid,.btn-outline:disabled,.btn-outline.disabled,fieldset:disabled .btn-outline,.btn-subtle:disabled,.btn-subtle.disabled,fieldset:disabled .btn-subtle,.btn-text:disabled,.btn-text.disabled,fieldset:disabled .btn-text{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);background-image:none}.btn-solid{--bs-btn-bg:var(--bs-theme-bg);--bs-btn-color:var(--bs-theme-contrast);--bs-btn-border-color:var(--bs-theme-bg);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h)}.btn-solid:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-solid:active,.btn-solid.active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h)}.btn-solid:disabled,.btn-solid.disabled{--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-solid.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg);--bs-btn-disabled-color:var(--bs-theme-contrast);--bs-btn-disabled-border-color:var(--bs-theme-bg)}.btn-outline{--bs-btn-bg:transparent;--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:var(--bs-theme-border);--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline:hover{--bs-btn-hover-bg:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-color:oklch(from var(--bs-theme-contrast) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-border-color:oklch(from var(--bs-theme-bg) calc(l * .95) calc(c * 1.1) h)}.btn-outline:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-outline:active,.btn-outline.active{--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline.btn-check:has(input:checked){--bs-btn-active-bg:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-color:oklch(from var(--bs-theme-contrast) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-border-color:oklch(from var(--bs-theme-bg) calc(l * .9) calc(c * 1.15) h)}.btn-outline:disabled,.btn-outline.disabled{--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-outline.btn-check:has(input:disabled){--bs-btn-disabled-bg:transparent;--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:var(--bs-theme-border)}.btn-subtle{--bs-btn-bg:var(--bs-theme-bg-subtle);--bs-btn-color:var(--bs-theme-text);--bs-btn-border-color:transparent;--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle:hover{--bs-btn-hover-bg:color-mix(in oklch, var(--bs-theme-bg-muted) 50%, var(--bs-theme-bg-subtle));--bs-btn-hover-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .95) calc(c * 1.1) h)}.btn-subtle:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-subtle:active,.btn-subtle.active{--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle.btn-check:has(input:checked){--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-active-color:oklch(from var(--bs-theme-text-emphasis) calc(l * .9) calc(c * 1.15) h)}.btn-subtle:disabled,.btn-subtle.disabled{--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-subtle.btn-check:has(input:disabled){--bs-btn-disabled-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-border-color:transparent}.btn-text{--bs-btn-color:var(--bs-theme-text);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle);--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text:hover{--bs-btn-hover-color:oklch(from var(--bs-theme-text) calc(l * .95) calc(c * 1.1) h);--bs-btn-hover-bg:var(--bs-theme-bg-subtle)}.btn-text:focus-visible{outline-color:var(--bs-theme-focus-ring)}.btn-text:active,.btn-text.active{--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text.btn-check:has(input:checked){--bs-btn-active-color:oklch(from var(--bs-theme-text) calc(l * .9) calc(c * 1.15) h);--bs-btn-active-bg:var(--bs-theme-bg-subtle)}.btn-text:disabled,.btn-text.disabled{--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-text.btn-check:has(input:disabled){--bs-btn-disabled-color:var(--bs-theme-text);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent}.btn-link{--bs-btn-font-weight:var(--bs-font-weight-normal);--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-bg:transparent;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-bg:transparent;--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--bs-fg-3);--bs-btn-disabled-border-color:transparent;color:var(--bs-theme-text,var(--bs-btn-color));-webkit-text-decoration:var(--bs-link-decoration);-webkit-text-decoration:var(--bs-link-decoration);text-decoration:var(--bs-link-decoration);background-image:none}.btn-link:focus-visible{color:var(--bs-theme-text,var(--bs-btn-color))}.btn-link:hover{color:var(--bs-theme-text-emphasis,var(--bs-btn-hover-color))}.btn-xs,.btn-group-xs>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-xs-min-height);--bs-btn-padding-y:var(--bs-btn-input-xs-padding-y);--bs-btn-padding-x:var(--bs-btn-input-xs-padding-x);--bs-btn-font-size:var(--bs-btn-input-xs-font-size);--bs-btn-line-height:var(--bs-btn-input-xs-line-height);--bs-btn-border-radius:var(--bs-btn-input-xs-border-radius)}.btn-sm,.btn-group-sm>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-sm-min-height);--bs-btn-padding-y:var(--bs-btn-input-sm-padding-y);--bs-btn-padding-x:var(--bs-btn-input-sm-padding-x);--bs-btn-font-size:var(--bs-btn-input-sm-font-size);--bs-btn-line-height:var(--bs-btn-input-sm-line-height);--bs-btn-border-radius:var(--bs-btn-input-sm-border-radius)}.btn-lg,.btn-group-lg>[class*=btn-]{--bs-btn-min-height:var(--bs-btn-input-lg-min-height);--bs-btn-padding-y:var(--bs-btn-input-lg-padding-y);--bs-btn-padding-x:var(--bs-btn-input-lg-padding-x);--bs-btn-font-size:var(--bs-btn-input-lg-font-size);--bs-btn-line-height:var(--bs-btn-input-lg-line-height);--bs-btn-border-radius:var(--bs-btn-input-lg-border-radius)}.btn-icon{aspect-ratio:1;justify-content:center;align-items:center;padding:0}.btn-check>input{clip:rect(0, 0, 0, 0);pointer-events:none;position:absolute}.btn-check:has(input:checked){color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg,var(--bs-bg-3));border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow);background-image:none}.btn-check:has(input:focus-visible){outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);--bs-focus-ring-offset:1px}.btn-check:has(input:disabled){color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg,var(--bs-bg-1));border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity);box-shadow:none;background-image:none}.btn-styled{--bs-btn-gradient-start:rgba(255,255,255,.125);--bs-btn-gradient-end:rgba(0,0,0,.075);--bs-btn-border-mix-color:#000;--bs-btn-border-mix-amount:10%;--bs-btn-border-hover-mix-amount:12.5%;--bs-btn-border-active-mix-amount:20%;--bs-btn-shadow:0 1px 2px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.1);--bs-btn-active-shadow:inset 0 2px 4px rgba(0,0,0,.15);background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-mix-amount));box-shadow:var(--bs-btn-shadow)}.btn-styled:hover{background-image:linear-gradient(to bottom, var(--bs-btn-gradient-start), var(--bs-btn-gradient-end));border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-hover-mix-amount))}.btn-styled:active,.btn-styled.active{border-color:color-mix(in lab, var(--bs-theme-bg), var(--bs-btn-border-mix-color) var(--bs-btn-border-active-mix-amount));box-shadow:var(--bs-btn-active-shadow);background-image:none}.btn-styled:disabled,.btn-styled.disabled{box-shadow:none;background-image:none}.btn-group,.btn-group-vertical{vertical-align:middle;display:inline-flex;position:relative}.btn-group>[class*=btn-],.btn-group-vertical>[class*=btn-]{flex:auto;position:relative}.btn-group>[class*=btn-]:hover,.btn-group-vertical>[class*=btn-]:hover{z-index:1}.btn-group>[class*=btn-]:active,.btn-group>[class*=btn-].active,.btn-group-vertical>[class*=btn-]:active,.btn-group-vertical>[class*=btn-].active{z-index:2}.btn-group>.btn-check:has(input:checked){z-index:2}.btn-group-vertical>.btn-check:has(input:checked){z-index:2}.btn-group>[class*=btn-]:focus,.btn-group-vertical>[class*=btn-]:focus{z-index:3}.btn-group>.btn-check:has(input:focus){z-index:3}.btn-group-vertical>.btn-check:has(input:focus){z-index:3}.btn-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;display:flex}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-btn-border-radius)}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-inline-start:calc(-1 * var(--bs-btn-border-width))}.btn-group>.btn-group:not(:last-child)>[class*=btn-]{border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:last-child):not(:has(+.menu)){border-start-end-radius:0;border-end-end-radius:0}.btn-group>[class*=btn-]:not(:first-child),.btn-group>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-end-start-radius:0}.btn-group-vertical{flex-direction:column;justify-content:center;align-items:flex-start}.btn-group-vertical>[class*=btn-],.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(-1 * var(--bs-btn-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>[class*=btn-]{border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:last-child):not(:has(+.menu)){border-end-end-radius:0;border-end-start-radius:0}.btn-group-vertical>[class*=btn-]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>[class*=btn-]{border-start-start-radius:0;border-start-end-radius:0}.btn-close{--bs-btn-close-size:1.25rem;--bs-btn-close-color:inherit;--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-opacity:.85;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:var(--bs-btn-close-size);height:var(--bs-btn-close-size);color:var(--bs-btn-close-color);border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity);background:0 0;border:0;padding:0}.btn-close>svg{fill:currentColor;width:100%;height:100%;display:block}.btn-close:hover{color:var(--bs-btn-close-color);opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus-visible{opacity:var(--bs-btn-close-focus-opacity);outline:var(--bs-focus-ring)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.accordion{--bs-accordion-padding-x:1.25rem;--bs-accordion-padding-y:1rem;--bs-accordion-color:var(--bs-fg-body);--bs-accordion-bg:var(--bs-bg-body);--bs-accordion-transition-property:color, background-color, border-radius;--bs-accordion-transition-timing:.15s ease-in-out;--bs-accordion-transition:var(--bs-accordion-transition-property) var(--bs-accordion-timing);--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-accordion-radius,var(--bs-border-radius-lg));--bs-accordion-btn-color:var(--bs-fg-2);--bs-accordion-btn-bg:var(--bs-bg-body);--bs-accordion-btn-icon-width:1rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-active-color:var(--bs-fg);--bs-accordion-active-bg:var(--bs-bg-2)}.accordion-header{width:100%;padding:var(--bs-accordion-btn-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-btn-padding-x,var(--bs-accordion-padding-x));font-size:var(--bs-accordion-font-size,var(--bs-font-size-base));color:var(--bs-accordion-btn-color);text-align:start;cursor:pointer;background-color:var(--bs-accordion-btn-bg);transition:var(--bs-accordion-transition);align-items:center;list-style:none;display:flex}@media (prefers-reduced-motion:reduce){.accordion-header{transition:none}}.accordion-header .accordion-icon{width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);color:currentColor;transition:var(--bs-accordion-btn-icon-transition);flex-shrink:0;margin-inline-start:auto}@media (prefers-reduced-motion:reduce){.accordion-header .accordion-icon{transition:none}}.accordion-header:hover{z-index:2}.accordion-header:focus-visible{z-index:3;outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset);outline-offset:-1px;position:relative}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-start-start-radius:var(--bs-accordion-border-radius);border-start-end-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header{border-start-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-start-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:not(:first-of-type){border-block-start:0}.accordion-item:last-of-type{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header{border-end-end-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));border-end-start-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width))}.accordion-item:last-of-type>.accordion-body{border-end-end-radius:var(--bs-accordion-border-radius);border-end-start-radius:var(--bs-accordion-border-radius)}.accordion-item[open]{border-color:var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header{color:var(--bs-theme-text,var(--bs-accordion-active-color));background-color:var(--bs-theme-bg-subtle,var(--bs-accordion-active-bg));box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-theme-border,var(--bs-accordion-border-color))}.accordion-item[open]>.accordion-header .accordion-icon{transform:var(--bs-accordion-btn-icon-transform)}.accordion-item[open]:last-of-type>.accordion-header{border-end-end-radius:0;border-end-start-radius:0}.accordion-body{padding:var(--bs-accordion-body-padding-y,var(--bs-accordion-padding-y)) var(--bs-accordion-body-padding-x,var(--bs-accordion-padding-x))}.accordion-flush>.accordion-item{border-inline:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-block-start:0}.accordion-flush>.accordion-item:last-child{border-block-end:0}.accordion-flush>.accordion-item>.accordion-header,.accordion-flush>.accordion-item>.accordion-body{border-radius:0}.alert{--bs-alert-gap:.75rem;--bs-alert-bg:var(--bs-theme-bg-subtle,var(--bs-bg-1));--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-color:var(--bs-theme-text,inherit);--bs-alert-border-color:var(--bs-theme-border,var(--bs-border-color));--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;--bs-hr-border-color:var(--bs-theme-border,var(--bs-border-color));gap:var(--bs-alert-gap);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);align-items:start;display:flex}.alert>p{margin-bottom:0}.alert-heading{color:inherit}.alert-link{font-weight:var(--bs-font-weight-semibold);color:var(--bs-alert-link-color)}.avatar{--bs-avatar-size:2.5rem;--bs-avatar-border-radius:50%;--bs-avatar-border-width:2px;--bs-avatar-border-color:var(--bs-bg-body);--bs-avatar-bg:var(--bs-bg-2);--bs-avatar-color:var(--bs-fg-body);--bs-avatar-status-size:.75rem;--bs-avatar-status-border-width:2px;--bs-avatar-status-border-color:var(--bs-bg-body);--bs-avatar-stack-spacing:-.3;--bs-avatar-stack-transition:transform .2s ease-in-out;width:var(--bs-avatar-size);height:var(--bs-avatar-size);font-size:calc(var(--bs-avatar-size) * .4);font-weight:var(--bs-avatar-font-weight,var(--bs-font-weight-medium));color:var(--bs-theme-contrast,var(--bs-avatar-color));text-transform:uppercase;vertical-align:middle;background-color:var(--bs-theme-bg,var(--bs-avatar-bg));border-radius:var(--bs-avatar-border-radius);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.avatar-subtle{color:var(--bs-theme-text,var(--bs-avatar-color));background-color:var(--bs-theme-bg-subtle,var(--bs-avatar-bg))}.avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%}.avatar-status{right:calc(var(--bs-avatar-status-border-width) * -1);bottom:calc(var(--bs-avatar-status-border-width) * -1);width:var(--bs-avatar-status-size);height:var(--bs-avatar-status-size);background-color:var(--bs-gray-400);border:var(--bs-avatar-status-border-width) solid var(--bs-avatar-status-border-color);border-radius:50%;position:absolute}.avatar-status.status-online{background-color:var(--bs-green-500)}.avatar-status.status-offline{background-color:var(--bs-gray-400);border-radius:20%}.avatar-status.status-busy{background-color:var(--bs-red-500);border-radius:20%}.avatar-status.status-away{background-color:var(--bs-yellow-500)}.avatar-stack{flex-direction:row-reverse;display:inline-flex}.avatar-stack .avatar{margin-left:calc(var(--bs-avatar-size) * var(--bs-avatar-stack-spacing));border:var(--bs-avatar-border-width) solid var(--bs-avatar-border-color);transition:var(--bs-avatar-stack-transition);mask-image:none}@media (prefers-reduced-motion:reduce){.avatar-stack .avatar{transition:none}}.avatar-stack .avatar:last-child{margin-left:0}.avatar-stack .avatar:hover{z-index:1;transform:translateY(-2px)}.avatar-xs,.avatar-stack-xs{--bs-avatar-size:1.5rem;--bs-avatar-status-size:.625rem}.avatar-sm,.avatar-stack-sm{--bs-avatar-size:2rem}.avatar-lg,.avatar-stack-lg{--bs-avatar-size:3rem;--bs-avatar-status-size:1rem}.avatar-xl,.avatar-stack-xl{--bs-avatar-size:4rem;--bs-avatar-status-size:1.25rem}.badge{--bs-badge-padding-x:.625em;--bs-badge-padding-y:.25em;--bs-badge-font-size:clamp(12px, .75em, .75em);--bs-badge-font-weight:var(--bs-font-weight-semibold);--bs-badge-color:inherit;--bs-badge-bg:var(--bs-bg-2);--bs-badge-border-width:var(--bs-border-width);--bs-badge-border-color:transparent;--bs-badge-border-radius:var(--bs-border-radius-lg);min-height:1.375rem;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);color:var(--bs-theme-contrast,var(--bs-badge-color));text-align:center;white-space:nowrap;vertical-align:baseline;background-color:var(--bs-theme-bg,var(--bs-badge-bg));border:var(--bs-badge-border-width) solid var(--bs-badge-border-color);border-radius:var(--bs-badge-border-radius);background-image:var(--bs-gradient);justify-content:center;align-items:center;line-height:1;display:inline-flex}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-subtle{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:var(--bs-theme-bg-subtle);--bs-badge-border-color:transparent;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.badge-outline{--bs-badge-color:var(--bs-theme-text);--bs-badge-bg:transparent;--bs-badge-border-color:var(--bs-theme-border);color:var(--bs-badge-color);background-color:var(--bs-badge-bg);border-color:var(--bs-badge-border-color)}.breadcrumb{--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-font-size:inherit;--bs-breadcrumb-bg:transparent;--bs-breadcrumb-border-radius:var(--bs-border-radius);--bs-breadcrumb-divider-color:var(--bs-fg-4);--bs-breadcrumb-link-padding-x:.75rem;--bs-breadcrumb-link-padding-y:.25rem;--bs-breadcrumb-link-color:var(--bs-fg-3);--bs-breadcrumb-link-hover-color:var(--bs-fg-2);--bs-breadcrumb-link-hover-bg:var(--bs-bg-1);--bs-breadcrumb-link-active-color:var(--bs-fg-1);--bs-breadcrumb-link-border-radius:var(--bs-border-radius-lg);padding:var(--bs-breadcrumb-padding-y,0) var(--bs-breadcrumb-padding-x,0);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);flex-wrap:wrap;align-items:center;list-style:none;display:flex}.breadcrumb-item{display:flex}.breadcrumb-divider{margin-inline:calc(var(--bs-breadcrumb-link-padding-x) / 4);color:var(--bs-breadcrumb-divider-color)}.breadcrumb-link{min-height:2.25rem;padding:var(--bs-breadcrumb-link-padding-y) var(--bs-breadcrumb-link-padding-x);color:var(--bs-breadcrumb-link-color);border-radius:var(--bs-breadcrumb-link-border-radius);justify-content:center;align-items:center;text-decoration:none;transition:text-decoration-color .1s ease-in-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.breadcrumb-link{transition:none}}.breadcrumb-link:hover{z-index:2;color:var(--bs-breadcrumb-link-hover-color);background-color:var(--bs-breadcrumb-link-hover-bg)}.breadcrumb-link.active{color:var(--bs-breadcrumb-link-active-color)}.chip{--bs-chip-height:1.75rem;--bs-chip-padding-x:.625rem;--bs-chip-gap:.3125rem;--bs-chip-border-radius:var(--bs-border-radius-pill);--bs-chip-img-size:1.25rem;--bs-chip-icon-size:1rem;--bs-chip-dismiss-size:1rem;--bs-chip-dismiss-opacity:.65;--bs-chip-dismiss-hover-opacity:1;--bs-chip-color:var(--bs-theme-text,var(--bs-fg-body));--bs-chip-bg:var(--bs-theme-bg-subtle,var(--bs-bg-2));--bs-chip-border-color:transparent;--bs-chip-selected-color:var(--bs-theme-contrast,var(--bs-primary-contrast));--bs-chip-selected-bg:var(--bs-theme-bg,var(--bs-primary-bg));--bs-chip-selected-border-color:var(--bs-theme-bg,var(--bs-primary-bg));gap:var(--bs-chip-gap);height:var(--bs-chip-height);padding-inline:var(--bs-chip-padding-x);font-size:var(--bs-chip-font-size,var(--bs-font-size-sm));font-weight:var(--bs-chip-font-weight,var(--bs-font-weight-base));line-height:var(--bs-chip-line-height,1.25rem);color:var(--bs-chip-color);white-space:nowrap;vertical-align:middle;cursor:pointer;background-color:var(--bs-chip-bg);border:var(--bs-border-width) solid var(--bs-chip-border-color);border-radius:var(--bs-chip-border-radius);align-items:center;text-decoration:none;display:inline-flex}.chip:hover{--bs-chip-bg:var(--bs-theme-bg-muted,var(--bs-bg-3))}.chip:focus-visible{outline:0}.chip.active{--bs-chip-color:var(--bs-chip-selected-color);--bs-chip-bg:var(--bs-chip-selected-bg);--bs-chip-border-color:var(--bs-chip-selected-border-color)}.chip.active:hover{--bs-chip-bg:var(--bs-chip-selected-bg);opacity:.9}.chip.disabled,.chip:disabled{pointer-events:none;opacity:.65}.chip-img{width:var(--bs-chip-img-size);height:var(--bs-chip-img-size);border-radius:50%}.chip-img:first-child{margin-inline-start:-.375rem}.chip-icon{flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:calc(var(--bs-chip-gap) * -.25);display:flex}.chip-icon>svg{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);display:block}.chip-icon>img{width:var(--bs-chip-icon-size);height:var(--bs-chip-icon-size);-o-object-fit:cover;object-fit:cover;border-radius:50%}.chip-dismiss{width:var(--bs-chip-min-height);height:var(--bs-chip-min-height);color:inherit;cursor:pointer;opacity:var(--bs-chip-dismiss-opacity);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:calc(var(--bs-chip-padding-x) * -.25);padding:0;display:flex}.chip-dismiss:hover{opacity:var(--bs-chip-dismiss-hover-opacity)}.chip-dismiss:focus-visible{opacity:1;outline:0;outline:var(--bs-focus-ring)}.chip-dismiss>svg{width:var(--bs-chip-dismiss-size);height:var(--bs-chip-dismiss-size);display:block}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-subtitle-color:inherit;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow:none;--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-card-cap-padding-y:.75rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:var(--bs-bg-1);--bs-card-cap-color:inherit;--bs-card-height:auto;--bs-card-color:inherit;--bs-card-bg:var(--bs-bg-body);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;--bs-card-body-gap:.5rem;min-width:0;height:var(--bs-card-height);color:var(--bs-fg-body);word-wrap:break-word;background-color:var(--bs-card-bg);box-shadow:var(--bs-card-box-shadow);flex-direction:column;display:flex;position:relative}.card>hr{margin-inline:0}.card-body{gap:var(--bs-card-body-gap);padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color);border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width);flex-direction:column;flex:auto;align-items:flex-start;display:flex}.card-body>*{margin-block:0}.card-body,.card-list{border:solid var(--bs-theme-bg,var(--bs-card-border-color));border-width:0 var(--bs-card-border-width)}.card-body:first-child,.card-list:first-child{border-top-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-border-radius);border-start-end-radius:var(--bs-card-border-radius)}.card-body:last-child,.card-list:last-child{border-bottom-width:var(--bs-card-border-width);border-end-end-radius:var(--bs-card-border-radius);border-end-start-radius:var(--bs-card-border-radius)}.card-body:not(:first-child):not(:last-child),.card-list:not(:first-child):not(:last-child){border-block-end-width:var(--bs-card-border-width)}.card-title,.card-subtitle,.card-text{align-self:stretch}.card-subtitle{margin-top:calc(var(--bs-card-body-gap) * -.5)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-theme-contrast,var(--bs-card-cap-color));background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color));margin-bottom:0}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-theme-bg,var(--bs-card-cap-bg));border:var(--bs-card-border-width) solid var(--bs-theme-bg,var(--bs-card-border-color))}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-translucent{background-color:color-mix(in oklch, var(--bs-card-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.card-translucent .card-header,.card-translucent .card-footer{background-color:color-mix(in oklch, var(--bs-card-cap-bg) 60%, transparent)}.card-subtle{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-header,.card-subtle .card-footer{color:var(--bs-theme-text-emphasis,currentcolor);background-color:var(--bs-theme-bg-subtle,var(--bs-card-cap-bg));border-color:var(--bs-theme-border,var(--bs-card-border-color))}.card-subtle .card-body,.card-subtle .card-list{border-color:var(--bs-theme-border,var(--bs-card-border-color))}.nav.card-header-tabs{margin-inline:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-block-end:0}.nav.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-block-end-color:var(--bs-card-bg)}.card-img-overlay{padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius);position:absolute;inset:0}.card-img,.card-img-top,.card-img-bottom{outline:var(--bs-card-border-width) solid var(--bs-card-border-color);outline-offset:calc(var(--bs-card-border-width) * -1);width:100%}.card-img,.card-img-top{border-start-start-radius:var(--bs-card-inner-border-radius);border-start-end-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-end-end-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row{flex-direction:row}.card-row .card-body,.card-row .card-list{border-width:var(--bs-card-border-width) 0;border-radius:0}.card-row .card-body:first-child,.card-row .card-list:first-child{border-inline-start-width:var(--bs-card-border-width);border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:last-child,.card-row .card-list:last-child{border-inline-end-width:var(--bs-card-border-width);border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-row .card-body:not(:first-child):not(:last-child),.card-row .card-list:not(:first-child):not(:last-child){border-inline-end-width:var(--bs-card-border-width)}.card-img-start{border-start-start-radius:var(--bs-card-inner-border-radius);border-end-start-radius:var(--bs-card-inner-border-radius)}.card-img-end{border-start-end-radius:var(--bs-card-inner-border-radius);border-end-end-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{flex-flow:wrap;display:flex}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{border-inline-start:0;margin-inline-start:0}.card-group>.card:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card-group>.card:not(:last-child)>.card-img-top,.card-group>.card:not(:last-child)>.card-header{border-start-end-radius:0}.card-group>.card:not(:last-child)>.card-img-bottom,.card-group>.card:not(:last-child)>.card-footer{border-end-end-radius:0}.card-group>.card:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.card-group>.card:not(:first-child)>.card-img-top,.card-group>.card:not(:first-child)>.card-header{border-start-start-radius:0}.card-group>.card:not(:first-child)>.card-img-bottom,.card-group>.card:not(:first-child)>.card-footer{border-end-start-radius:0}}.carousel{--bs-carousel-control-color:#fff;--bs-carousel-control-width:15%;--bs-carousel-control-opacity:.5;--bs-carousel-control-hover-opacity:.9;--bs-carousel-control-transition:opacity .15s ease;--bs-carousel-control-icon-filter:none;--bs-carousel-indicator-width:30px;--bs-carousel-indicator-height:3px;--bs-carousel-indicator-hit-area-height:10px;--bs-carousel-indicator-spacer:3px;--bs-carousel-indicator-opacity:.5;--bs-carousel-indicator-active-bg:var(--bs-white);--bs-carousel-indicator-active-opacity:1;--bs-carousel-indicator-transition:opacity .6s ease;--bs-carousel-caption-width:70%;--bs-carousel-caption-color:var(--bs-white);--bs-carousel-caption-padding-y:1.25rem;--bs-carousel-caption-spacer:1.25rem;--bs-carousel-control-icon-width:2rem;--bs-carousel-control-prev-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>");--bs-carousel-control-next-icon-bg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>");--bs-carousel-transition-duration:.6s;--bs-carousel-transition:transform .6s ease-in-out;position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;display:flow-root;position:relative;overflow:hidden}.carousel-item{float:inline-start;backface-visibility:hidden;width:100%;transition:var(--bs-carousel-transition);margin-inline-end:-100%;display:none;position:relative}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s var(--bs-carousel-transition-duration)}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{z-index:1;width:var(--bs-carousel-control-width);color:var(--bs-carousel-control-color);text-align:center;filter:var(--bs-carousel-control-icon-filter);opacity:var(--bs-carousel-control-opacity);transition:var(--bs-carousel-control-transition);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset-block:0}@media (prefers-reduced-motion:reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:var(--bs-carousel-control-color);opacity:var(--bs-carousel-control-hover-opacity);outline:0;text-decoration:none}.carousel-control-prev{background-image:linear-gradient(90deg,rgba(0,0,0,.25),transparent);inset-inline-start:0}.carousel-control-next{background-image:linear-gradient(270deg,rgba(0,0,0,.25),transparent);inset-inline-end:0}.carousel-control-prev-icon,.carousel-control-next-icon{width:var(--bs-carousel-control-icon-width);height:var(--bs-carousel-control-icon-width);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:inline-block}.carousel-control-prev-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}[dir=rtl] .carousel-control-prev-icon{background-image:var(--bs-carousel-control-next-icon-bg)}.carousel-control-next-icon{background-image:var(--bs-carousel-control-next-icon-bg)}[dir=rtl] .carousel-control-next-icon{background-image:var(--bs-carousel-control-prev-icon-bg)}.carousel-indicators{z-index:2;margin-inline:var(--bs-carousel-control-width);justify-content:center;margin-bottom:1rem;padding:0;display:flex;position:absolute;inset:auto 0 0}.carousel-indicators [data-bs-target]{box-sizing:content-box;width:var(--bs-carousel-indicator-width);height:var(--bs-carousel-indicator-height);margin-inline:var(--bs-carousel-indicator-spacer);text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);border:0;border-block:var(--bs-carousel-indicator-hit-area-height) solid transparent;opacity:var(--bs-carousel-indicator-opacity);transition:var(--bs-carousel-indicator-transition);background-clip:padding-box;flex:0 auto;padding:0}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:var(--bs-carousel-indicator-active-opacity)}.carousel-caption{right:calc((100% - var(--bs-carousel-caption-width)) * .5);bottom:var(--bs-carousel-caption-spacer);left:calc((100% - var(--bs-carousel-caption-width)) * .5);padding-top:var(--bs-carousel-caption-padding-y);padding-bottom:var(--bs-carousel-caption-padding-y);color:var(--bs-carousel-caption-color);text-align:center;position:absolute}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}@media (prefers-color-scheme:dark){:root{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}}[data-vc=calendar]{--bs-datepicker-padding:1rem;--bs-datepicker-bg:var(--bs-bg-body);--bs-datepicker-color:var(--bs-fg-body);--bs-datepicker-border-color:var(--bs-border-color-translucent);--bs-datepicker-border-width:var(--bs-border-width);--bs-datepicker-border-radius:var(--bs-border-radius-lg);--bs-datepicker-box-shadow:var(--bs-box-shadow);--bs-datepicker-font-size:var(--bs-font-size-sm);--bs-datepicker-min-width:280px;--bs-datepicker-zindex:1000;--bs-datepicker-header-font-weight:600;--bs-datepicker-weekday-color:var(--bs-fg-3);--bs-datepicker-day-hover-bg:var(--bs-bg-1);--bs-datepicker-day-selected-bg:var(--bs-primary-bg);--bs-datepicker-day-selected-color:var(--bs-primary-contrast);--bs-datepicker-day-today-bg:var(--bs-bg-2);--bs-datepicker-day-today-color:var(--bs-fg-1);--bs-datepicker-day-disabled-color:var(--bs-fg-4);z-index:var(--bs-datepicker-zindex);box-sizing:border-box;min-width:var(--bs-datepicker-min-width);padding:var(--bs-datepicker-padding);font-family:var(--bs-font-sans-serif);font-size:var(--bs-datepicker-font-size);color:var(--bs-datepicker-color);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background-color:var(--bs-datepicker-bg);border:var(--bs-datepicker-border-width) solid var(--bs-datepicker-border-color);box-shadow:var(--bs-datepicker-box-shadow);opacity:1;border-radius:var(--bs-datepicker-border-radius);flex-direction:column;display:flex;position:absolute}@media (prefers-color-scheme:dark){[data-vc=calendar]{--lightningcss-light: ;--lightningcss-dark:initial}}[data-vc=calendar][data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-vc=calendar][data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-vc=calendar] button:focus-visible{z-index:1;outline:var(--bs-focus-ring);position:relative}[data-vc-calendar-hidden]{pointer-events:none;opacity:0}[data-vc=calendar]:not([data-vc-input]){width:fit-content;box-shadow:none;border:0;padding:0;position:relative}[data-vc-position=bottom]{margin-block-start:.25rem}[data-vc-position=top]{margin-block-end:-.25rem}[data-vc-arrow]{width:2rem;height:2rem;color:var(--bs-datepicker-color);pointer-events:auto;cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;display:block;position:relative}[data-vc-arrow]:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>");background-position:50%;background-repeat:no-repeat;position:absolute;inset:.25rem}[data-vc-arrow]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-arrow=prev]:before{transform:rotate(90deg)}[data-vc-arrow=next]:before{transform:rotate(-90deg)}[data-vc=controls]{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;padding-top:1rem;padding-left:1rem;padding-right:1rem;display:flex;position:absolute;top:0;left:0;right:0}[data-vc=grid]{flex-wrap:wrap;flex-grow:1;gap:1.75rem;display:flex}[data-vc=column]{flex-direction:column;flex-grow:1;min-width:240px;display:flex}[data-vc=header]{align-items:center;margin-bottom:.75rem;display:flex;position:relative}[data-vc-header=content]{white-space:pre-wrap;flex-grow:1;justify-content:center;align-items:center;display:inline-flex}[data-vc=month],[data-vc=year]{font-size:1rem;font-weight:var(--bs-datepicker-header-font-weight);color:var(--bs-datepicker-color);border-radius:var(--bs-border-radius);background-color:transparent;border:0;margin-inline:-.125rem;padding:.25rem .5rem}[data-vc=month]:disabled,[data-vc=year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc=month]:hover:not(:disabled),[data-vc=year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc=content]{flex-direction:column;flex-grow:1;display:flex}[data-vc=months],[data-vc=years]{grid-template-columns:repeat(var(--bs-vc-columns,4), minmax(0, 1fr));-moz-column-gap:.25rem;flex-grow:1;align-items:center;gap:1rem .25rem;display:grid}[data-vc=years]{--bs-vc-columns:5}[data-vc-months-month],[data-vc-years-year]{height:2.5rem;color:var(--bs-datepicker-weekday-color);text-align:center;word-break:break-all;cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;justify-content:center;align-items:center;padding:.25rem;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{color:var(--bs-datepicker-day-disabled-color);pointer-events:none}[data-vc-months-month]:hover:not(:disabled),[data-vc-years-year]:hover:not(:disabled){background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-months-month][data-vc-months-month-selected],[data-vc-months-month][data-vc-years-year-selected],[data-vc-years-year][data-vc-months-month-selected],[data-vc-years-year][data-vc-years-year-selected],[data-vc-months-month][data-vc-months-month-selected]:hover,[data-vc-months-month][data-vc-years-year-selected]:hover,[data-vc-years-year][data-vc-months-month-selected]:hover,[data-vc-years-year][data-vc-years-year-selected]:hover{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc=week]{grid-template-columns:repeat(7,1fr);justify-items:center;margin-bottom:.5rem;display:grid}[data-vc-week-day]{width:100%;min-width:1.875rem;color:var(--bs-datepicker-weekday-color);background-color:transparent;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}button[data-vc-week-day]{cursor:pointer}[data-vc=dates]{pointer-events:none}[data-vc-dates=row]{grid-template-columns:repeat(7,1fr);place-items:center;width:100%;display:grid}[data-vc-date]{pointer-events:auto;justify-content:center;align-items:center;width:100%;padding-top:.125rem;padding-bottom:.125rem;display:flex;position:relative}[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date]:not(:has([data-vc-date-btn])){pointer-events:none}[data-vc-date-btn]{width:100%;min-width:1.875rem;height:100%;min-height:1.875rem;color:var(--bs-datepicker-color);cursor:pointer;border-radius:var(--bs-border-radius);background-color:transparent;border:0;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:400;line-height:1rem;display:flex}[data-vc-date-btn]:hover{background-color:var(--bs-datepicker-day-hover-bg)}[data-vc-date-today] [data-vc-date-btn]{color:var(--bs-datepicker-day-today-color);background-color:var(--bs-datepicker-day-today-bg);font-weight:600}[data-vc-date-month=next] [data-vc-date-btn],[data-vc-date-month=prev] [data-vc-date-btn]{opacity:.5}[data-vc-date-disabled] [data-vc-date-btn]{color:var(--bs-datepicker-day-disabled-color)}[data-vc-date-hover] [data-vc-date-btn]{background-color:var(--bs-datepicker-day-hover-bg);border-radius:0}[data-vc-date-hover=first] [data-vc-date-btn]{border-start-start-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}[data-vc-date-hover=last] [data-vc-date-btn]{border-start-end-radius:var(--bs-border-radius);border-end-end-radius:var(--bs-border-radius)}[data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}[data-vc-date-selected=middle] [data-vc-date-btn]{opacity:.8;border-radius:0}[data-vc-date-selected] [data-vc-date-btn]{color:var(--bs-datepicker-day-selected-color);background-color:var(--bs-datepicker-day-selected-bg)}[data-vc-date-selected=first] [data-vc-date-btn]{border-top-left-radius:var(--bs-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bs-border-radius)}[data-vc-date-selected=last] [data-vc-date-btn]{border-top-left-radius:0;border-top-right-radius:var(--bs-border-radius);border-bottom-right-radius:var(--bs-border-radius);border-bottom-left-radius:0}[data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-radius:var(--bs-border-radius)}.dialog-open{scrollbar-gutter:stable;overflow:hidden}.dialog{--bs-dialog-padding:1rem;--bs-dialog-width:500px;--bs-dialog-margin:1.75rem;--bs-dialog-color:var(--bs-fg-body);--bs-dialog-bg:var(--bs-bg-body);--bs-dialog-border-color:var(--bs-border-color-translucent);--bs-dialog-border-width:var(--bs-border-width);--bs-dialog-border-radius:var(--bs-border-radius-lg);--bs-dialog-box-shadow:var(--bs-box-shadow-lg);--bs-dialog-transition-duration:.3s;--bs-dialog-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-dialog-backdrop-bg:rgba(0,0,0,.5);--bs-dialog-backdrop-blur:8px;--bs-dialog-header-padding:1rem;--bs-dialog-header-border-color:var(--bs-border-color);--bs-dialog-header-border-width:var(--bs-border-width);--bs-dialog-footer-padding:1rem;--bs-dialog-footer-border-color:var(--bs-border-color);--bs-dialog-footer-border-width:var(--bs-border-width);--bs-dialog-footer-gap:.5rem;width:var(--bs-dialog-width);max-width:100%;max-height:calc(100% - var(--bs-dialog-margin) * 2);color:var(--bs-dialog-color);visibility:hidden;background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;flex-direction:column;margin:auto;padding:0;display:flex;overflow:visible}.dialog:not(.dialog-instant){opacity:0;transition:opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), visibility 0s var(--bs-dialog-transition-duration)}@media (prefers-reduced-motion:reduce){.dialog:not(.dialog-instant){transition:none}}.dialog:not(.dialog-instant).dialog-slide-down{transform:translateY(3rem)}.dialog:not(.dialog-instant).dialog-slide-up{transform:translateY(-3rem)}.dialog:not(.dialog-instant)[open]{visibility:visible;opacity:1;transition:opacity var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), transform var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), visibility 0s;overflow:visible}@media (prefers-reduced-motion:reduce){.dialog:not(.dialog-instant)[open]{transition:none}}.dialog:not(.dialog-instant)[open]{transform:none}.dialog:not(.dialog-instant).dialog-static{transform:scale(1.02)}.dialog:not(.dialog-instant)::backdrop{background-color:var(--bs-dialog-backdrop-bg);-webkit-backdrop-filter:blur(var(--bs-dialog-backdrop-blur));backdrop-filter:blur(var(--bs-dialog-backdrop-blur));transition:background-color var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), display var(--bs-dialog-transition-duration) allow-discrete, overlay var(--bs-dialog-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing);transition:background-color var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), backdrop-filter var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), display var(--bs-dialog-transition-duration) allow-discrete, overlay var(--bs-dialog-transition-duration) allow-discrete;transition:background-color var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), backdrop-filter var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing), display var(--bs-dialog-transition-duration) allow-discrete, overlay var(--bs-dialog-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-dialog-transition-duration) var(--bs-dialog-transition-timing)}@media (prefers-reduced-motion:reduce){.dialog:not(.dialog-instant)::backdrop{transition:none}}.dialog.dialog-instant::backdrop{background-color:var(--bs-dialog-backdrop-bg);-webkit-backdrop-filter:blur(var(--bs-dialog-backdrop-blur));backdrop-filter:blur(var(--bs-dialog-backdrop-blur))}.dialog[open]{visibility:visible;opacity:1;overflow:visible;transform:none}.dialog.dialog-nonmodal{z-index:1055;margin-inline:0;position:fixed;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.dialog.dialog-overflow{width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--bs-dialog-margin);overscroll-behavior:contain;box-shadow:none;background:0 0;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.dialog.dialog-overflow>.dialog-box{max-width:var(--bs-dialog-width);color:var(--bs-dialog-color);background-color:var(--bs-dialog-bg);border:var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);border-radius:var(--bs-dialog-border-radius);box-shadow:var(--bs-dialog-box-shadow);background-clip:padding-box;margin-block-end:var(--bs-dialog-margin);margin-inline:auto}.dialog.dialog-scrollable[open]{max-height:calc(100% - var(--bs-dialog-margin) * 2)}.dialog.dialog-scrollable[open] .dialog-body{overflow-y:auto}@starting-style{.dialog:not(.dialog-instant).dialog-slide-down[open]{opacity:0;transform:translateY(-3rem)}.dialog:not(.dialog-instant).dialog-slide-up[open]{opacity:0;transform:translateY(3rem)}.dialog:not(.dialog-instant)::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}}.dialog-sm{--bs-dialog-width:280px}.dialog-lg{--bs-dialog-width:800px}.dialog-xl{--bs-dialog-width:1140px}.dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}@media not (min-width:576px){.sm-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:768px){.md-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1024px){.lg-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1280px){.xl-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}@media not (min-width:1536px){.\32 xl-down\:dialog-fullscreen{--bs-dialog-width:100vw;--bs-dialog-margin:0;--bs-dialog-border-radius:0;width:100%;max-width:none;height:100%;max-height:none}}.dialog-header{padding:var(--bs-dialog-header-padding);border-block-end:var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);flex-shrink:0;align-items:center;display:flex}.dialog-header .btn-close{margin-inline-start:auto}.dialog-title{line-height:1.5;font-size:var(--bs-font-size-md);margin-bottom:0}.dialog-body{padding:var(--bs-dialog-padding);flex:auto;position:relative}.dialog-footer{gap:var(--bs-dialog-footer-gap);padding:var(--bs-dialog-footer-padding);border-block-start:var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.menu{--bs-menu-zindex:1000;--bs-menu-gap:.125rem;--bs-menu-min-width:10rem;--bs-menu-padding-x:.25rem;--bs-menu-padding-y:.25rem;--bs-menu-spacer:.125rem;--bs-menu-font-size:var(--bs-font-size-sm);--bs-menu-color:var(--bs-fg-body);--bs-menu-bg:var(--bs-bg-body);--bs-menu-box-shadow:var(--bs-box-shadow);--bs-menu-divider-bg:var(--bs-border-color-translucent);--bs-menu-divider-margin-y:.125rem;--bs-menu-divider-margin-x:.25rem;--bs-menu-item-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-color:var(--bs-menu-color,var(--bs-fg-body));--bs-menu-item-hover-bg:var(--bs-bg-1);--bs-menu-item-active-color:var(--bs-primary-contrast);--bs-menu-item-active-bg:var(--bs-primary-bg);--bs-menu-item-disabled-color:var(--bs-fg-3);--bs-menu-item-gap:.5rem;--bs-menu-item-padding-x:.75rem;--bs-menu-item-padding-y:.25rem;--bs-menu-item-border-radius:var(--bs-border-radius);--bs-menu-icon-size:1rem;--bs-menu-image-size:1.5rem;--bs-menu-description-font-size:var(--bs-font-size-xs);--bs-menu-check-color:currentcolor;--bs-menu-header-color:var(--bs-fg-3);--bs-menu-header-padding-x:.75rem;--bs-menu-header-padding-y:.25rem;--bs-menu-transition-duration:.15s;--bs-menu-transition-timing:cubic-bezier(.22, 1, .36, 1);z-index:var(--bs-menu-zindex);gap:var(--bs-menu-gap);min-width:var(--bs-menu-min-width);max-height:var(--bs-menu-max-height,none);padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);overflow-y:var(--bs-menu-overflow-y,initial);overscroll-behavior:contain;font-size:var(--bs-menu-font-size);color:var(--bs-menu-color);text-align:start;background-color:var(--bs-menu-bg);border:var(--bs-menu-border-width,var(--bs-border-width)) solid var(--bs-menu-border-color,var(--bs-border-color-translucent));border-radius:var(--bs-menu-border-radius,var(--bs-border-radius-lg));box-shadow:var(--bs-menu-box-shadow);opacity:0;transform-origin:top start;background-clip:padding-box;flex-direction:column;margin:0;list-style:none;display:none;position:absolute;transform:scale(.95)}.menu[data-bs-placement^=top]{transform-origin:bottom start}.menu[data-bs-placement=bottom-end]{transform-origin:top end}.menu[data-bs-placement=top-end]{transform-origin:bottom end}.menu[data-bs-placement^=left]{transform-origin:top end}.menu{transition:opacity var(--bs-menu-transition-duration) var(--bs-menu-transition-timing), transform var(--bs-menu-transition-duration) var(--bs-menu-transition-timing), display var(--bs-menu-transition-duration) allow-discrete}@media (prefers-reduced-motion:reduce){.menu{transition:none}}.menu.show{opacity:1;display:flex;transform:none}@starting-style{.menu.show{opacity:0;transform:scale(.95)}}.menu-scrollable{--bs-menu-max-height:80dvh;--bs-menu-overflow-y:auto}.menu-translucent{--bs-menu-item-hover-bg-light:color-mix(in oklch, var(--bs-bg-1) 90%, transparent);--bs-menu-item-hover-bg-dark:color-mix(in oklch, var(--bs-bg-1) 80%, transparent);--bs-menu-item-active-bg-light:color-mix(in oklch, var(--bs-primary-bg) 80%, transparent);--bs-menu-item-active-bg-dark:color-mix(in oklch, var(--bs-primary-bg) 70%, transparent);--bs-menu-item-active-bg:var(--lightningcss-light,var(--bs-menu-item-active-bg-light))var(--lightningcss-dark,var(--bs-menu-item-active-bg-dark));--bs-menu-item-hover-bg:var(--lightningcss-light,var(--bs-menu-item-hover-bg-light))var(--lightningcss-dark,var(--bs-menu-item-hover-bg-dark));background-color:color-mix(in oklch, var(--bs-menu-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.menu-divider{height:0;margin:var(--bs-menu-divider-margin-y) var(--bs-menu-divider-margin-x);border-block-start:1px solid var(--bs-menu-divider-bg);opacity:1;overflow:hidden}.menu-item{gap:var(--bs-menu-item-gap);width:100%;padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-menu-item-font-weight,var(--bs-font-weight-normal));color:var(--bs-theme-text,var(--bs-menu-item-color));text-align:inherit;white-space:nowrap;cursor:pointer;border-radius:var(--bs-menu-item-border-radius,0);background-color:transparent;border:0;outline:0;align-items:center;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus{color:var(--bs-theme-text,var(--bs-menu-item-hover-color));background-color:var(--bs-theme-bg-subtle,var(--bs-menu-item-hover-bg));background-image:var(--bs-gradient)}.menu-item.active,.menu-item:active{color:var(--bs-theme-contrast,var(--bs-menu-item-active-color));background-color:var(--bs-theme-bg,var(--bs-menu-item-active-bg));background-image:var(--bs-gradient)}.menu-item.active .menu-item-icon,.menu-item:active .menu-item-icon{color:inherit!important}.menu-item.selected{font-weight:600}.menu-item.disabled,.menu-item:disabled{color:var(--bs-menu-item-disabled-color);pointer-events:none;background-color:transparent;background-image:none}.menu-item-icon{width:var(--bs-menu-icon-size);flex-shrink:0;align-self:flex-start;height:auto;margin-top:.125rem}.menu-image{width:var(--bs-menu-image-size);height:var(--bs-menu-image-size);-o-object-fit:cover;object-fit:cover;border-radius:var(--bs-border-radius-sm)}.menu-item-content{flex-direction:column;flex:1;min-width:fit-content;display:flex}.menu-item-description{font-size:var(--bs-menu-description-font-size);font-weight:var(--bs-font-weight-normal);color:color-mix(in oklch, currentcolor 65%, transparent)}.menu-item-check{color:var(--bs-menu-check-color);visibility:hidden;flex-shrink:0;align-self:flex-start;margin-block-start:.125rem;margin-inline-start:auto}.selected>.menu-item-check{visibility:visible}.menu-header{padding:var(--bs-menu-header-padding-y) var(--bs-menu-header-padding-x);font-size:var(--bs-font-size-sm);color:var(--bs-menu-header-color);white-space:nowrap;margin-bottom:0;display:block}.menu-text{padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);color:var(--bs-fg-2);display:block}.submenu{position:relative}.submenu>.menu-item{justify-content:space-between;align-items:center;display:flex}.submenu>.menu-item:after{content:"";border:.125em solid;border-width:0 .125em .125em 0;flex-shrink:0;width:.375em;height:.375em;margin-inline-start:auto;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu>.menu-item:after{transform:rotate(135deg)}.submenu>.menu{margin-top:calc(-1 * var(--bs-menu-padding-y));top:0}.submenu:hover>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}.submenu:focus-within>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}.submenu.show>.menu-item{color:var(--bs-menu-item-hover-color);background-color:var(--bs-menu-item-hover-bg)}@media (max-width:575.98px){.submenu:has(.submenu-stacked){position:static}.submenu-stacked{z-index:1;gap:var(--bs-menu-gap);min-width:0;padding:var(--bs-menu-padding-y) var(--bs-menu-padding-x);background-color:var(--bs-menu-bg);box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;position:absolute;inset:0}.submenu-back{gap:var(--bs-menu-item-gap);padding:var(--bs-menu-item-padding-y) var(--bs-menu-item-padding-x);font-weight:var(--bs-font-weight-semibold,600);color:var(--bs-menu-item-color);align-items:center;display:flex}.submenu-back:before{content:"";border:0 solid;border-width:.125em 0 0 .125em;flex-shrink:0;width:.375em;height:.375em;display:inline-block;transform:rotate(-45deg)}[dir=rtl] .submenu-back:before{border-width:0 .125em .125em 0}.submenu-dimmed{pointer-events:none;filter:blur(2px);opacity:.3}}.list-group{--bs-list-group-color:var(--bs-fg-body);--bs-list-group-bg:var(--bs-bg-body);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-fg-2);--bs-list-group-action-hover-color:var(--bs-fg-1);--bs-list-group-action-hover-bg:var(--bs-bg-1);--bs-list-group-action-active-color:var(--bs-fg-body);--bs-list-group-action-active-bg:var(--bs-bg-2);--bs-list-group-disabled-color:var(--bs-fg-3);--bs-list-group-disabled-bg:var(--bs-bg-body);--bs-list-group-active-color:var(--bs-primary-contrast);--bs-list-group-active-bg:var(--bs-primary-bg);--bs-list-group-active-border-color:var(--bs-primary-bg);border-radius:var(--bs-list-group-border-radius);flex-direction:column;margin-bottom:0;padding-inline-start:0;display:flex}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-theme-text,var(--bs-list-group-color));background-color:var(--bs-theme-bg-subtle,var(--bs-list-group-bg));border:var(--bs-list-group-border-width) solid var(--bs-theme-border,var(--bs-list-group-border-color));display:block;position:relative}.list-group-item:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.list-group-item:last-child{border-end-end-radius:inherit;border-end-start-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-block-start-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-block-start-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-theme-text,var(--bs-list-group-action-color));text-align:inherit;text-decoration:none}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-hover-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-hover-bg));text-decoration:none}.list-group-item-action:not(.active):active{color:var(--bs-theme-text-emphasis,var(--bs-list-group-action-active-color));background-color:var(--bs-theme-bg-muted,var(--bs-list-group-action-active-bg))}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}@media (min-width:576px){.sm\:list-group-horizontal{flex-direction:row}.sm\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.sm\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.sm\:list-group-horizontal>.list-group-item.active{margin-top:0}.sm\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.sm\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:768px){.md\:list-group-horizontal{flex-direction:row}.md\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.md\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.md\:list-group-horizontal>.list-group-item.active{margin-top:0}.md\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.md\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1024px){.lg\:list-group-horizontal{flex-direction:row}.lg\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.lg\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.lg\:list-group-horizontal>.list-group-item.active{margin-top:0}.lg\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.lg\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1280px){.xl\:list-group-horizontal{flex-direction:row}.xl\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.xl\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.xl\:list-group-horizontal>.list-group-item.active{margin-top:0}.xl\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.xl\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}@media (min-width:1536px){.\32 xl\:list-group-horizontal{flex-direction:row}.\32 xl\:list-group-horizontal>.list-group-item:first-child:not(:last-child){border-start-end-radius:0;border-end-start-radius:var(--bs-list-group-border-radius)}.\32 xl\:list-group-horizontal>.list-group-item:last-child:not(:first-child){border-start-end-radius:var(--bs-list-group-border-radius);border-end-start-radius:0}.\32 xl\:list-group-horizontal>.list-group-item.active{margin-top:0}.\32 xl\:list-group-horizontal>.list-group-item+.list-group-item{border-block-start-width:var(--bs-list-group-border-width);border-inline-start-width:0}.\32 xl\:list-group-horizontal>.list-group-item+.list-group-item.active{border-inline-start-width:var(--bs-list-group-border-width);margin-inline-start:calc(-1 * var(--bs-list-group-border-width))}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-block-end-width:0}.nav{--bs-nav-gap:.125rem;--bs-nav-link-gap:.5rem;--bs-nav-link-align:center;--bs-nav-link-justify:center;--bs-nav-link-padding-x:.75rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-fg-2);--bs-nav-link-hover-color:var(--bs-fg-1);--bs-nav-link-hover-bg:var(--bs-bg-1);--bs-nav-link-active-color:var(--bs-fg-body);--bs-nav-link-active-bg:var(--bs-bg-2);--bs-nav-link-disabled-color:var(--bs-fg-4);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-transition-property:color, background-color, border-color;--bs-nav-link-transition-timing:.15s ease-in-out;--bs-nav-link-transition:var(--bs-nav-link-transition-property) var(--bs-nav-link-transition-timing);gap:var(--bs-nav-gap);flex-wrap:wrap;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.nav-item{display:flex}.nav-link{gap:var(--bs-nav-link-gap);align-items:var(--bs-nav-link-align);justify-content:var(--bs-nav-link-justify);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);white-space:nowrap;border:var(--bs-nav-link-border-width) solid transparent;border-radius:var(--bs-border-radius);transition:var(--bs-nav-link-transition);background:0 0;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color);background-color:var(--bs-nav-link-hover-bg)}.nav-link:focus-visible{--bs-focus-ring-offset:1px;color:var(--bs-nav-link-hover-color);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.nav-link.active,.nav-link:active{color:var(--bs-nav-link-active-color);background-color:var(--bs-nav-link-active-bg)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-border-subtle);--bs-nav-tabs-link-active-color:var(--bs-fg-color);--bs-nav-tabs-link-active-bg:var(--bs-bg-body);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-bg-body);box-shadow:inset 0 calc(-1 * var(--bs-nav-tabs-border-width)) 0 var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-bottom-color:var(--bs-nav-tabs-border-color);border-end-end-radius:0;border-end-start-radius:0}.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color);border-bottom-color:var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);border-bottom-color:var(--bs-nav-tabs-link-active-bg)}.nav-tabs .menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-start-start-radius:0;border-start-end-radius:0}.nav-pills{--bs-nav-pills-bg:var(--bs-bg-1);--bs-nav-pills-padding:.25rem;--bs-nav-pills-link-active-color:var(--bs-primary-contrast);--bs-nav-pills-link-active-bg:var(--bs-primary-bg);padding:var(--bs-nav-pills-padding);background-color:var(--bs-nav-pills-bg);border-radius:var(--bs-border-radius-pill);display:inline-flex}.nav-pills .nav-link{border-radius:var(--bs-border-radius-pill)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg);background-image:var(--bs-gradient)}.nav-underline{--bs-nav-gap:1rem;--bs-nav-link-active-bg:transparent;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-fg-color)}.nav-underline .nav-link{border:0;border-block-end:var(--bs-nav-underline-border-width) solid transparent;border-radius:0;padding-inline:0}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-block-end-color:currentColor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{color:var(--bs-nav-underline-link-active-color);border-block-end-color:currentColor;font-weight:700}.nav-fill>.nav-link,.nav-fill .nav-item{text-align:center;flex:auto}.nav-justified>.nav-link,.nav-justified .nav-item{text-align:center;flex-grow:1;flex-basis:0}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-overflow{flex-wrap:nowrap;min-width:0}.nav-overflow-item{flex-shrink:0;margin-inline-start:auto}.nav-overflow [data-bs-nav-overflow=true]{display:none}.nav-overflow-keep{flex-shrink:0}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:var(--bs-fg-2);--bs-navbar-hover-color:var(--bs-fg-1);--bs-navbar-disabled-color:var(--bs-fg-3);--bs-navbar-active-color:var(--bs-fg-body);--bs-navbar-brand-padding-y:.75rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:var(--bs-font-size-md);--bs-navbar-brand-font-weight:var(--bs-font-weight-medium);--bs-navbar-brand-color:var(--bs-fg-body);--bs-navbar-brand-hover-color:var(--bs-fg-body);--bs-navbar-nav-link-padding-x:.75rem;--bs-navbar-toggler-width:2rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:var(--bs-font-size-lg);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);color:var(--bs-navbar-color,var(--bs-fg-body));background-color:var(--bs-navbar-bg,var(--bs-bg-body));flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:relative;container-type:inline-size}.navbar>.\32 xl\:container,.navbar>.xl\:container,.navbar>.lg\:container,.navbar>.md\:container,.navbar>.sm\:container,.navbar>.container,.navbar>.container-fluid{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);font-size:var(--bs-navbar-brand-font-size);font-weight:var(--bs-navbar-brand-font-weight);color:var(--bs-navbar-brand-color);white-space:nowrap;margin-inline-end:var(--bs-navbar-brand-margin-end);text-decoration:none}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-gap:.25rem;--bs-nav-link-gap:.5rem;--bs-nav-link-padding-x:.5rem;--bs-nav-link-padding-y:.375rem;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-border-width:var(--bs-border-width);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-hover-bg:transparent;--bs-nav-link-active-color:var(--bs-navbar-active-color);--bs-nav-link-active-bg:transparent;--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);gap:var(--bs-nav-gap);flex-direction:column;margin-bottom:0;padding-inline-start:0;list-style:none;display:flex}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color);border:var(--bs-nav-link-border-width) solid var(--bs-nav-link-border-color,transparent)}.navbar-text{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-toggler{--bs-btn-bg:transparent;--bs-btn-hover-bg:var(--bs-bg-2)}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.navbar-expand .navbar-toggler{display:none!important}.navbar-expand [class*=drawer]{z-index:auto;box-shadow:none;flex-grow:1;margin:0;padding:0;transition:none;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.navbar-expand [class*=drawer] .drawer-header{display:none!important}.navbar-expand [class*=drawer] .drawer-body{flex-direction:row;flex-grow:1;align-items:center;padding:0;display:flex;overflow-y:visible}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}@container (width>=576px){.sm\:navbar-expand>.container,.sm\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.sm\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.sm\:navbar-expand .navbar-toggler{display:none!important}.sm\:navbar-expand [class*=drawer]{z-index:auto;box-shadow:none;flex-grow:1;margin:0;padding:0;transition:none;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.sm\:navbar-expand [class*=drawer] .drawer-header{display:none!important}.sm\:navbar-expand [class*=drawer] .drawer-body{flex-direction:row;flex-grow:1;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=768px){.md\:navbar-expand>.container,.md\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.md\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.md\:navbar-expand .navbar-toggler{display:none!important}.md\:navbar-expand [class*=drawer]{z-index:auto;box-shadow:none;flex-grow:1;margin:0;padding:0;transition:none;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.md\:navbar-expand [class*=drawer] .drawer-header{display:none!important}.md\:navbar-expand [class*=drawer] .drawer-body{flex-direction:row;flex-grow:1;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1024px){.lg\:navbar-expand>.container,.lg\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.lg\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.lg\:navbar-expand .navbar-toggler{display:none!important}.lg\:navbar-expand [class*=drawer]{z-index:auto;box-shadow:none;flex-grow:1;margin:0;padding:0;transition:none;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.lg\:navbar-expand [class*=drawer] .drawer-header{display:none!important}.lg\:navbar-expand [class*=drawer] .drawer-body{flex-direction:row;flex-grow:1;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1280px){.xl\:navbar-expand>.container,.xl\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.xl\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.xl\:navbar-expand .navbar-toggler{display:none!important}.xl\:navbar-expand [class*=drawer]{z-index:auto;box-shadow:none;flex-grow:1;margin:0;padding:0;transition:none;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.xl\:navbar-expand [class*=drawer] .drawer-header{display:none!important}.xl\:navbar-expand [class*=drawer] .drawer-body{flex-direction:row;flex-grow:1;align-items:center;padding:0;display:flex;overflow-y:visible}}@container (width>=1536px){.\32 xl\:navbar-expand>.container,.\32 xl\:navbar-expand>.container-fluid{flex-wrap:nowrap;justify-content:flex-start}.\32 xl\:navbar-expand .navbar-nav{--bs-nav-link-padding-x:var(--bs-navbar-nav-link-padding-x);flex-direction:row}.\32 xl\:navbar-expand .navbar-toggler{display:none!important}.\32 xl\:navbar-expand [class*=drawer]{z-index:auto;box-shadow:none;flex-grow:1;margin:0;padding:0;transition:none;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;display:flex!important;position:static!important;inset:auto!important;transform:none!important}.\32 xl\:navbar-expand [class*=drawer] .drawer-header{display:none!important}.\32 xl\:navbar-expand [class*=drawer] .drawer-body{flex-direction:row;flex-grow:1;align-items:center;padding:0;display:flex;overflow-y:visible}}.navbar [class*=drawer]:not([open]):not(.hiding){transition:none!important}@media (prefers-reduced-motion:reduce){.navbar [class*=drawer]:not([open]):not(.hiding){transition:none}}.navbar-translucent{background-color:transparent;position:relative}.navbar-translucent:before{z-index:-1;content:"";background-color:color-mix(in oklch, var(--bs-navbar-bg,var(--bs-bg-body)) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%);background-image:none;position:absolute;inset:0}.navbar[data-bs-theme=dark]{--bs-navbar-color:color-mix(in oklch, var(--bs-white) .55, transparent);--bs-navbar-hover-color:color-mix(in oklch, var(--bs-white) .75, transparent);--bs-navbar-disabled-color:color-mix(in oklch, var(--bs-white) .25, transparent);--bs-navbar-active-color:var(--bs-white);--bs-navbar-brand-color:var(--bs-white);--bs-navbar-brand-hover-color:var(--bs-white);--bs-navbar-toggler-border-color:color-mix(in oklch, var(--bs-white) .1, transparent)}@media not (min-width:576px){.sm\:drawer{z-index:var(--bs-drawer-zindex);width:auto;max-width:calc(100% - var(--bs-drawer-inset) * 2);height:auto;max-height:calc(100% - var(--bs-drawer-inset) * 2);color:var(--bs-drawer-color);visibility:hidden;background-color:var(--bs-drawer-bg);border:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);border-radius:var(--bs-drawer-border-radius);box-shadow:var(--bs-drawer-box-shadow);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.sm\:drawer:where(.drawer-start){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-start:var(--bs-drawer-inset)}.sm\:drawer:where(.drawer-end){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-end:var(--bs-drawer-inset)}.sm\:drawer:where(.drawer-top){inset:var(--bs-drawer-inset) var(--bs-drawer-inset) auto;height:var(--bs-drawer-height)}.sm\:drawer:where(.drawer-bottom){inset:auto var(--bs-drawer-inset) var(--bs-drawer-inset);height:var(--bs-drawer-height)}.sm\:drawer:where(.drawer-fullscreen){inset:var(--bs-drawer-inset);width:auto;max-width:none;height:auto;max-height:none}.sm\:drawer:not(.drawer-instant){transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration)}}@media (not (min-width:576px)) and (prefers-reduced-motion:reduce){.sm\:drawer:not(.drawer-instant){transition:none}}@media not (min-width:576px){.sm\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .sm\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(100% + var(--bs-drawer-inset)))}.sm\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(100% + var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .sm\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}.sm\:drawer:not(.drawer-instant):where(.drawer-top){transform:translateY(calc(-100% - var(--bs-drawer-inset)))}.sm\:drawer:not(.drawer-instant):where(.drawer-bottom){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.sm\:drawer:not(.drawer-instant):where(.drawer-fullscreen){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.sm\:drawer:not(.drawer-instant)[open]{visibility:visible;transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;transform:none}}@media (not (min-width:576px)) and (prefers-reduced-motion:reduce){.sm\:drawer:not(.drawer-instant)[open]{transition:none}}@media not (min-width:576px){.sm\:drawer[open]{visibility:visible;transform:none}}@media (min-width:576px){.sm\:drawer{--bs-drawer-height:auto;--bs-drawer-border-width:0;z-index:auto;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}}@media (min-width:576px) and (prefers-reduced-motion:reduce){.sm\:drawer{transition:none}}@media (min-width:576px){.sm\:drawer .drawer-header{display:none}.sm\:drawer .drawer-body{flex-direction:row;flex-grow:0;width:100%;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:768px){.md\:drawer{z-index:var(--bs-drawer-zindex);width:auto;max-width:calc(100% - var(--bs-drawer-inset) * 2);height:auto;max-height:calc(100% - var(--bs-drawer-inset) * 2);color:var(--bs-drawer-color);visibility:hidden;background-color:var(--bs-drawer-bg);border:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);border-radius:var(--bs-drawer-border-radius);box-shadow:var(--bs-drawer-box-shadow);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.md\:drawer:where(.drawer-start){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-start:var(--bs-drawer-inset)}.md\:drawer:where(.drawer-end){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-end:var(--bs-drawer-inset)}.md\:drawer:where(.drawer-top){inset:var(--bs-drawer-inset) var(--bs-drawer-inset) auto;height:var(--bs-drawer-height)}.md\:drawer:where(.drawer-bottom){inset:auto var(--bs-drawer-inset) var(--bs-drawer-inset);height:var(--bs-drawer-height)}.md\:drawer:where(.drawer-fullscreen){inset:var(--bs-drawer-inset);width:auto;max-width:none;height:auto;max-height:none}.md\:drawer:not(.drawer-instant){transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration)}}@media (not (min-width:768px)) and (prefers-reduced-motion:reduce){.md\:drawer:not(.drawer-instant){transition:none}}@media not (min-width:768px){.md\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .md\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(100% + var(--bs-drawer-inset)))}.md\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(100% + var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .md\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}.md\:drawer:not(.drawer-instant):where(.drawer-top){transform:translateY(calc(-100% - var(--bs-drawer-inset)))}.md\:drawer:not(.drawer-instant):where(.drawer-bottom){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.md\:drawer:not(.drawer-instant):where(.drawer-fullscreen){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.md\:drawer:not(.drawer-instant)[open]{visibility:visible;transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;transform:none}}@media (not (min-width:768px)) and (prefers-reduced-motion:reduce){.md\:drawer:not(.drawer-instant)[open]{transition:none}}@media not (min-width:768px){.md\:drawer[open]{visibility:visible;transform:none}}@media (min-width:768px){.md\:drawer{--bs-drawer-height:auto;--bs-drawer-border-width:0;z-index:auto;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}}@media (min-width:768px) and (prefers-reduced-motion:reduce){.md\:drawer{transition:none}}@media (min-width:768px){.md\:drawer .drawer-header{display:none}.md\:drawer .drawer-body{flex-direction:row;flex-grow:0;width:100%;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1024px){.lg\:drawer{z-index:var(--bs-drawer-zindex);width:auto;max-width:calc(100% - var(--bs-drawer-inset) * 2);height:auto;max-height:calc(100% - var(--bs-drawer-inset) * 2);color:var(--bs-drawer-color);visibility:hidden;background-color:var(--bs-drawer-bg);border:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);border-radius:var(--bs-drawer-border-radius);box-shadow:var(--bs-drawer-box-shadow);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.lg\:drawer:where(.drawer-start){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-start:var(--bs-drawer-inset)}.lg\:drawer:where(.drawer-end){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-end:var(--bs-drawer-inset)}.lg\:drawer:where(.drawer-top){inset:var(--bs-drawer-inset) var(--bs-drawer-inset) auto;height:var(--bs-drawer-height)}.lg\:drawer:where(.drawer-bottom){inset:auto var(--bs-drawer-inset) var(--bs-drawer-inset);height:var(--bs-drawer-height)}.lg\:drawer:where(.drawer-fullscreen){inset:var(--bs-drawer-inset);width:auto;max-width:none;height:auto;max-height:none}.lg\:drawer:not(.drawer-instant){transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration)}}@media (not (min-width:1024px)) and (prefers-reduced-motion:reduce){.lg\:drawer:not(.drawer-instant){transition:none}}@media not (min-width:1024px){.lg\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .lg\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(100% + var(--bs-drawer-inset)))}.lg\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(100% + var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .lg\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}.lg\:drawer:not(.drawer-instant):where(.drawer-top){transform:translateY(calc(-100% - var(--bs-drawer-inset)))}.lg\:drawer:not(.drawer-instant):where(.drawer-bottom){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.lg\:drawer:not(.drawer-instant):where(.drawer-fullscreen){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.lg\:drawer:not(.drawer-instant)[open]{visibility:visible;transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;transform:none}}@media (not (min-width:1024px)) and (prefers-reduced-motion:reduce){.lg\:drawer:not(.drawer-instant)[open]{transition:none}}@media not (min-width:1024px){.lg\:drawer[open]{visibility:visible;transform:none}}@media (min-width:1024px){.lg\:drawer{--bs-drawer-height:auto;--bs-drawer-border-width:0;z-index:auto;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}}@media (min-width:1024px) and (prefers-reduced-motion:reduce){.lg\:drawer{transition:none}}@media (min-width:1024px){.lg\:drawer .drawer-header{display:none}.lg\:drawer .drawer-body{flex-direction:row;flex-grow:0;width:100%;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1280px){.xl\:drawer{z-index:var(--bs-drawer-zindex);width:auto;max-width:calc(100% - var(--bs-drawer-inset) * 2);height:auto;max-height:calc(100% - var(--bs-drawer-inset) * 2);color:var(--bs-drawer-color);visibility:hidden;background-color:var(--bs-drawer-bg);border:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);border-radius:var(--bs-drawer-border-radius);box-shadow:var(--bs-drawer-box-shadow);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.xl\:drawer:where(.drawer-start){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-start:var(--bs-drawer-inset)}.xl\:drawer:where(.drawer-end){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-end:var(--bs-drawer-inset)}.xl\:drawer:where(.drawer-top){inset:var(--bs-drawer-inset) var(--bs-drawer-inset) auto;height:var(--bs-drawer-height)}.xl\:drawer:where(.drawer-bottom){inset:auto var(--bs-drawer-inset) var(--bs-drawer-inset);height:var(--bs-drawer-height)}.xl\:drawer:where(.drawer-fullscreen){inset:var(--bs-drawer-inset);width:auto;max-width:none;height:auto;max-height:none}.xl\:drawer:not(.drawer-instant){transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration)}}@media (not (min-width:1280px)) and (prefers-reduced-motion:reduce){.xl\:drawer:not(.drawer-instant){transition:none}}@media not (min-width:1280px){.xl\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .xl\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(100% + var(--bs-drawer-inset)))}.xl\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(100% + var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .xl\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}.xl\:drawer:not(.drawer-instant):where(.drawer-top){transform:translateY(calc(-100% - var(--bs-drawer-inset)))}.xl\:drawer:not(.drawer-instant):where(.drawer-bottom){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.xl\:drawer:not(.drawer-instant):where(.drawer-fullscreen){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.xl\:drawer:not(.drawer-instant)[open]{visibility:visible;transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;transform:none}}@media (not (min-width:1280px)) and (prefers-reduced-motion:reduce){.xl\:drawer:not(.drawer-instant)[open]{transition:none}}@media not (min-width:1280px){.xl\:drawer[open]{visibility:visible;transform:none}}@media (min-width:1280px){.xl\:drawer{--bs-drawer-height:auto;--bs-drawer-border-width:0;z-index:auto;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}}@media (min-width:1280px) and (prefers-reduced-motion:reduce){.xl\:drawer{transition:none}}@media (min-width:1280px){.xl\:drawer .drawer-header{display:none}.xl\:drawer .drawer-body{flex-direction:row;flex-grow:0;width:100%;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}@media not (min-width:1536px){.\32 xl\:drawer{z-index:var(--bs-drawer-zindex);width:auto;max-width:calc(100% - var(--bs-drawer-inset) * 2);height:auto;max-height:calc(100% - var(--bs-drawer-inset) * 2);color:var(--bs-drawer-color);visibility:hidden;background-color:var(--bs-drawer-bg);border:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);border-radius:var(--bs-drawer-border-radius);box-shadow:var(--bs-drawer-box-shadow);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.\32 xl\:drawer:where(.drawer-start){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-start:var(--bs-drawer-inset)}.\32 xl\:drawer:where(.drawer-end){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-end:var(--bs-drawer-inset)}.\32 xl\:drawer:where(.drawer-top){inset:var(--bs-drawer-inset) var(--bs-drawer-inset) auto;height:var(--bs-drawer-height)}.\32 xl\:drawer:where(.drawer-bottom){inset:auto var(--bs-drawer-inset) var(--bs-drawer-inset);height:var(--bs-drawer-height)}.\32 xl\:drawer:where(.drawer-fullscreen){inset:var(--bs-drawer-inset);width:auto;max-width:none;height:auto;max-height:none}.\32 xl\:drawer:not(.drawer-instant){transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration)}}@media (not (min-width:1536px)) and (prefers-reduced-motion:reduce){.\32 xl\:drawer:not(.drawer-instant){transition:none}}@media not (min-width:1536px){.\32 xl\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .\32 xl\:drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(100% + var(--bs-drawer-inset)))}.\32 xl\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(100% + var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .\32 xl\:drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}.\32 xl\:drawer:not(.drawer-instant):where(.drawer-top){transform:translateY(calc(-100% - var(--bs-drawer-inset)))}.\32 xl\:drawer:not(.drawer-instant):where(.drawer-bottom){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.\32 xl\:drawer:not(.drawer-instant):where(.drawer-fullscreen){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.\32 xl\:drawer:not(.drawer-instant)[open]{visibility:visible;transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s;transform:none}}@media (not (min-width:1536px)) and (prefers-reduced-motion:reduce){.\32 xl\:drawer:not(.drawer-instant)[open]{transition:none}}@media not (min-width:1536px){.\32 xl\:drawer[open]{visibility:visible;transform:none}}@media (min-width:1536px){.\32 xl\:drawer{--bs-drawer-height:auto;--bs-drawer-border-width:0;z-index:auto;max-width:none;max-height:none;box-shadow:none;border-radius:0;flex-grow:1;margin:0;padding:0;inset:auto;visibility:visible!important;background-color:transparent!important;border:0!important;width:auto!important;height:auto!important;transition:none!important;display:flex!important;position:static!important;transform:none!important}}@media (min-width:1536px) and (prefers-reduced-motion:reduce){.\32 xl\:drawer{transition:none}}@media (min-width:1536px){.\32 xl\:drawer .drawer-header{display:none}.\32 xl\:drawer .drawer-body{flex-direction:row;flex-grow:0;width:100%;padding:0;display:flex;overflow-y:visible;background-color:transparent!important}}.drawer{z-index:var(--bs-drawer-zindex);width:auto;max-width:calc(100% - var(--bs-drawer-inset) * 2);height:auto;max-height:calc(100% - var(--bs-drawer-inset) * 2);color:var(--bs-drawer-color);visibility:hidden;background-color:var(--bs-drawer-bg);border:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);border-radius:var(--bs-drawer-border-radius);box-shadow:var(--bs-drawer-box-shadow);background-clip:padding-box;outline:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:auto}.drawer:where(.drawer-start){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-start:var(--bs-drawer-inset)}.drawer:where(.drawer-end){inset-block:var(--bs-drawer-inset);width:var(--bs-drawer-width);inset-inline-end:var(--bs-drawer-inset)}.drawer:where(.drawer-top){inset:var(--bs-drawer-inset) var(--bs-drawer-inset) auto;height:var(--bs-drawer-height)}.drawer:where(.drawer-bottom){inset:auto var(--bs-drawer-inset) var(--bs-drawer-inset);height:var(--bs-drawer-height)}.drawer:where(.drawer-fullscreen){inset:var(--bs-drawer-inset);width:auto;max-width:none;height:auto;max-height:none}.drawer:not(.drawer-instant){transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s var(--bs-drawer-transition-duration)}@media (prefers-reduced-motion:reduce){.drawer:not(.drawer-instant){transition:none}}.drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .drawer:not(.drawer-instant):where(.drawer-start){transform:translateX(calc(100% + var(--bs-drawer-inset)))}.drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(100% + var(--bs-drawer-inset)))}:root:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .drawer:not(.drawer-instant):where(.drawer-end){transform:translateX(calc(-100% - var(--bs-drawer-inset)))}.drawer:not(.drawer-instant):where(.drawer-top){transform:translateY(calc(-100% - var(--bs-drawer-inset)))}.drawer:not(.drawer-instant):where(.drawer-bottom){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.drawer:not(.drawer-instant):where(.drawer-fullscreen){transform:translateY(calc(100% + var(--bs-drawer-inset)))}.drawer:not(.drawer-instant)[open]{visibility:visible;transition:transform var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), visibility 0s}@media (prefers-reduced-motion:reduce){.drawer:not(.drawer-instant)[open]{transition:none}}.drawer:not(.drawer-instant)[open]{transform:none}.drawer[open]{visibility:visible;transform:none}.sm\:drawer::backdrop{--bs-drawer-backdrop-bg:var(--bs-bg-body);--bs-drawer-backdrop-opacity:25%;--bs-drawer-backdrop-blur:8px;--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-drawer-backdrop-blur));backdrop-filter:blur(var(--bs-drawer-backdrop-blur));transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing)}@media (prefers-reduced-motion:reduce){.sm\:drawer::backdrop{transition:none}}.md\:drawer::backdrop{--bs-drawer-backdrop-bg:var(--bs-bg-body);--bs-drawer-backdrop-opacity:25%;--bs-drawer-backdrop-blur:8px;--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-drawer-backdrop-blur));backdrop-filter:blur(var(--bs-drawer-backdrop-blur));transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing)}@media (prefers-reduced-motion:reduce){.md\:drawer::backdrop{transition:none}}.lg\:drawer::backdrop{--bs-drawer-backdrop-bg:var(--bs-bg-body);--bs-drawer-backdrop-opacity:25%;--bs-drawer-backdrop-blur:8px;--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-drawer-backdrop-blur));backdrop-filter:blur(var(--bs-drawer-backdrop-blur));transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing)}@media (prefers-reduced-motion:reduce){.lg\:drawer::backdrop{transition:none}}.xl\:drawer::backdrop{--bs-drawer-backdrop-bg:var(--bs-bg-body);--bs-drawer-backdrop-opacity:25%;--bs-drawer-backdrop-blur:8px;--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-drawer-backdrop-blur));backdrop-filter:blur(var(--bs-drawer-backdrop-blur));transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing)}@media (prefers-reduced-motion:reduce){.xl\:drawer::backdrop{transition:none}}.\32 xl\:drawer::backdrop{--bs-drawer-backdrop-bg:var(--bs-bg-body);--bs-drawer-backdrop-opacity:25%;--bs-drawer-backdrop-blur:8px;--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-drawer-backdrop-blur));backdrop-filter:blur(var(--bs-drawer-backdrop-blur));transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing)}@media (prefers-reduced-motion:reduce){.\32 xl\:drawer::backdrop{transition:none}}.drawer::backdrop{--bs-drawer-backdrop-bg:var(--bs-bg-body);--bs-drawer-backdrop-opacity:25%;--bs-drawer-backdrop-blur:8px;--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5;background-color:color-mix(in oklch, var(--bs-drawer-backdrop-bg) var(--bs-drawer-backdrop-opacity), transparent);-webkit-backdrop-filter:blur(var(--bs-drawer-backdrop-blur));backdrop-filter:blur(var(--bs-drawer-backdrop-blur));transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing);transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete;transition:background-color var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing), display var(--bs-drawer-transition-duration) allow-discrete, overlay var(--bs-drawer-transition-duration) allow-discrete, -webkit-backdrop-filter var(--bs-drawer-transition-duration) var(--bs-drawer-transition-timing)}@media (prefers-reduced-motion:reduce){.drawer::backdrop{transition:none}}@starting-style{.sm\:drawer::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.md\:drawer::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.lg\:drawer::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.xl\:drawer::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.\32 xl\:drawer::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}.drawer::backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:transparent}}.drawer-static{transform:scale(1.02)}.drawer-translucent{background-color:color-mix(in oklch, var(--bs-drawer-bg) 80%, transparent);-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.drawer-sheet{--bs-drawer-inset:0;--bs-drawer-border-radius:0;--bs-drawer-border-width:0;--bs-drawer-box-shadow:none}.drawer-header{padding:var(--bs-drawer-padding-y) var(--bs-drawer-padding-x);flex-shrink:0;align-items:center;display:flex}.drawer-header .btn-close{padding:calc(var(--bs-drawer-padding-y) * .5) calc(var(--bs-drawer-padding-x) * .5);margin-inline-start:auto;margin-inline-end:calc(-.5 * var(--bs-drawer-padding-x));margin-top:calc(-.5 * var(--bs-drawer-padding-y));margin-bottom:calc(-.5 * var(--bs-drawer-padding-y))}.drawer-title{line-height:var(--bs-drawer-title-line-height);margin-bottom:0}.drawer-body{gap:var(--bs-drawer-padding-y);padding:var(--bs-drawer-padding-y) var(--bs-drawer-padding-x);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.drawer-footer{padding:var(--bs-drawer-padding-y) var(--bs-drawer-padding-x);border-block-start:var(--bs-drawer-border-width) solid var(--bs-drawer-border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.drawer-fit-content{inset-block-end:auto}.pagination{--bs-pagination-min-height:var(--bs-btn-input-min-height);--bs-pagination-padding-x:var(--bs-btn-input-padding-x);--bs-pagination-padding-y:var(--bs-btn-input-padding-y);--bs-pagination-font-size:var(--bs-btn-input-font-size);--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-bg-body);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-btn-input-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-bg-1);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-bg-2);--bs-pagination-active-color:var(--bs-primary-contrast);--bs-pagination-active-bg:var(--bs-primary-bg);--bs-pagination-active-border-color:var(--bs-primary-bg);--bs-pagination-disabled-color:var(--bs-fg-3);--bs-pagination-disabled-bg:var(--bs-bg-2);--bs-pagination-disabled-border-color:var(--bs-border-color);padding-inline-start:0;list-style:none;display:flex}.page-link{min-height:var(--bs-pagination-min-height);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);justify-content:center;align-items:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus-visible{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:var(--bs-focus-ring);outline-offset:var(--bs-focus-ring-offset)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);background-image:var(--bs-gradient);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-inline-start:calc(-1 * var(--bs-pagination-border-width))}.page-item:first-child .page-link{border-start-start-radius:var(--bs-pagination-border-radius);border-end-start-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-start-end-radius:var(--bs-pagination-border-radius);border-end-end-radius:var(--bs-pagination-border-radius)}.pagination-sm{--bs-pagination-min-height:var(--bs-btn-input-sm-min-height);--bs-pagination-padding-y:var(--bs-btn-input-sm-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-sm-padding-x);--bs-pagination-font-size:var(--bs-btn-input-sm-font-size);--bs-pagination-border-radius:var(--bs-btn-input-sm-border-radius)}.pagination-lg{--bs-pagination-min-height:var(--bs-btn-input-lg-min-height);--bs-pagination-padding-y:var(--bs-btn-input-lg-padding-y);--bs-pagination-padding-x:var(--bs-btn-input-lg-padding-x);--bs-pagination-font-size:var(--bs-btn-input-lg-font-size);--bs-pagination-border-radius:var(--bs-btn-input-lg-border-radius)}.placeholder{--bs-placeholder-opacity-max:.5;--bs-placeholder-opacity-min:.2;vertical-align:middle;cursor:wait;min-height:1em;opacity:var(--bs-placeholder-opacity-max);background-color:currentColor;display:inline-block}.placeholder.btn:before{content:"";display:inline-block}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:2s ease-in-out infinite placeholder-glow}@keyframes placeholder-glow{50%{opacity:var(--bs-placeholder-opacity-min)}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);animation:2s linear infinite placeholder-wave;mask-size:200% 100%}@keyframes placeholder-wave{to{mask-position:-200% 0}}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:280px;--bs-popover-font-size:var(--bs-font-size-sm);--bs-popover-bg:var(--bs-bg-body);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.75rem;--bs-popover-header-font-size:var(--bs-font-size-sm);--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-bg-1);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:.75rem;--bs-popover-body-color:var(--bs-fg-body);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);max-width:var(--bs-popover-max-width);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);text-align:start;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow);background-clip:padding-box;text-decoration:none;display:block}.popover .popover-arrow{width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height);display:block}.popover .popover-arrow:before,.popover .popover-arrow:after{content:"";border:0 solid transparent;display:block;position:absolute}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:before{border-block-start-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-block-start-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:before{border-inline-end-color:var(--bs-popover-arrow-border);left:0}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-inline-end-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:before{border-block-end-color:var(--bs-popover-arrow-border);top:0}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-block-end-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-bs-placement^=bottom] .popover-header:before{width:var(--bs-popover-arrow-width);content:"";border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);margin-inline-start:calc(-.5 * var(--bs-popover-arrow-width));display:block;position:absolute;top:0;left:50%}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:before{border-inline-start-color:var(--bs-popover-arrow-border);right:0}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-bs-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-inline-start-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-block-end:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-start-start-radius:var(--bs-popover-inner-border-radius);border-start-end-radius:var(--bs-popover-inner-border-radius);margin-bottom:0}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:var(--bs-font-size-sm);--bs-progress-bg:var(--bs-bg-2);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:var(--bs-white);--bs-progress-bar-bg:var(--bs-primary-bg);--bs-progress-bar-transition:width .6s ease;--bs-progress-bar-animation:progress-bar-stripes 1s linear infinite;height:var(--bs-progress-height);font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);display:flex;overflow:hidden}.progress-bar{color:var(--bs-theme-contrast,var(--bs-progress-bar-color));text-align:center;white-space:nowrap;background-color:var(--bs-theme-bg,var(--bs-progress-bar-bg));transition:var(--bs-progress-bar-transition);flex-direction:column;justify-content:center;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25% 50%,rgba(255,255,255,.15) 50% 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:var(--bs-progress-bar-animation)}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.spinner-grow,.spinner-border{width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;flex-shrink:0;display:inline-block}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-inline-end-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;opacity:0;background-color:currentColor}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.stepper{--bs-stepper-size:2rem;--bs-stepper-gap:1rem;--bs-stepper-font-size:var(--bs-font-size-sm);--bs-stepper-text-gap:.5rem;--bs-stepper-track-size:.125rem;--bs-stepper-bg:var(--bs-bg-2);--bs-stepper-active-color:var(--bs-primary-contrast);--bs-stepper-active-bg:var(--bs-primary-bg);gap:var(--bs-stepper-gap);counter-reset:stepper;grid-auto-rows:1fr;grid-auto-flow:row;padding-inline-start:0;list-style:none;display:grid}.stepper-item{grid-template-rows:auto;grid-template-columns:var(--bs-stepper-size) auto;gap:var(--bs-stepper-text-gap);align-items:var(--bs-stepper-align-items,center);text-decoration:none;display:grid;position:relative}.stepper-item:before{z-index:1;width:var(--bs-stepper-size);height:var(--bs-stepper-size);font-size:var(--bs-stepper-font-size);text-align:center;content:counter(stepper);counter-increment:stepper;background-color:var(--bs-stepper-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;font-weight:600;line-height:1;display:flex;position:relative}.stepper-item:after{width:var(--bs-stepper-track-size);height:calc(100% + var(--bs-stepper-gap));content:"";background-color:var(--bs-stepper-bg);position:absolute;inset-block:50% 100%;inset-inline-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5)}.stepper-item:last-child:after{display:none}.stepper-item.active:before,.stepper-item.active:after{color:var(--bs-theme-contrast,var(--bs-stepper-active-color));background-color:var(--bs-theme-bg,var(--bs-stepper-active-bg))}.stepper-item.active:not(:has(+.stepper-item.active)):after{background-color:var(--bs-stepper-bg)}.stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.stepper-horizontal .stepper-item:last-child:after{right:100%}@container (width>=576px){.sm\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.sm\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.sm\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.sm\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=768px){.md\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.md\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.md\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.md\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1024px){.lg\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.lg\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.lg\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.lg\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1280px){.xl\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.xl\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.xl\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.xl\:stepper-horizontal .stepper-item:last-child:after{right:100%}}@container (width>=1536px){.\32 xl\:stepper-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid}.\32 xl\:stepper-horizontal .stepper-item{grid-template-rows:var(--bs-stepper-size) auto;text-align:center;grid-template-columns:auto;place-items:start center}.\32 xl\:stepper-horizontal .stepper-item:after{width:calc(100% + var(--bs-stepper-gap));height:var(--bs-stepper-track-size);inset-block-start:calc(var(--bs-stepper-size) * .5 - var(--bs-stepper-track-size) * .5);inset-block-end:auto;inset-inline:50% 100%}.\32 xl\:stepper-horizontal .stepper-item:last-child:after{right:100%}}.stepper-overflow{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-x:auto;container-type:inline-size}.stepper-overflow>.stepper{width:max-content;min-width:100%}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:1rem;--bs-toast-padding-y:.75rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:var(--bs-font-size-sm);--bs-toast-bg:var(--bs-bg-body);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-fg-3);--bs-toast-header-bg:var(--bs-bg-1);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color,var(--bs-fg-body));pointer-events:auto;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-theme-border,var(--bs-toast-border-color));box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius,var(--bs-border-radius-lg));background-clip:padding-box;flex-direction:column;display:flex;overflow:hidden}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;z-index:var(--bs-toast-zindex);pointer-events:none;width:max-content;max-width:100%;position:absolute}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-theme-text-emphasis,var(--bs-toast-header-color));background-color:var(--bs-theme-bg-subtle,var(--bs-toast-header-bg));border-block-end:var(--bs-toast-border-width,var(--bs-border-width)) solid var(--bs-theme-border,var(--bs-toast-header-border-color,var(--bs-border-color-translucent)));align-items:center;display:flex}.toast-header .btn-close{color:inherit;margin-inline-start:calc(.5 * var(--bs-toast-padding-x));margin-inline-end:calc(-.25 * var(--bs-toast-padding-x))}.toast-translucent{-webkit-backdrop-filter:blur(5px)saturate(180%);backdrop-filter:blur(5px)saturate(180%)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}}@layer custom;@layer helpers{.focus-ring:focus-visible{outline:var(--bs-focus-ring)}.icon-link{-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden;align-items:center;gap:.375rem;display:inline-flex}.icon-link>.bi{fill:currentColor;flex-shrink:0;width:1em;height:1em;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em, 0, 0))}.fixed-top{z-index:1030;position:fixed;inset:0 0 auto}.fixed-bottom{z-index:1030;position:fixed;inset:auto 0 0}.sticky-top{z-index:1020;position:sticky;top:0}.sticky-bottom{z-index:1020;position:sticky;bottom:0}@media (min-width:576px){.sm\:sticky-top{z-index:1020;position:sticky;top:0}.sm\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:768px){.md\:sticky-top{z-index:1020;position:sticky;top:0}.md\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1024px){.lg\:sticky-top{z-index:1020;position:sticky;top:0}.lg\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1280px){.xl\:sticky-top{z-index:1020;position:sticky;top:0}.xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}@media (min-width:1536px){.\32 xl\:sticky-top{z-index:1020;position:sticky;top:0}.\32 xl\:sticky-bottom{z-index:1020;position:sticky;bottom:0}}.stack-container{container-type:inline-size}[class*=hstack],[class*=vstack]{flex:var(--bs-stack-flex,1 1 auto);flex-direction:var(--bs-stack-direction,row);align-items:var(--bs-stack-align-items,center);align-self:var(--bs-stack-align-self,stretch);display:flex}.vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}@container (width>=576px){.sm\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.sm\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=768px){.md\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.md\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1024px){.lg\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.lg\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1280px){.xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}@container (width>=1536px){.\32 xl\:vstack{--bs-stack-direction:column;--bs-stack-align-items:stretch}.\32 xl\:hstack{--bs-stack-direction:row;--bs-stack-align-items:flex-start}}.theme-primary{--bs-theme-base:var(--bs-primary-base);--bs-theme-text:var(--bs-primary-text);--bs-theme-text-emphasis:var(--bs-primary-text-emphasis);--bs-theme-bg:var(--bs-primary-bg);--bs-theme-bg-subtle:var(--bs-primary-bg-subtle);--bs-theme-bg-muted:var(--bs-primary-bg-muted);--bs-theme-border:var(--bs-primary-border);--bs-theme-focus-ring:var(--bs-primary-focus-ring);--bs-theme-contrast:var(--bs-primary-contrast)}.theme-accent{--bs-theme-base:var(--bs-accent-base);--bs-theme-text:var(--bs-accent-text);--bs-theme-text-emphasis:var(--bs-accent-text-emphasis);--bs-theme-bg:var(--bs-accent-bg);--bs-theme-bg-subtle:var(--bs-accent-bg-subtle);--bs-theme-bg-muted:var(--bs-accent-bg-muted);--bs-theme-border:var(--bs-accent-border);--bs-theme-focus-ring:var(--bs-accent-focus-ring);--bs-theme-contrast:var(--bs-accent-contrast)}.theme-success{--bs-theme-base:var(--bs-success-base);--bs-theme-text:var(--bs-success-text);--bs-theme-text-emphasis:var(--bs-success-text-emphasis);--bs-theme-bg:var(--bs-success-bg);--bs-theme-bg-subtle:var(--bs-success-bg-subtle);--bs-theme-bg-muted:var(--bs-success-bg-muted);--bs-theme-border:var(--bs-success-border);--bs-theme-focus-ring:var(--bs-success-focus-ring);--bs-theme-contrast:var(--bs-success-contrast)}.theme-danger{--bs-theme-base:var(--bs-danger-base);--bs-theme-text:var(--bs-danger-text);--bs-theme-text-emphasis:var(--bs-danger-text-emphasis);--bs-theme-bg:var(--bs-danger-bg);--bs-theme-bg-subtle:var(--bs-danger-bg-subtle);--bs-theme-bg-muted:var(--bs-danger-bg-muted);--bs-theme-border:var(--bs-danger-border);--bs-theme-focus-ring:var(--bs-danger-focus-ring);--bs-theme-contrast:var(--bs-danger-contrast)}.theme-warning{--bs-theme-base:var(--bs-warning-base);--bs-theme-text:var(--bs-warning-text);--bs-theme-text-emphasis:var(--bs-warning-text-emphasis);--bs-theme-bg:var(--bs-warning-bg);--bs-theme-bg-subtle:var(--bs-warning-bg-subtle);--bs-theme-bg-muted:var(--bs-warning-bg-muted);--bs-theme-border:var(--bs-warning-border);--bs-theme-focus-ring:var(--bs-warning-focus-ring);--bs-theme-contrast:var(--bs-warning-contrast)}.theme-info{--bs-theme-base:var(--bs-info-base);--bs-theme-text:var(--bs-info-text);--bs-theme-text-emphasis:var(--bs-info-text-emphasis);--bs-theme-bg:var(--bs-info-bg);--bs-theme-bg-subtle:var(--bs-info-bg-subtle);--bs-theme-bg-muted:var(--bs-info-bg-muted);--bs-theme-border:var(--bs-info-border);--bs-theme-focus-ring:var(--bs-info-focus-ring);--bs-theme-contrast:var(--bs-info-contrast)}.theme-inverse{--bs-theme-base:var(--bs-inverse-base);--bs-theme-text:var(--bs-inverse-text);--bs-theme-text-emphasis:var(--bs-inverse-text-emphasis);--bs-theme-bg:var(--bs-inverse-bg);--bs-theme-bg-subtle:var(--bs-inverse-bg-subtle);--bs-theme-bg-muted:var(--bs-inverse-bg-muted);--bs-theme-border:var(--bs-inverse-border);--bs-theme-focus-ring:var(--bs-inverse-focus-ring);--bs-theme-contrast:var(--bs-inverse-contrast)}.theme-secondary{--bs-theme-base:var(--bs-secondary-base);--bs-theme-text:var(--bs-secondary-text);--bs-theme-text-emphasis:var(--bs-secondary-text-emphasis);--bs-theme-bg:var(--bs-secondary-bg);--bs-theme-bg-subtle:var(--bs-secondary-bg-subtle);--bs-theme-bg-muted:var(--bs-secondary-bg-muted);--bs-theme-border:var(--bs-secondary-border);--bs-theme-focus-ring:var(--bs-secondary-focus-ring);--bs-theme-contrast:var(--bs-secondary-contrast)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption){position:absolute!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *{overflow:hidden!important}.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vr{width:var(--bs-vr-border-width,var(--bs-border-width));background-color:var(--bs-border-color);align-self:stretch;min-height:1em;display:inline-block}}@layer utilities{.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}[class*=ratio-]{aspect-ratio:var(--bs-ratio)}.ratio-auto{--bs-ratio:auto}.ratio-1x1{--bs-ratio:1 / 1}.ratio-4x3{--bs-ratio:4 / 3}.ratio-16x9{--bs-ratio:16 / 9}.ratio-21x9{--bs-ratio:21 / 9}.float-start{float:inline-start}.float-end{float:inline-end}.float-none{float:none}.object-fit-contain{-o-object-fit:contain;object-fit:contain}.object-fit-cover{-o-object-fit:cover;object-fit:cover}.object-fit-fill{-o-object-fit:fill;object-fit:fill}.object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.object-fit-none{-o-object-fit:none;object-fit:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.contains-inline{container-type:inline-size}.contains-size{container-type:size}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-inline-grid{display:inline-grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-contents{display:contents}.d-flow-root{display:flow-root}.d-none{display:none}.shadow{box-shadow:var(--bs-box-shadow)}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)}.shadow-none{box-shadow:none}.focus-ring-primary{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)))}.focus-ring-accent{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)))}.focus-ring-success{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)))}.focus-ring-danger{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)))}.focus-ring-warning{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)))}.focus-ring-info{--bs-focus-ring-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)))}.focus-ring-inverse{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body))}.focus-ring-secondary{--bs-focus-ring-color:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body))}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{transform:translate(-50%,-50%)}.translate-middle-x{transform:translate(-50%)}.translate-middle-y{transform:translateY(-50%)}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-0{border:0}.border-top{border-block-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-top-0{border-block-start:0}.border-end{border-inline-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-end-0{border-inline-end:0}.border-bottom{border-block-end:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-bottom-0{border-block-end:0}.border-start{border-inline-start:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-start-0{border-inline-start:0}.border-block{border-block:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-block-0{border-block:0}.border-inline{border-inline:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)}.border-inline-0{border-inline:0}.border-primary{--bs-border-color:var(--bs-blue-500);border-color:var(--bs-border-color)}.border-accent{--bs-border-color:var(--bs-indigo-500);border-color:var(--bs-border-color)}.border-success{--bs-border-color:var(--bs-green-500);border-color:var(--bs-border-color)}.border-danger{--bs-border-color:var(--bs-red-500);border-color:var(--bs-border-color)}.border-warning{--bs-border-color:var(--bs-yellow-500);border-color:var(--bs-border-color)}.border-info{--bs-border-color:var(--bs-cyan-500);border-color:var(--bs-border-color)}.border-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));border-color:var(--bs-border-color)}.border-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-bg{--bs-border-color:var(--bs-bg-body);border-color:var(--bs-border-color)}.border-body{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-muted{--bs-border-color:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));border-color:var(--bs-border-color)}.border-subtle{--bs-border-color:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));border-color:var(--bs-border-color)}.border-emphasized{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-white{--bs-border-color:var(--bs-white);border-color:var(--bs-border-color)}.border-black{--bs-border-color:var(--bs-black);border-color:var(--bs-border-color)}.border-subtle-primary{--bs-border-color:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));border-color:var(--bs-border-color)}.border-subtle-accent{--bs-border-color:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));border-color:var(--bs-border-color)}.border-subtle-success{--bs-border-color:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));border-color:var(--bs-border-color)}.border-subtle-danger{--bs-border-color:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));border-color:var(--bs-border-color)}.border-subtle-warning{--bs-border-color:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));border-color:var(--bs-border-color)}.border-subtle-info{--bs-border-color:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));border-color:var(--bs-border-color)}.border-subtle-inverse{--bs-border-color:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));border-color:var(--bs-border-color)}.border-subtle-secondary{--bs-border-color:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));border-color:var(--bs-border-color)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.border-5{border-width:5px}.border-10{border-color:color-mix(in oklch, var(--bs-border-color) 10%, transparent)}.border-20{border-color:color-mix(in oklch, var(--bs-border-color) 20%, transparent)}.border-30{border-color:color-mix(in oklch, var(--bs-border-color) 30%, transparent)}.border-40{border-color:color-mix(in oklch, var(--bs-border-color) 40%, transparent)}.border-50{border-color:color-mix(in oklch, var(--bs-border-color) 50%, transparent)}.border-60{border-color:color-mix(in oklch, var(--bs-border-color) 60%, transparent)}.border-70{border-color:color-mix(in oklch, var(--bs-border-color) 70%, transparent)}.border-80{border-color:color-mix(in oklch, var(--bs-border-color) 80%, transparent)}.border-90{border-color:color-mix(in oklch, var(--bs-border-color) 90%, transparent)}.border-100{border-color:var(--bs-border-color)}.w-1{width:1rem}.w-2{width:2rem}.w-3{width:3rem}.w-4{width:4rem}.w-5{width:5rem}.w-6{width:6rem}.w-7{width:7rem}.w-8{width:8rem}.w-9{width:9rem}.w-10{width:10rem}.w-11{width:11rem}.w-12{width:12rem}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.max-w-100{max-width:100%}.min-w-0{min-width:0}.min-w-100{min-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.max-h-100{max-height:100%}.min-h-0{min-height:0}.min-h-100{min-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-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}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.justify-self-center{justify-self:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self: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 stretch}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-fill{grid-column:1/-1}.grid-auto-flow-row{grid-auto-flow:row}.grid-auto-flow-column{grid-auto-flow:column}.grid-auto-flow-dense{grid-auto-flow:dense}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-7{margin:2rem}.m-8{margin:2.5rem}.m-9{margin:3rem}.m-auto{margin:auto}.mx-0{margin-inline:0}.mx-1{margin-inline:.25rem}.mx-2{margin-inline:.5rem}.mx-3{margin-inline:.75rem}.mx-4{margin-inline:1rem}.mx-5{margin-inline:1.25rem}.mx-6{margin-inline:1.5rem}.mx-7{margin-inline:2rem}.mx-8{margin-inline:2.5rem}.mx-9{margin-inline:3rem}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.my-1{margin-block:.25rem}.my-2{margin-block:.5rem}.my-3{margin-block:.75rem}.my-4{margin-block:1rem}.my-5{margin-block:1.25rem}.my-6{margin-block:1.5rem}.my-7{margin-block:2rem}.my-8{margin-block:2.5rem}.my-9{margin-block:3rem}.my-auto{margin-block:auto}.mt-0{margin-block-start:0}.mt-1{margin-block-start:.25rem}.mt-2{margin-block-start:.5rem}.mt-3{margin-block-start:.75rem}.mt-4{margin-block-start:1rem}.mt-5{margin-block-start:1.25rem}.mt-6{margin-block-start:1.5rem}.mt-7{margin-block-start:2rem}.mt-8{margin-block-start:2.5rem}.mt-9{margin-block-start:3rem}.mt-auto{margin-block-start:auto}.me-0{margin-inline-end:0}.me-1{margin-inline-end:.25rem}.me-2{margin-inline-end:.5rem}.me-3{margin-inline-end:.75rem}.me-4{margin-inline-end:1rem}.me-5{margin-inline-end:1.25rem}.me-6{margin-inline-end:1.5rem}.me-7{margin-inline-end:2rem}.me-8{margin-inline-end:2.5rem}.me-9{margin-inline-end:3rem}.me-auto{margin-inline-end:auto}.mb-0{margin-block-end:0}.mb-1{margin-block-end:.25rem}.mb-2{margin-block-end:.5rem}.mb-3{margin-block-end:.75rem}.mb-4{margin-block-end:1rem}.mb-5{margin-block-end:1.25rem}.mb-6{margin-block-end:1.5rem}.mb-7{margin-block-end:2rem}.mb-8{margin-block-end:2.5rem}.mb-9{margin-block-end:3rem}.mb-auto{margin-block-end:auto}.ms-0{margin-inline-start:0}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-3{margin-inline-start:.75rem}.ms-4{margin-inline-start:1rem}.ms-5{margin-inline-start:1.25rem}.ms-6{margin-inline-start:1.5rem}.ms-7{margin-inline-start:2rem}.ms-8{margin-inline-start:2.5rem}.ms-9{margin-inline-start:3rem}.ms--1{margin-inline-start:-.25rem}.ms--2{margin-inline-start:-.5rem}.ms-auto{margin-inline-start:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:2rem}.p-8{padding:2.5rem}.p-9{padding:3rem}.px-0{padding-inline:0}.px-1{padding-inline:.25rem}.px-2{padding-inline:.5rem}.px-3{padding-inline:.75rem}.px-4{padding-inline:1rem}.px-5{padding-inline:1.25rem}.px-6{padding-inline:1.5rem}.px-7{padding-inline:2rem}.px-8{padding-inline:2.5rem}.px-9{padding-inline:3rem}.py-0{padding-block:0}.py-1{padding-block:.25rem}.py-2{padding-block:.5rem}.py-3{padding-block:.75rem}.py-4{padding-block:1rem}.py-5{padding-block:1.25rem}.py-6{padding-block:1.5rem}.py-7{padding-block:2rem}.py-8{padding-block:2.5rem}.py-9{padding-block:3rem}.pt-0{padding-block-start:0}.pt-1{padding-block-start:.25rem}.pt-2{padding-block-start:.5rem}.pt-3{padding-block-start:.75rem}.pt-4{padding-block-start:1rem}.pt-5{padding-block-start:1.25rem}.pt-6{padding-block-start:1.5rem}.pt-7{padding-block-start:2rem}.pt-8{padding-block-start:2.5rem}.pt-9{padding-block-start:3rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-5{padding-inline-end:1.25rem}.pe-6{padding-inline-end:1.5rem}.pe-7{padding-inline-end:2rem}.pe-8{padding-inline-end:2.5rem}.pe-9{padding-inline-end:3rem}.pb-0{padding-block-end:0}.pb-1{padding-block-end:.25rem}.pb-2{padding-block-end:.5rem}.pb-3{padding-block-end:.75rem}.pb-4{padding-block-end:1rem}.pb-5{padding-block-end:1.25rem}.pb-6{padding-block-end:1.5rem}.pb-7{padding-block-end:2rem}.pb-8{padding-block-end:2.5rem}.pb-9{padding-block-end:3rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-6{padding-inline-start:1.5rem}.ps-7{padding-inline-start:2rem}.ps-8{padding-inline-start:2.5rem}.ps-9{padding-inline-start:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:2rem}.gap-8{gap:2.5rem}.gap-9{gap:3rem}.row-gap-0{row-gap:0}.row-gap-1{row-gap:.25rem}.row-gap-2{row-gap:.5rem}.row-gap-3{row-gap:.75rem}.row-gap-4{row-gap:1rem}.row-gap-5{row-gap:1.25rem}.row-gap-6{row-gap:1.5rem}.row-gap-7{row-gap:2rem}.row-gap-8{row-gap:2.5rem}.row-gap-9{row-gap:3rem}.column-gap-0{-moz-column-gap:0;column-gap:0}.column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.font-monospace{font-family:var(--bs-font-mono)}.font-body{font-family:var(--bs-body-font-family)}.fs-xs{font-size:.75rem}.fs-sm{font-size:.875rem}.fs-md{font-size:1rem}.fs-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem)}.fs-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem)}.fs-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem)}.fs-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem)}.fs-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem)}.fs-5xl{font-size:clamp(3rem,2rem + 5vw,4rem)}.fs-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem)}.text-xs{font-size:.75rem;line-height:1.25}.text-sm{font-size:.875rem;line-height:1.5}.text-md{font-size:1rem;line-height:1.5}.text-lg{font-size:clamp(1.25rem,1rem + .625vw,1.5rem);line-height:1.5}.text-xl{font-size:clamp(1.5rem,1.1rem + .75vw,1.75rem);line-height:1.42857}.text-2xl{font-size:clamp(1.75rem,1.3rem + 1vw,2rem);line-height:1.33333}.text-3xl{font-size:clamp(2rem,1.5rem + 1.875vw,2.5rem);line-height:1.2}.text-4xl{font-size:clamp(2.25rem,1.75rem + 2.5vw,3rem);line-height:1.1}.text-5xl{font-size:clamp(3rem,2rem + 5vw,4rem);line-height:1.1}.text-6xl{font-size:clamp(3.75rem,2.5rem + 6.25vw,5rem);line-height:1}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-lighter{font-weight:lighter}.fw-light{font-weight:300}.fw-normal{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:start}.text-end{text-align:end}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:wrap}.text-nowrap{white-space:nowrap}.text-balance{white-space:balance}.text-pretty{white-space:pretty}.text-break{word-wrap:break-word;word-break:break-word}.fg-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));color:var(--bs-fg)}.fg-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));color:var(--bs-fg)}.fg-success{--bs-fg:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));color:var(--bs-fg)}.fg-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));color:var(--bs-fg)}.fg-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));color:var(--bs-fg)}.fg-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));color:var(--bs-fg)}.fg-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));color:var(--bs-fg)}.fg-body{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));color:var(--bs-fg)}.fg-1{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-2{--bs-fg:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));color:var(--bs-fg)}.fg-3{--bs-fg:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));color:var(--bs-fg)}.fg-4{--bs-fg:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));color:var(--bs-fg)}.fg-white{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-black{--bs-fg:var(--bs-black);color:var(--bs-fg)}.fg-inherit{--bs-fg:inherit;color:var(--bs-fg)}.fg-emphasis-primary{--bs-fg:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));color:var(--bs-fg)}.fg-emphasis-accent{--bs-fg:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));color:var(--bs-fg)}.fg-emphasis-success{--bs-fg:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));color:var(--bs-fg)}.fg-emphasis-danger{--bs-fg:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));color:var(--bs-fg)}.fg-emphasis-warning{--bs-fg:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));color:var(--bs-fg)}.fg-emphasis-info{--bs-fg:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));color:var(--bs-fg)}.fg-emphasis-inverse{--bs-fg:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-emphasis-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));color:var(--bs-fg)}.fg-contrast-primary,.fg-contrast-accent,.fg-contrast-success,.fg-contrast-danger{--bs-fg:var(--bs-white);color:var(--bs-fg)}.fg-contrast-warning,.fg-contrast-info{--bs-fg:var(--bs-gray-900);color:var(--bs-fg)}.fg-contrast-inverse{--bs-fg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));color:var(--bs-fg)}.fg-contrast-secondary{--bs-fg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));color:var(--bs-fg)}.fg-10{color:color-mix(in oklch, var(--bs-fg) 10%, transparent)}.fg-20{color:color-mix(in oklch, var(--bs-fg) 20%, transparent)}.fg-30{color:color-mix(in oklch, var(--bs-fg) 30%, transparent)}.fg-40{color:color-mix(in oklch, var(--bs-fg) 40%, transparent)}.fg-50{color:color-mix(in oklch, var(--bs-fg) 50%, transparent)}.fg-60{color:color-mix(in oklch, var(--bs-fg) 60%, transparent)}.fg-70{color:color-mix(in oklch, var(--bs-fg) 70%, transparent)}.fg-80{color:color-mix(in oklch, var(--bs-fg) 80%, transparent)}.fg-90{color:color-mix(in oklch, var(--bs-fg) 90%, transparent)}.fg-100{color:var(--bs-fg)}.link-10,.link-10-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.link-20,.link-20-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.link-30,.link-30-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.link-40,.link-40-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.link-50,.link-50-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.link-60,.link-60-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.link-70,.link-70-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.link-80,.link-80-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.link-90,.link-90-hover:hover{color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.link-100,.link-100-hover:hover{color:var(--bs-link-color)}.underline-offset-1,.underline-offset-1-hover:hover{text-underline-offset:.125em}.underline-offset-2,.underline-offset-2-hover:hover{text-underline-offset:.25em}.underline-offset-3,.underline-offset-3-hover:hover{text-underline-offset:.375em}.underline-primary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));text-decoration-color:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400))}.underline-accent{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));text-decoration-color:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)))}.underline-success{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));text-decoration-color:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400))}.underline-danger{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));text-decoration-color:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400))}.underline-warning{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));text-decoration-color:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400))}.underline-info{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));text-decoration-color:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400))}.underline-inverse{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));text-decoration-color:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200))}.underline-secondary{-webkit-text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));text-decoration-color:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400))}.underline-10,.underline-10-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 10%, transparent)}.underline-20,.underline-20-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 20%, transparent)}.underline-30,.underline-30-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 30%, transparent)}.underline-40,.underline-40-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 40%, transparent)}.underline-50,.underline-50-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 50%, transparent)}.underline-60,.underline-60-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 60%, transparent)}.underline-70,.underline-70-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 70%, transparent)}.underline-80,.underline-80-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 80%, transparent)}.underline-90,.underline-90-hover:hover{-webkit-text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent);text-decoration-color:color-mix(in oklch, var(--bs-link-color) 90%, transparent)}.underline-100,.underline-100-hover:hover{-webkit-text-decoration-color:var(--bs-link-color);text-decoration-color:var(--bs-link-color)}.underline-thickness-1,.underline-thickness-1-hover:hover{text-decoration-thickness:1px}.underline-thickness-2,.underline-thickness-2-hover:hover{text-decoration-thickness:2px}.underline-thickness-3,.underline-thickness-3-hover:hover{text-decoration-thickness:3px}.underline-thickness-4,.underline-thickness-4-hover:hover{text-decoration-thickness:4px}.underline-thickness-5,.underline-thickness-5-hover:hover{text-decoration-thickness:5px}.bg-primary{--bs-bg:var(--bs-blue-500);background-color:var(--bs-bg)}.bg-accent{--bs-bg:var(--bs-indigo-500);background-color:var(--bs-bg)}.bg-success{--bs-bg:var(--bs-green-500);background-color:var(--bs-bg)}.bg-danger{--bs-bg:var(--bs-red-500);background-color:var(--bs-bg)}.bg-warning{--bs-bg:var(--bs-yellow-500);background-color:var(--bs-bg)}.bg-info{--bs-bg:var(--bs-cyan-500);background-color:var(--bs-bg)}.bg-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));background-color:var(--bs-bg)}.bg-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));background-color:var(--bs-bg)}.bg-body{--bs-bg:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));background-color:var(--bs-bg)}.bg-1{--bs-bg:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));background-color:var(--bs-bg)}.bg-2{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-3{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-4{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-white{--bs-bg:var(--bs-white);background-color:var(--bs-bg)}.bg-black{--bs-bg:var(--bs-black);background-color:var(--bs-bg)}.bg-transparent{--bs-bg:transparent;background-color:var(--bs-bg)}.bg-inherit{--bs-bg:inherit;background-color:var(--bs-bg)}.bg-subtle-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));background-color:var(--bs-bg)}.bg-subtle-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));background-color:var(--bs-bg)}.bg-subtle-success{--bs-bg:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));background-color:var(--bs-bg)}.bg-subtle-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));background-color:var(--bs-bg)}.bg-subtle-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));background-color:var(--bs-bg)}.bg-subtle-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));background-color:var(--bs-bg)}.bg-subtle-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));background-color:var(--bs-bg)}.bg-subtle-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));background-color:var(--bs-bg)}.bg-muted-primary{--bs-bg:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));background-color:var(--bs-bg)}.bg-muted-accent{--bs-bg:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));background-color:var(--bs-bg)}.bg-muted-success{--bs-bg:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));background-color:var(--bs-bg)}.bg-muted-danger{--bs-bg:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));background-color:var(--bs-bg)}.bg-muted-warning{--bs-bg:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));background-color:var(--bs-bg)}.bg-muted-info{--bs-bg:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));background-color:var(--bs-bg)}.bg-muted-inverse{--bs-bg:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));background-color:var(--bs-bg)}.bg-muted-secondary{--bs-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));background-color:var(--bs-bg)}.bg-10{background-color:color-mix(in oklch, var(--bs-bg) 10%, transparent)}.bg-20{background-color:color-mix(in oklch, var(--bs-bg) 20%, transparent)}.bg-30{background-color:color-mix(in oklch, var(--bs-bg) 30%, transparent)}.bg-40{background-color:color-mix(in oklch, var(--bs-bg) 40%, transparent)}.bg-50{background-color:color-mix(in oklch, var(--bs-bg) 50%, transparent)}.bg-60{background-color:color-mix(in oklch, var(--bs-bg) 60%, transparent)}.bg-70{background-color:color-mix(in oklch, var(--bs-bg) 70%, transparent)}.bg-80{background-color:color-mix(in oklch, var(--bs-bg) 80%, transparent)}.bg-90{background-color:color-mix(in oklch, var(--bs-bg) 90%, transparent)}.bg-100{background-color:var(--bs-bg)}.theme-contrast{background-color:var(--bs-theme-bg);color:var(--bs-theme-contrast)}.theme-subtle{background-color:var(--bs-theme-bg-subtle);color:var(--bs-theme-text)}.theme-muted{background-color:var(--bs-theme-bg-muted);color:var(--bs-theme-text-emphasis)}.theme-border{border:var(--bs-border-width) solid var(--bs-theme-border)}.bg-gradient{background-image:var(--bs-gradient)}.user-select-all{-webkit-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;user-select:auto}.user-select-text{-webkit-user-select:text;user-select:text}.user-select-none{-webkit-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--bs-border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--bs-border-radius-sm)}.rounded-2{border-radius:var(--bs-border-radius)}.rounded-3{border-radius:var(--bs-border-radius-lg)}.rounded-4{border-radius:var(--bs-border-radius-xl)}.rounded-5{border-radius:var(--bs-border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--bs-border-radius-pill)}.rounded-top{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-top-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-top-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-top-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-top-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-top-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-top-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-top-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.rounded-end{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-end-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-end-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-end-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-end-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-end-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-end-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-end-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-bottom{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-0{border-end-end-radius:0;border-end-start-radius:0}.rounded-bottom-1{border-end-end-radius:var(--bs-border-radius-sm);border-end-start-radius:var(--bs-border-radius-sm)}.rounded-bottom-2{border-end-end-radius:var(--bs-border-radius);border-end-start-radius:var(--bs-border-radius)}.rounded-bottom-3{border-end-end-radius:var(--bs-border-radius-lg);border-end-start-radius:var(--bs-border-radius-lg)}.rounded-bottom-4{border-end-end-radius:var(--bs-border-radius-xl);border-end-start-radius:var(--bs-border-radius-xl)}.rounded-bottom-5{border-end-end-radius:var(--bs-border-radius-2xl);border-end-start-radius:var(--bs-border-radius-2xl)}.rounded-bottom-circle{border-end-end-radius:50%;border-end-start-radius:50%}.rounded-bottom-pill{border-end-end-radius:var(--bs-border-radius-pill);border-end-start-radius:var(--bs-border-radius-pill)}.rounded-start{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-0{border-start-start-radius:0;border-start-end-radius:0}.rounded-start-1{border-start-start-radius:var(--bs-border-radius-sm);border-start-end-radius:var(--bs-border-radius-sm)}.rounded-start-2{border-start-start-radius:var(--bs-border-radius);border-start-end-radius:var(--bs-border-radius)}.rounded-start-3{border-start-start-radius:var(--bs-border-radius-lg);border-start-end-radius:var(--bs-border-radius-lg)}.rounded-start-4{border-start-start-radius:var(--bs-border-radius-xl);border-start-end-radius:var(--bs-border-radius-xl)}.rounded-start-5{border-start-start-radius:var(--bs-border-radius-2xl);border-start-end-radius:var(--bs-border-radius-2xl)}.rounded-start-circle{border-start-start-radius:50%;border-start-end-radius:50%}.rounded-start-pill{border-start-start-radius:var(--bs-border-radius-pill);border-start-end-radius:var(--bs-border-radius-pill)}.visible{visibility:visible}.invisible{visibility:hidden}.z-n1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-3{z-index:3}@media (min-width:576px){.sm\:float-start{float:inline-start}.sm\:float-end{float:inline-end}.sm\:float-none{float:none}.sm\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-fit-none{-o-object-fit:none;object-fit:none}.sm\:d-inline{display:inline}.sm\:d-inline-block{display:inline-block}.sm\:d-block{display:block}.sm\:d-grid{display:grid}.sm\:d-inline-grid{display:inline-grid}.sm\:d-table{display:table}.sm\:d-table-row{display:table-row}.sm\:d-table-cell{display:table-cell}.sm\:d-flex{display:flex}.sm\:d-inline-flex{display:inline-flex}.sm\:d-contents{display:contents}.sm\:d-flow-root{display:flow-root}.sm\:d-none{display:none}.sm\:flex-fill{flex:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-column{flex-direction:column}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-column-reverse{flex-direction:column-reverse}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow-1{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink-1{flex-shrink:1}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:justify-content-start{justify-content:flex-start}.sm\:justify-content-end{justify-content:flex-end}.sm\:justify-content-center{justify-content:center}.sm\:justify-content-between{justify-content:space-between}.sm\:justify-content-around{justify-content:space-around}.sm\:justify-content-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\:justify-self-start{justify-self:flex-start}.sm\:justify-self-end{justify-self:flex-end}.sm\:justify-self-center{justify-self:center}.sm\:align-items-start{align-items:flex-start}.sm\:align-items-end{align-items:flex-end}.sm\:align-items-center{align-items:center}.sm\:align-items-baseline{align-items:baseline}.sm\:align-items-stretch{align-items:stretch}.sm\:align-content-start{align-content:flex-start}.sm\:align-content-end{align-content:flex-end}.sm\:align-content-center{align-content:center}.sm\:align-content-between{align-content:space-between}.sm\:align-content-around{align-content:space-around}.sm\:align-content-stretch{align-content:stretch}.sm\:align-self-auto{align-self:auto}.sm\:align-self-start{align-self:flex-start}.sm\:align-self-end{align-self:flex-end}.sm\:align-self-center{align-self:center}.sm\:align-self-baseline{align-self:baseline}.sm\:align-self-stretch{align-self: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 stretch}.sm\:grid-cols-1{grid-template-columns:1fr}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.sm\:grid-cols-fill{grid-column:1/-1}.sm\:grid-auto-flow-row{grid-auto-flow:row}.sm\:grid-auto-flow-column{grid-auto-flow:column}.sm\:grid-auto-flow-dense{grid-auto-flow:dense}.sm\:order-first{order:-1}.sm\:order-0{order:0}.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-last{order:6}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-7{margin:2rem}.sm\:m-8{margin:2.5rem}.sm\:m-9{margin:3rem}.sm\:m-auto{margin:auto}.sm\:mx-0{margin-inline:0}.sm\:mx-1{margin-inline:.25rem}.sm\:mx-2{margin-inline:.5rem}.sm\:mx-3{margin-inline:.75rem}.sm\:mx-4{margin-inline:1rem}.sm\:mx-5{margin-inline:1.25rem}.sm\:mx-6{margin-inline:1.5rem}.sm\:mx-7{margin-inline:2rem}.sm\:mx-8{margin-inline:2.5rem}.sm\:mx-9{margin-inline:3rem}.sm\:mx-auto{margin-inline:auto}.sm\:my-0{margin-block:0}.sm\:my-1{margin-block:.25rem}.sm\:my-2{margin-block:.5rem}.sm\:my-3{margin-block:.75rem}.sm\:my-4{margin-block:1rem}.sm\:my-5{margin-block:1.25rem}.sm\:my-6{margin-block:1.5rem}.sm\:my-7{margin-block:2rem}.sm\:my-8{margin-block:2.5rem}.sm\:my-9{margin-block:3rem}.sm\:my-auto{margin-block:auto}.sm\:mt-0{margin-block-start:0}.sm\:mt-1{margin-block-start:.25rem}.sm\:mt-2{margin-block-start:.5rem}.sm\:mt-3{margin-block-start:.75rem}.sm\:mt-4{margin-block-start:1rem}.sm\:mt-5{margin-block-start:1.25rem}.sm\:mt-6{margin-block-start:1.5rem}.sm\:mt-7{margin-block-start:2rem}.sm\:mt-8{margin-block-start:2.5rem}.sm\:mt-9{margin-block-start:3rem}.sm\:mt-auto{margin-block-start:auto}.sm\:me-0{margin-inline-end:0}.sm\:me-1{margin-inline-end:.25rem}.sm\:me-2{margin-inline-end:.5rem}.sm\:me-3{margin-inline-end:.75rem}.sm\:me-4{margin-inline-end:1rem}.sm\:me-5{margin-inline-end:1.25rem}.sm\:me-6{margin-inline-end:1.5rem}.sm\:me-7{margin-inline-end:2rem}.sm\:me-8{margin-inline-end:2.5rem}.sm\:me-9{margin-inline-end:3rem}.sm\:me-auto{margin-inline-end:auto}.sm\:mb-0{margin-block-end:0}.sm\:mb-1{margin-block-end:.25rem}.sm\:mb-2{margin-block-end:.5rem}.sm\:mb-3{margin-block-end:.75rem}.sm\:mb-4{margin-block-end:1rem}.sm\:mb-5{margin-block-end:1.25rem}.sm\:mb-6{margin-block-end:1.5rem}.sm\:mb-7{margin-block-end:2rem}.sm\:mb-8{margin-block-end:2.5rem}.sm\:mb-9{margin-block-end:3rem}.sm\:mb-auto{margin-block-end:auto}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1{margin-inline-start:.25rem}.sm\:ms-2{margin-inline-start:.5rem}.sm\:ms-3{margin-inline-start:.75rem}.sm\:ms-4{margin-inline-start:1rem}.sm\:ms-5{margin-inline-start:1.25rem}.sm\:ms-6{margin-inline-start:1.5rem}.sm\:ms-7{margin-inline-start:2rem}.sm\:ms-8{margin-inline-start:2.5rem}.sm\:ms-9{margin-inline-start:3rem}.sm\:ms--1{margin-inline-start:-.25rem}.sm\:ms--2{margin-inline-start:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:2rem}.sm\:p-8{padding:2.5rem}.sm\:p-9{padding:3rem}.sm\:px-0{padding-inline:0}.sm\:px-1{padding-inline:.25rem}.sm\:px-2{padding-inline:.5rem}.sm\:px-3{padding-inline:.75rem}.sm\:px-4{padding-inline:1rem}.sm\:px-5{padding-inline:1.25rem}.sm\:px-6{padding-inline:1.5rem}.sm\:px-7{padding-inline:2rem}.sm\:px-8{padding-inline:2.5rem}.sm\:px-9{padding-inline:3rem}.sm\:py-0{padding-block:0}.sm\:py-1{padding-block:.25rem}.sm\:py-2{padding-block:.5rem}.sm\:py-3{padding-block:.75rem}.sm\:py-4{padding-block:1rem}.sm\:py-5{padding-block:1.25rem}.sm\:py-6{padding-block:1.5rem}.sm\:py-7{padding-block:2rem}.sm\:py-8{padding-block:2.5rem}.sm\:py-9{padding-block:3rem}.sm\:pt-0{padding-block-start:0}.sm\:pt-1{padding-block-start:.25rem}.sm\:pt-2{padding-block-start:.5rem}.sm\:pt-3{padding-block-start:.75rem}.sm\:pt-4{padding-block-start:1rem}.sm\:pt-5{padding-block-start:1.25rem}.sm\:pt-6{padding-block-start:1.5rem}.sm\:pt-7{padding-block-start:2rem}.sm\:pt-8{padding-block-start:2.5rem}.sm\:pt-9{padding-block-start:3rem}.sm\:pe-0{padding-inline-end:0}.sm\:pe-1{padding-inline-end:.25rem}.sm\:pe-2{padding-inline-end:.5rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-4{padding-inline-end:1rem}.sm\:pe-5{padding-inline-end:1.25rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:pe-7{padding-inline-end:2rem}.sm\:pe-8{padding-inline-end:2.5rem}.sm\:pe-9{padding-inline-end:3rem}.sm\:pb-0{padding-block-end:0}.sm\:pb-1{padding-block-end:.25rem}.sm\:pb-2{padding-block-end:.5rem}.sm\:pb-3{padding-block-end:.75rem}.sm\:pb-4{padding-block-end:1rem}.sm\:pb-5{padding-block-end:1.25rem}.sm\:pb-6{padding-block-end:1.5rem}.sm\:pb-7{padding-block-end:2rem}.sm\:pb-8{padding-block-end:2.5rem}.sm\:pb-9{padding-block-end:3rem}.sm\:ps-0{padding-inline-start:0}.sm\:ps-1{padding-inline-start:.25rem}.sm\:ps-2{padding-inline-start:.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-4{padding-inline-start:1rem}.sm\:ps-5{padding-inline-start:1.25rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:ps-7{padding-inline-start:2rem}.sm\:ps-8{padding-inline-start:2.5rem}.sm\:ps-9{padding-inline-start:3rem}.sm\:gap-0{gap:0}.sm\:gap-1{gap:.25rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-7{gap:2rem}.sm\:gap-8{gap:2.5rem}.sm\:gap-9{gap:3rem}.sm\:row-gap-0{row-gap:0}.sm\:row-gap-1{row-gap:.25rem}.sm\:row-gap-2{row-gap:.5rem}.sm\:row-gap-3{row-gap:.75rem}.sm\:row-gap-4{row-gap:1rem}.sm\:row-gap-5{row-gap:1.25rem}.sm\:row-gap-6{row-gap:1.5rem}.sm\:row-gap-7{row-gap:2rem}.sm\:row-gap-8{row-gap:2.5rem}.sm\:row-gap-9{row-gap:3rem}.sm\:column-gap-0{-moz-column-gap:0;column-gap:0}.sm\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.sm\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.sm\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.sm\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.sm\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.sm\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.sm\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.sm\:text-start{text-align:start}.sm\:text-end{text-align:end}.sm\:text-center{text-align:center}}@media (min-width:768px){.md\:float-start{float:inline-start}.md\:float-end{float:inline-end}.md\:float-none{float:none}.md\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.md\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.md\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-fit-none{-o-object-fit:none;object-fit:none}.md\:d-inline{display:inline}.md\:d-inline-block{display:inline-block}.md\:d-block{display:block}.md\:d-grid{display:grid}.md\:d-inline-grid{display:inline-grid}.md\:d-table{display:table}.md\:d-table-row{display:table-row}.md\:d-table-cell{display:table-cell}.md\:d-flex{display:flex}.md\:d-inline-flex{display:inline-flex}.md\:d-contents{display:contents}.md\:d-flow-root{display:flow-root}.md\:d-none{display:none}.md\:flex-fill{flex:auto}.md\:flex-row{flex-direction:row}.md\:flex-column{flex-direction:column}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-column-reverse{flex-direction:column-reverse}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow-1{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink-1{flex-shrink:1}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-nowrap{flex-wrap:nowrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:justify-content-start{justify-content:flex-start}.md\:justify-content-end{justify-content:flex-end}.md\:justify-content-center{justify-content:center}.md\:justify-content-between{justify-content:space-between}.md\:justify-content-around{justify-content:space-around}.md\:justify-content-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\:justify-self-start{justify-self:flex-start}.md\:justify-self-end{justify-self:flex-end}.md\:justify-self-center{justify-self:center}.md\:align-items-start{align-items:flex-start}.md\:align-items-end{align-items:flex-end}.md\:align-items-center{align-items:center}.md\:align-items-baseline{align-items:baseline}.md\:align-items-stretch{align-items:stretch}.md\:align-content-start{align-content:flex-start}.md\:align-content-end{align-content:flex-end}.md\:align-content-center{align-content:center}.md\:align-content-between{align-content:space-between}.md\:align-content-around{align-content:space-around}.md\:align-content-stretch{align-content:stretch}.md\:align-self-auto{align-self:auto}.md\:align-self-start{align-self:flex-start}.md\:align-self-end{align-self:flex-end}.md\:align-self-center{align-self:center}.md\:align-self-baseline{align-self:baseline}.md\:align-self-stretch{align-self: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 stretch}.md\:grid-cols-1{grid-template-columns:1fr}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-fill{grid-column:1/-1}.md\:grid-auto-flow-row{grid-auto-flow:row}.md\:grid-auto-flow-column{grid-auto-flow:column}.md\:grid-auto-flow-dense{grid-auto-flow:dense}.md\:order-first{order:-1}.md\:order-0{order:0}.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-last{order:6}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-7{margin:2rem}.md\:m-8{margin:2.5rem}.md\:m-9{margin:3rem}.md\:m-auto{margin:auto}.md\:mx-0{margin-inline:0}.md\:mx-1{margin-inline:.25rem}.md\:mx-2{margin-inline:.5rem}.md\:mx-3{margin-inline:.75rem}.md\:mx-4{margin-inline:1rem}.md\:mx-5{margin-inline:1.25rem}.md\:mx-6{margin-inline:1.5rem}.md\:mx-7{margin-inline:2rem}.md\:mx-8{margin-inline:2.5rem}.md\:mx-9{margin-inline:3rem}.md\:mx-auto{margin-inline:auto}.md\:my-0{margin-block:0}.md\:my-1{margin-block:.25rem}.md\:my-2{margin-block:.5rem}.md\:my-3{margin-block:.75rem}.md\:my-4{margin-block:1rem}.md\:my-5{margin-block:1.25rem}.md\:my-6{margin-block:1.5rem}.md\:my-7{margin-block:2rem}.md\:my-8{margin-block:2.5rem}.md\:my-9{margin-block:3rem}.md\:my-auto{margin-block:auto}.md\:mt-0{margin-block-start:0}.md\:mt-1{margin-block-start:.25rem}.md\:mt-2{margin-block-start:.5rem}.md\:mt-3{margin-block-start:.75rem}.md\:mt-4{margin-block-start:1rem}.md\:mt-5{margin-block-start:1.25rem}.md\:mt-6{margin-block-start:1.5rem}.md\:mt-7{margin-block-start:2rem}.md\:mt-8{margin-block-start:2.5rem}.md\:mt-9{margin-block-start:3rem}.md\:mt-auto{margin-block-start:auto}.md\:me-0{margin-inline-end:0}.md\:me-1{margin-inline-end:.25rem}.md\:me-2{margin-inline-end:.5rem}.md\:me-3{margin-inline-end:.75rem}.md\:me-4{margin-inline-end:1rem}.md\:me-5{margin-inline-end:1.25rem}.md\:me-6{margin-inline-end:1.5rem}.md\:me-7{margin-inline-end:2rem}.md\:me-8{margin-inline-end:2.5rem}.md\:me-9{margin-inline-end:3rem}.md\:me-auto{margin-inline-end:auto}.md\:mb-0{margin-block-end:0}.md\:mb-1{margin-block-end:.25rem}.md\:mb-2{margin-block-end:.5rem}.md\:mb-3{margin-block-end:.75rem}.md\:mb-4{margin-block-end:1rem}.md\:mb-5{margin-block-end:1.25rem}.md\:mb-6{margin-block-end:1.5rem}.md\:mb-7{margin-block-end:2rem}.md\:mb-8{margin-block-end:2.5rem}.md\:mb-9{margin-block-end:3rem}.md\:mb-auto{margin-block-end:auto}.md\:ms-0{margin-inline-start:0}.md\:ms-1{margin-inline-start:.25rem}.md\:ms-2{margin-inline-start:.5rem}.md\:ms-3{margin-inline-start:.75rem}.md\:ms-4{margin-inline-start:1rem}.md\:ms-5{margin-inline-start:1.25rem}.md\:ms-6{margin-inline-start:1.5rem}.md\:ms-7{margin-inline-start:2rem}.md\:ms-8{margin-inline-start:2.5rem}.md\:ms-9{margin-inline-start:3rem}.md\:ms--1{margin-inline-start:-.25rem}.md\:ms--2{margin-inline-start:-.5rem}.md\:ms-auto{margin-inline-start:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:2rem}.md\:p-8{padding:2.5rem}.md\:p-9{padding:3rem}.md\:px-0{padding-inline:0}.md\:px-1{padding-inline:.25rem}.md\:px-2{padding-inline:.5rem}.md\:px-3{padding-inline:.75rem}.md\:px-4{padding-inline:1rem}.md\:px-5{padding-inline:1.25rem}.md\:px-6{padding-inline:1.5rem}.md\:px-7{padding-inline:2rem}.md\:px-8{padding-inline:2.5rem}.md\:px-9{padding-inline:3rem}.md\:py-0{padding-block:0}.md\:py-1{padding-block:.25rem}.md\:py-2{padding-block:.5rem}.md\:py-3{padding-block:.75rem}.md\:py-4{padding-block:1rem}.md\:py-5{padding-block:1.25rem}.md\:py-6{padding-block:1.5rem}.md\:py-7{padding-block:2rem}.md\:py-8{padding-block:2.5rem}.md\:py-9{padding-block:3rem}.md\:pt-0{padding-block-start:0}.md\:pt-1{padding-block-start:.25rem}.md\:pt-2{padding-block-start:.5rem}.md\:pt-3{padding-block-start:.75rem}.md\:pt-4{padding-block-start:1rem}.md\:pt-5{padding-block-start:1.25rem}.md\:pt-6{padding-block-start:1.5rem}.md\:pt-7{padding-block-start:2rem}.md\:pt-8{padding-block-start:2.5rem}.md\:pt-9{padding-block-start:3rem}.md\:pe-0{padding-inline-end:0}.md\:pe-1{padding-inline-end:.25rem}.md\:pe-2{padding-inline-end:.5rem}.md\:pe-3{padding-inline-end:.75rem}.md\:pe-4{padding-inline-end:1rem}.md\:pe-5{padding-inline-end:1.25rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:pe-7{padding-inline-end:2rem}.md\:pe-8{padding-inline-end:2.5rem}.md\:pe-9{padding-inline-end:3rem}.md\:pb-0{padding-block-end:0}.md\:pb-1{padding-block-end:.25rem}.md\:pb-2{padding-block-end:.5rem}.md\:pb-3{padding-block-end:.75rem}.md\:pb-4{padding-block-end:1rem}.md\:pb-5{padding-block-end:1.25rem}.md\:pb-6{padding-block-end:1.5rem}.md\:pb-7{padding-block-end:2rem}.md\:pb-8{padding-block-end:2.5rem}.md\:pb-9{padding-block-end:3rem}.md\:ps-0{padding-inline-start:0}.md\:ps-1{padding-inline-start:.25rem}.md\:ps-2{padding-inline-start:.5rem}.md\:ps-3{padding-inline-start:.75rem}.md\:ps-4{padding-inline-start:1rem}.md\:ps-5{padding-inline-start:1.25rem}.md\:ps-6{padding-inline-start:1.5rem}.md\:ps-7{padding-inline-start:2rem}.md\:ps-8{padding-inline-start:2.5rem}.md\:ps-9{padding-inline-start:3rem}.md\:gap-0{gap:0}.md\:gap-1{gap:.25rem}.md\:gap-2{gap:.5rem}.md\:gap-3{gap:.75rem}.md\:gap-4{gap:1rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-7{gap:2rem}.md\:gap-8{gap:2.5rem}.md\:gap-9{gap:3rem}.md\:row-gap-0{row-gap:0}.md\:row-gap-1{row-gap:.25rem}.md\:row-gap-2{row-gap:.5rem}.md\:row-gap-3{row-gap:.75rem}.md\:row-gap-4{row-gap:1rem}.md\:row-gap-5{row-gap:1.25rem}.md\:row-gap-6{row-gap:1.5rem}.md\:row-gap-7{row-gap:2rem}.md\:row-gap-8{row-gap:2.5rem}.md\:row-gap-9{row-gap:3rem}.md\:column-gap-0{-moz-column-gap:0;column-gap:0}.md\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.md\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.md\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.md\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.md\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.md\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.md\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.md\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.md\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.md\:text-start{text-align:start}.md\:text-end{text-align:end}.md\:text-center{text-align:center}}@media (min-width:1024px){.lg\:float-start{float:inline-start}.lg\:float-end{float:inline-end}.lg\:float-none{float:none}.lg\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-fit-none{-o-object-fit:none;object-fit:none}.lg\:d-inline{display:inline}.lg\:d-inline-block{display:inline-block}.lg\:d-block{display:block}.lg\:d-grid{display:grid}.lg\:d-inline-grid{display:inline-grid}.lg\:d-table{display:table}.lg\:d-table-row{display:table-row}.lg\:d-table-cell{display:table-cell}.lg\:d-flex{display:flex}.lg\:d-inline-flex{display:inline-flex}.lg\:d-contents{display:contents}.lg\:d-flow-root{display:flow-root}.lg\:d-none{display:none}.lg\:flex-fill{flex:auto}.lg\:flex-row{flex-direction:row}.lg\:flex-column{flex-direction:column}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-column-reverse{flex-direction:column-reverse}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow-1{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink-1{flex-shrink:1}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:justify-content-start{justify-content:flex-start}.lg\:justify-content-end{justify-content:flex-end}.lg\:justify-content-center{justify-content:center}.lg\:justify-content-between{justify-content:space-between}.lg\:justify-content-around{justify-content:space-around}.lg\:justify-content-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\:justify-self-start{justify-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:justify-self-center{justify-self:center}.lg\:align-items-start{align-items:flex-start}.lg\:align-items-end{align-items:flex-end}.lg\:align-items-center{align-items:center}.lg\:align-items-baseline{align-items:baseline}.lg\:align-items-stretch{align-items:stretch}.lg\:align-content-start{align-content:flex-start}.lg\:align-content-end{align-content:flex-end}.lg\:align-content-center{align-content:center}.lg\:align-content-between{align-content:space-between}.lg\:align-content-around{align-content:space-around}.lg\:align-content-stretch{align-content:stretch}.lg\:align-self-auto{align-self:auto}.lg\:align-self-start{align-self:flex-start}.lg\:align-self-end{align-self:flex-end}.lg\:align-self-center{align-self:center}.lg\:align-self-baseline{align-self:baseline}.lg\:align-self-stretch{align-self: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 stretch}.lg\:grid-cols-1{grid-template-columns:1fr}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-fill{grid-column:1/-1}.lg\:grid-auto-flow-row{grid-auto-flow:row}.lg\:grid-auto-flow-column{grid-auto-flow:column}.lg\:grid-auto-flow-dense{grid-auto-flow:dense}.lg\:order-first{order:-1}.lg\:order-0{order:0}.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-last{order:6}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-7{margin:2rem}.lg\:m-8{margin:2.5rem}.lg\:m-9{margin:3rem}.lg\:m-auto{margin:auto}.lg\:mx-0{margin-inline:0}.lg\:mx-1{margin-inline:.25rem}.lg\:mx-2{margin-inline:.5rem}.lg\:mx-3{margin-inline:.75rem}.lg\:mx-4{margin-inline:1rem}.lg\:mx-5{margin-inline:1.25rem}.lg\:mx-6{margin-inline:1.5rem}.lg\:mx-7{margin-inline:2rem}.lg\:mx-8{margin-inline:2.5rem}.lg\:mx-9{margin-inline:3rem}.lg\:mx-auto{margin-inline:auto}.lg\:my-0{margin-block:0}.lg\:my-1{margin-block:.25rem}.lg\:my-2{margin-block:.5rem}.lg\:my-3{margin-block:.75rem}.lg\:my-4{margin-block:1rem}.lg\:my-5{margin-block:1.25rem}.lg\:my-6{margin-block:1.5rem}.lg\:my-7{margin-block:2rem}.lg\:my-8{margin-block:2.5rem}.lg\:my-9{margin-block:3rem}.lg\:my-auto{margin-block:auto}.lg\:mt-0{margin-block-start:0}.lg\:mt-1{margin-block-start:.25rem}.lg\:mt-2{margin-block-start:.5rem}.lg\:mt-3{margin-block-start:.75rem}.lg\:mt-4{margin-block-start:1rem}.lg\:mt-5{margin-block-start:1.25rem}.lg\:mt-6{margin-block-start:1.5rem}.lg\:mt-7{margin-block-start:2rem}.lg\:mt-8{margin-block-start:2.5rem}.lg\:mt-9{margin-block-start:3rem}.lg\:mt-auto{margin-block-start:auto}.lg\:me-0{margin-inline-end:0}.lg\:me-1{margin-inline-end:.25rem}.lg\:me-2{margin-inline-end:.5rem}.lg\:me-3{margin-inline-end:.75rem}.lg\:me-4{margin-inline-end:1rem}.lg\:me-5{margin-inline-end:1.25rem}.lg\:me-6{margin-inline-end:1.5rem}.lg\:me-7{margin-inline-end:2rem}.lg\:me-8{margin-inline-end:2.5rem}.lg\:me-9{margin-inline-end:3rem}.lg\:me-auto{margin-inline-end:auto}.lg\:mb-0{margin-block-end:0}.lg\:mb-1{margin-block-end:.25rem}.lg\:mb-2{margin-block-end:.5rem}.lg\:mb-3{margin-block-end:.75rem}.lg\:mb-4{margin-block-end:1rem}.lg\:mb-5{margin-block-end:1.25rem}.lg\:mb-6{margin-block-end:1.5rem}.lg\:mb-7{margin-block-end:2rem}.lg\:mb-8{margin-block-end:2.5rem}.lg\:mb-9{margin-block-end:3rem}.lg\:mb-auto{margin-block-end:auto}.lg\:ms-0{margin-inline-start:0}.lg\:ms-1{margin-inline-start:.25rem}.lg\:ms-2{margin-inline-start:.5rem}.lg\:ms-3{margin-inline-start:.75rem}.lg\:ms-4{margin-inline-start:1rem}.lg\:ms-5{margin-inline-start:1.25rem}.lg\:ms-6{margin-inline-start:1.5rem}.lg\:ms-7{margin-inline-start:2rem}.lg\:ms-8{margin-inline-start:2.5rem}.lg\:ms-9{margin-inline-start:3rem}.lg\:ms--1{margin-inline-start:-.25rem}.lg\:ms--2{margin-inline-start:-.5rem}.lg\:ms-auto{margin-inline-start:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-7{padding:2rem}.lg\:p-8{padding:2.5rem}.lg\:p-9{padding:3rem}.lg\:px-0{padding-inline:0}.lg\:px-1{padding-inline:.25rem}.lg\:px-2{padding-inline:.5rem}.lg\:px-3{padding-inline:.75rem}.lg\:px-4{padding-inline:1rem}.lg\:px-5{padding-inline:1.25rem}.lg\:px-6{padding-inline:1.5rem}.lg\:px-7{padding-inline:2rem}.lg\:px-8{padding-inline:2.5rem}.lg\:px-9{padding-inline:3rem}.lg\:py-0{padding-block:0}.lg\:py-1{padding-block:.25rem}.lg\:py-2{padding-block:.5rem}.lg\:py-3{padding-block:.75rem}.lg\:py-4{padding-block:1rem}.lg\:py-5{padding-block:1.25rem}.lg\:py-6{padding-block:1.5rem}.lg\:py-7{padding-block:2rem}.lg\:py-8{padding-block:2.5rem}.lg\:py-9{padding-block:3rem}.lg\:pt-0{padding-block-start:0}.lg\:pt-1{padding-block-start:.25rem}.lg\:pt-2{padding-block-start:.5rem}.lg\:pt-3{padding-block-start:.75rem}.lg\:pt-4{padding-block-start:1rem}.lg\:pt-5{padding-block-start:1.25rem}.lg\:pt-6{padding-block-start:1.5rem}.lg\:pt-7{padding-block-start:2rem}.lg\:pt-8{padding-block-start:2.5rem}.lg\:pt-9{padding-block-start:3rem}.lg\:pe-0{padding-inline-end:0}.lg\:pe-1{padding-inline-end:.25rem}.lg\:pe-2{padding-inline-end:.5rem}.lg\:pe-3{padding-inline-end:.75rem}.lg\:pe-4{padding-inline-end:1rem}.lg\:pe-5{padding-inline-end:1.25rem}.lg\:pe-6{padding-inline-end:1.5rem}.lg\:pe-7{padding-inline-end:2rem}.lg\:pe-8{padding-inline-end:2.5rem}.lg\:pe-9{padding-inline-end:3rem}.lg\:pb-0{padding-block-end:0}.lg\:pb-1{padding-block-end:.25rem}.lg\:pb-2{padding-block-end:.5rem}.lg\:pb-3{padding-block-end:.75rem}.lg\:pb-4{padding-block-end:1rem}.lg\:pb-5{padding-block-end:1.25rem}.lg\:pb-6{padding-block-end:1.5rem}.lg\:pb-7{padding-block-end:2rem}.lg\:pb-8{padding-block-end:2.5rem}.lg\:pb-9{padding-block-end:3rem}.lg\:ps-0{padding-inline-start:0}.lg\:ps-1{padding-inline-start:.25rem}.lg\:ps-2{padding-inline-start:.5rem}.lg\:ps-3{padding-inline-start:.75rem}.lg\:ps-4{padding-inline-start:1rem}.lg\:ps-5{padding-inline-start:1.25rem}.lg\:ps-6{padding-inline-start:1.5rem}.lg\:ps-7{padding-inline-start:2rem}.lg\:ps-8{padding-inline-start:2.5rem}.lg\:ps-9{padding-inline-start:3rem}.lg\:gap-0{gap:0}.lg\:gap-1{gap:.25rem}.lg\:gap-2{gap:.5rem}.lg\:gap-3{gap:.75rem}.lg\:gap-4{gap:1rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-7{gap:2rem}.lg\:gap-8{gap:2.5rem}.lg\:gap-9{gap:3rem}.lg\:row-gap-0{row-gap:0}.lg\:row-gap-1{row-gap:.25rem}.lg\:row-gap-2{row-gap:.5rem}.lg\:row-gap-3{row-gap:.75rem}.lg\:row-gap-4{row-gap:1rem}.lg\:row-gap-5{row-gap:1.25rem}.lg\:row-gap-6{row-gap:1.5rem}.lg\:row-gap-7{row-gap:2rem}.lg\:row-gap-8{row-gap:2.5rem}.lg\:row-gap-9{row-gap:3rem}.lg\:column-gap-0{-moz-column-gap:0;column-gap:0}.lg\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.lg\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.lg\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.lg\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.lg\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.lg\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.lg\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.lg\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.lg\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.lg\:text-start{text-align:start}.lg\:text-end{text-align:end}.lg\:text-center{text-align:center}}@media (min-width:1280px){.xl\:float-start{float:inline-start}.xl\:float-end{float:inline-end}.xl\:float-none{float:none}.xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-fit-none{-o-object-fit:none;object-fit:none}.xl\:d-inline{display:inline}.xl\:d-inline-block{display:inline-block}.xl\:d-block{display:block}.xl\:d-grid{display:grid}.xl\:d-inline-grid{display:inline-grid}.xl\:d-table{display:table}.xl\:d-table-row{display:table-row}.xl\:d-table-cell{display:table-cell}.xl\:d-flex{display:flex}.xl\:d-inline-flex{display:inline-flex}.xl\:d-contents{display:contents}.xl\:d-flow-root{display:flow-root}.xl\:d-none{display:none}.xl\:flex-fill{flex:auto}.xl\:flex-row{flex-direction:row}.xl\:flex-column{flex-direction:column}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-column-reverse{flex-direction:column-reverse}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow-1{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink-1{flex-shrink:1}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-nowrap{flex-wrap:nowrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:justify-content-start{justify-content:flex-start}.xl\:justify-content-end{justify-content:flex-end}.xl\:justify-content-center{justify-content:center}.xl\:justify-content-between{justify-content:space-between}.xl\:justify-content-around{justify-content:space-around}.xl\:justify-content-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\:justify-self-start{justify-self:flex-start}.xl\:justify-self-end{justify-self:flex-end}.xl\:justify-self-center{justify-self:center}.xl\:align-items-start{align-items:flex-start}.xl\:align-items-end{align-items:flex-end}.xl\:align-items-center{align-items:center}.xl\:align-items-baseline{align-items:baseline}.xl\:align-items-stretch{align-items:stretch}.xl\:align-content-start{align-content:flex-start}.xl\:align-content-end{align-content:flex-end}.xl\:align-content-center{align-content:center}.xl\:align-content-between{align-content:space-between}.xl\:align-content-around{align-content:space-around}.xl\:align-content-stretch{align-content:stretch}.xl\:align-self-auto{align-self:auto}.xl\:align-self-start{align-self:flex-start}.xl\:align-self-end{align-self:flex-end}.xl\:align-self-center{align-self:center}.xl\:align-self-baseline{align-self:baseline}.xl\:align-self-stretch{align-self: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 stretch}.xl\:grid-cols-1{grid-template-columns:1fr}.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.xl\:grid-cols-fill{grid-column:1/-1}.xl\:grid-auto-flow-row{grid-auto-flow:row}.xl\:grid-auto-flow-column{grid-auto-flow:column}.xl\:grid-auto-flow-dense{grid-auto-flow:dense}.xl\:order-first{order:-1}.xl\:order-0{order:0}.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-last{order:6}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-7{margin:2rem}.xl\:m-8{margin:2.5rem}.xl\:m-9{margin:3rem}.xl\:m-auto{margin:auto}.xl\:mx-0{margin-inline:0}.xl\:mx-1{margin-inline:.25rem}.xl\:mx-2{margin-inline:.5rem}.xl\:mx-3{margin-inline:.75rem}.xl\:mx-4{margin-inline:1rem}.xl\:mx-5{margin-inline:1.25rem}.xl\:mx-6{margin-inline:1.5rem}.xl\:mx-7{margin-inline:2rem}.xl\:mx-8{margin-inline:2.5rem}.xl\:mx-9{margin-inline:3rem}.xl\:mx-auto{margin-inline:auto}.xl\:my-0{margin-block:0}.xl\:my-1{margin-block:.25rem}.xl\:my-2{margin-block:.5rem}.xl\:my-3{margin-block:.75rem}.xl\:my-4{margin-block:1rem}.xl\:my-5{margin-block:1.25rem}.xl\:my-6{margin-block:1.5rem}.xl\:my-7{margin-block:2rem}.xl\:my-8{margin-block:2.5rem}.xl\:my-9{margin-block:3rem}.xl\:my-auto{margin-block:auto}.xl\:mt-0{margin-block-start:0}.xl\:mt-1{margin-block-start:.25rem}.xl\:mt-2{margin-block-start:.5rem}.xl\:mt-3{margin-block-start:.75rem}.xl\:mt-4{margin-block-start:1rem}.xl\:mt-5{margin-block-start:1.25rem}.xl\:mt-6{margin-block-start:1.5rem}.xl\:mt-7{margin-block-start:2rem}.xl\:mt-8{margin-block-start:2.5rem}.xl\:mt-9{margin-block-start:3rem}.xl\:mt-auto{margin-block-start:auto}.xl\:me-0{margin-inline-end:0}.xl\:me-1{margin-inline-end:.25rem}.xl\:me-2{margin-inline-end:.5rem}.xl\:me-3{margin-inline-end:.75rem}.xl\:me-4{margin-inline-end:1rem}.xl\:me-5{margin-inline-end:1.25rem}.xl\:me-6{margin-inline-end:1.5rem}.xl\:me-7{margin-inline-end:2rem}.xl\:me-8{margin-inline-end:2.5rem}.xl\:me-9{margin-inline-end:3rem}.xl\:me-auto{margin-inline-end:auto}.xl\:mb-0{margin-block-end:0}.xl\:mb-1{margin-block-end:.25rem}.xl\:mb-2{margin-block-end:.5rem}.xl\:mb-3{margin-block-end:.75rem}.xl\:mb-4{margin-block-end:1rem}.xl\:mb-5{margin-block-end:1.25rem}.xl\:mb-6{margin-block-end:1.5rem}.xl\:mb-7{margin-block-end:2rem}.xl\:mb-8{margin-block-end:2.5rem}.xl\:mb-9{margin-block-end:3rem}.xl\:mb-auto{margin-block-end:auto}.xl\:ms-0{margin-inline-start:0}.xl\:ms-1{margin-inline-start:.25rem}.xl\:ms-2{margin-inline-start:.5rem}.xl\:ms-3{margin-inline-start:.75rem}.xl\:ms-4{margin-inline-start:1rem}.xl\:ms-5{margin-inline-start:1.25rem}.xl\:ms-6{margin-inline-start:1.5rem}.xl\:ms-7{margin-inline-start:2rem}.xl\:ms-8{margin-inline-start:2.5rem}.xl\:ms-9{margin-inline-start:3rem}.xl\:ms--1{margin-inline-start:-.25rem}.xl\:ms--2{margin-inline-start:-.5rem}.xl\:ms-auto{margin-inline-start:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-7{padding:2rem}.xl\:p-8{padding:2.5rem}.xl\:p-9{padding:3rem}.xl\:px-0{padding-inline:0}.xl\:px-1{padding-inline:.25rem}.xl\:px-2{padding-inline:.5rem}.xl\:px-3{padding-inline:.75rem}.xl\:px-4{padding-inline:1rem}.xl\:px-5{padding-inline:1.25rem}.xl\:px-6{padding-inline:1.5rem}.xl\:px-7{padding-inline:2rem}.xl\:px-8{padding-inline:2.5rem}.xl\:px-9{padding-inline:3rem}.xl\:py-0{padding-block:0}.xl\:py-1{padding-block:.25rem}.xl\:py-2{padding-block:.5rem}.xl\:py-3{padding-block:.75rem}.xl\:py-4{padding-block:1rem}.xl\:py-5{padding-block:1.25rem}.xl\:py-6{padding-block:1.5rem}.xl\:py-7{padding-block:2rem}.xl\:py-8{padding-block:2.5rem}.xl\:py-9{padding-block:3rem}.xl\:pt-0{padding-block-start:0}.xl\:pt-1{padding-block-start:.25rem}.xl\:pt-2{padding-block-start:.5rem}.xl\:pt-3{padding-block-start:.75rem}.xl\:pt-4{padding-block-start:1rem}.xl\:pt-5{padding-block-start:1.25rem}.xl\:pt-6{padding-block-start:1.5rem}.xl\:pt-7{padding-block-start:2rem}.xl\:pt-8{padding-block-start:2.5rem}.xl\:pt-9{padding-block-start:3rem}.xl\:pe-0{padding-inline-end:0}.xl\:pe-1{padding-inline-end:.25rem}.xl\:pe-2{padding-inline-end:.5rem}.xl\:pe-3{padding-inline-end:.75rem}.xl\:pe-4{padding-inline-end:1rem}.xl\:pe-5{padding-inline-end:1.25rem}.xl\:pe-6{padding-inline-end:1.5rem}.xl\:pe-7{padding-inline-end:2rem}.xl\:pe-8{padding-inline-end:2.5rem}.xl\:pe-9{padding-inline-end:3rem}.xl\:pb-0{padding-block-end:0}.xl\:pb-1{padding-block-end:.25rem}.xl\:pb-2{padding-block-end:.5rem}.xl\:pb-3{padding-block-end:.75rem}.xl\:pb-4{padding-block-end:1rem}.xl\:pb-5{padding-block-end:1.25rem}.xl\:pb-6{padding-block-end:1.5rem}.xl\:pb-7{padding-block-end:2rem}.xl\:pb-8{padding-block-end:2.5rem}.xl\:pb-9{padding-block-end:3rem}.xl\:ps-0{padding-inline-start:0}.xl\:ps-1{padding-inline-start:.25rem}.xl\:ps-2{padding-inline-start:.5rem}.xl\:ps-3{padding-inline-start:.75rem}.xl\:ps-4{padding-inline-start:1rem}.xl\:ps-5{padding-inline-start:1.25rem}.xl\:ps-6{padding-inline-start:1.5rem}.xl\:ps-7{padding-inline-start:2rem}.xl\:ps-8{padding-inline-start:2.5rem}.xl\:ps-9{padding-inline-start:3rem}.xl\:gap-0{gap:0}.xl\:gap-1{gap:.25rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:.75rem}.xl\:gap-4{gap:1rem}.xl\:gap-5{gap:1.25rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-7{gap:2rem}.xl\:gap-8{gap:2.5rem}.xl\:gap-9{gap:3rem}.xl\:row-gap-0{row-gap:0}.xl\:row-gap-1{row-gap:.25rem}.xl\:row-gap-2{row-gap:.5rem}.xl\:row-gap-3{row-gap:.75rem}.xl\:row-gap-4{row-gap:1rem}.xl\:row-gap-5{row-gap:1.25rem}.xl\:row-gap-6{row-gap:1.5rem}.xl\:row-gap-7{row-gap:2rem}.xl\:row-gap-8{row-gap:2.5rem}.xl\:row-gap-9{row-gap:3rem}.xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.xl\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.xl\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.xl\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.xl\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.xl\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.xl\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.xl\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.xl\:text-start{text-align:start}.xl\:text-end{text-align:end}.xl\:text-center{text-align:center}}@media (min-width:1536px){.\32 xl\:float-start{float:inline-start}.\32 xl\:float-end{float:inline-end}.\32 xl\:float-none{float:none}.\32 xl\:object-fit-contain{-o-object-fit:contain;object-fit:contain}.\32 xl\:object-fit-cover{-o-object-fit:cover;object-fit:cover}.\32 xl\:object-fit-fill{-o-object-fit:fill;object-fit:fill}.\32 xl\:object-fit-scale{-o-object-fit:scale-down;object-fit:scale-down}.\32 xl\:object-fit-none{-o-object-fit:none;object-fit:none}.\32 xl\:d-inline{display:inline}.\32 xl\:d-inline-block{display:inline-block}.\32 xl\:d-block{display:block}.\32 xl\:d-grid{display:grid}.\32 xl\:d-inline-grid{display:inline-grid}.\32 xl\:d-table{display:table}.\32 xl\:d-table-row{display:table-row}.\32 xl\:d-table-cell{display:table-cell}.\32 xl\:d-flex{display:flex}.\32 xl\:d-inline-flex{display:inline-flex}.\32 xl\:d-contents{display:contents}.\32 xl\:d-flow-root{display:flow-root}.\32 xl\:d-none{display:none}.\32 xl\:flex-fill{flex:auto}.\32 xl\:flex-row{flex-direction:row}.\32 xl\:flex-column{flex-direction:column}.\32 xl\:flex-row-reverse{flex-direction:row-reverse}.\32 xl\:flex-column-reverse{flex-direction:column-reverse}.\32 xl\:flex-grow-0{flex-grow:0}.\32 xl\:flex-grow-1{flex-grow:1}.\32 xl\:flex-shrink-0{flex-shrink:0}.\32 xl\:flex-shrink-1{flex-shrink:1}.\32 xl\:flex-wrap{flex-wrap:wrap}.\32 xl\:flex-nowrap{flex-wrap:nowrap}.\32 xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.\32 xl\:justify-content-start{justify-content:flex-start}.\32 xl\:justify-content-end{justify-content:flex-end}.\32 xl\:justify-content-center{justify-content:center}.\32 xl\:justify-content-between{justify-content:space-between}.\32 xl\:justify-content-around{justify-content:space-around}.\32 xl\:justify-content-evenly{justify-content:space-evenly}.\32 xl\:justify-items-start{justify-items:start}.\32 xl\:justify-items-end{justify-items:end}.\32 xl\:justify-items-center{justify-items:center}.\32 xl\:justify-items-stretch{justify-items:stretch}.\32 xl\:justify-self-start{justify-self:flex-start}.\32 xl\:justify-self-end{justify-self:flex-end}.\32 xl\:justify-self-center{justify-self:center}.\32 xl\:align-items-start{align-items:flex-start}.\32 xl\:align-items-end{align-items:flex-end}.\32 xl\:align-items-center{align-items:center}.\32 xl\:align-items-baseline{align-items:baseline}.\32 xl\:align-items-stretch{align-items:stretch}.\32 xl\:align-content-start{align-content:flex-start}.\32 xl\:align-content-end{align-content:flex-end}.\32 xl\:align-content-center{align-content:center}.\32 xl\:align-content-between{align-content:space-between}.\32 xl\:align-content-around{align-content:space-around}.\32 xl\:align-content-stretch{align-content:stretch}.\32 xl\:align-self-auto{align-self:auto}.\32 xl\:align-self-start{align-self:flex-start}.\32 xl\:align-self-end{align-self:flex-end}.\32 xl\:align-self-center{align-self:center}.\32 xl\:align-self-baseline{align-self:baseline}.\32 xl\:align-self-stretch{align-self:stretch}.\32 xl\:place-items-start{place-items:start}.\32 xl\:place-items-end{place-items:end}.\32 xl\:place-items-center{place-items:center}.\32 xl\:place-items-stretch{place-items:stretch stretch}.\32 xl\:grid-cols-1{grid-template-columns:1fr}.\32 xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.\32 xl\:grid-cols-fill{grid-column:1/-1}.\32 xl\:grid-auto-flow-row{grid-auto-flow:row}.\32 xl\:grid-auto-flow-column{grid-auto-flow:column}.\32 xl\:grid-auto-flow-dense{grid-auto-flow:dense}.\32 xl\:order-first{order:-1}.\32 xl\:order-0{order:0}.\32 xl\:order-1{order:1}.\32 xl\:order-2{order:2}.\32 xl\:order-3{order:3}.\32 xl\:order-4{order:4}.\32 xl\:order-5{order:5}.\32 xl\:order-last{order:6}.\32 xl\:m-0{margin:0}.\32 xl\:m-1{margin:.25rem}.\32 xl\:m-2{margin:.5rem}.\32 xl\:m-3{margin:.75rem}.\32 xl\:m-4{margin:1rem}.\32 xl\:m-5{margin:1.25rem}.\32 xl\:m-6{margin:1.5rem}.\32 xl\:m-7{margin:2rem}.\32 xl\:m-8{margin:2.5rem}.\32 xl\:m-9{margin:3rem}.\32 xl\:m-auto{margin:auto}.\32 xl\:mx-0{margin-inline:0}.\32 xl\:mx-1{margin-inline:.25rem}.\32 xl\:mx-2{margin-inline:.5rem}.\32 xl\:mx-3{margin-inline:.75rem}.\32 xl\:mx-4{margin-inline:1rem}.\32 xl\:mx-5{margin-inline:1.25rem}.\32 xl\:mx-6{margin-inline:1.5rem}.\32 xl\:mx-7{margin-inline:2rem}.\32 xl\:mx-8{margin-inline:2.5rem}.\32 xl\:mx-9{margin-inline:3rem}.\32 xl\:mx-auto{margin-inline:auto}.\32 xl\:my-0{margin-block:0}.\32 xl\:my-1{margin-block:.25rem}.\32 xl\:my-2{margin-block:.5rem}.\32 xl\:my-3{margin-block:.75rem}.\32 xl\:my-4{margin-block:1rem}.\32 xl\:my-5{margin-block:1.25rem}.\32 xl\:my-6{margin-block:1.5rem}.\32 xl\:my-7{margin-block:2rem}.\32 xl\:my-8{margin-block:2.5rem}.\32 xl\:my-9{margin-block:3rem}.\32 xl\:my-auto{margin-block:auto}.\32 xl\:mt-0{margin-block-start:0}.\32 xl\:mt-1{margin-block-start:.25rem}.\32 xl\:mt-2{margin-block-start:.5rem}.\32 xl\:mt-3{margin-block-start:.75rem}.\32 xl\:mt-4{margin-block-start:1rem}.\32 xl\:mt-5{margin-block-start:1.25rem}.\32 xl\:mt-6{margin-block-start:1.5rem}.\32 xl\:mt-7{margin-block-start:2rem}.\32 xl\:mt-8{margin-block-start:2.5rem}.\32 xl\:mt-9{margin-block-start:3rem}.\32 xl\:mt-auto{margin-block-start:auto}.\32 xl\:me-0{margin-inline-end:0}.\32 xl\:me-1{margin-inline-end:.25rem}.\32 xl\:me-2{margin-inline-end:.5rem}.\32 xl\:me-3{margin-inline-end:.75rem}.\32 xl\:me-4{margin-inline-end:1rem}.\32 xl\:me-5{margin-inline-end:1.25rem}.\32 xl\:me-6{margin-inline-end:1.5rem}.\32 xl\:me-7{margin-inline-end:2rem}.\32 xl\:me-8{margin-inline-end:2.5rem}.\32 xl\:me-9{margin-inline-end:3rem}.\32 xl\:me-auto{margin-inline-end:auto}.\32 xl\:mb-0{margin-block-end:0}.\32 xl\:mb-1{margin-block-end:.25rem}.\32 xl\:mb-2{margin-block-end:.5rem}.\32 xl\:mb-3{margin-block-end:.75rem}.\32 xl\:mb-4{margin-block-end:1rem}.\32 xl\:mb-5{margin-block-end:1.25rem}.\32 xl\:mb-6{margin-block-end:1.5rem}.\32 xl\:mb-7{margin-block-end:2rem}.\32 xl\:mb-8{margin-block-end:2.5rem}.\32 xl\:mb-9{margin-block-end:3rem}.\32 xl\:mb-auto{margin-block-end:auto}.\32 xl\:ms-0{margin-inline-start:0}.\32 xl\:ms-1{margin-inline-start:.25rem}.\32 xl\:ms-2{margin-inline-start:.5rem}.\32 xl\:ms-3{margin-inline-start:.75rem}.\32 xl\:ms-4{margin-inline-start:1rem}.\32 xl\:ms-5{margin-inline-start:1.25rem}.\32 xl\:ms-6{margin-inline-start:1.5rem}.\32 xl\:ms-7{margin-inline-start:2rem}.\32 xl\:ms-8{margin-inline-start:2.5rem}.\32 xl\:ms-9{margin-inline-start:3rem}.\32 xl\:ms--1{margin-inline-start:-.25rem}.\32 xl\:ms--2{margin-inline-start:-.5rem}.\32 xl\:ms-auto{margin-inline-start:auto}.\32 xl\:p-0{padding:0}.\32 xl\:p-1{padding:.25rem}.\32 xl\:p-2{padding:.5rem}.\32 xl\:p-3{padding:.75rem}.\32 xl\:p-4{padding:1rem}.\32 xl\:p-5{padding:1.25rem}.\32 xl\:p-6{padding:1.5rem}.\32 xl\:p-7{padding:2rem}.\32 xl\:p-8{padding:2.5rem}.\32 xl\:p-9{padding:3rem}.\32 xl\:px-0{padding-inline:0}.\32 xl\:px-1{padding-inline:.25rem}.\32 xl\:px-2{padding-inline:.5rem}.\32 xl\:px-3{padding-inline:.75rem}.\32 xl\:px-4{padding-inline:1rem}.\32 xl\:px-5{padding-inline:1.25rem}.\32 xl\:px-6{padding-inline:1.5rem}.\32 xl\:px-7{padding-inline:2rem}.\32 xl\:px-8{padding-inline:2.5rem}.\32 xl\:px-9{padding-inline:3rem}.\32 xl\:py-0{padding-block:0}.\32 xl\:py-1{padding-block:.25rem}.\32 xl\:py-2{padding-block:.5rem}.\32 xl\:py-3{padding-block:.75rem}.\32 xl\:py-4{padding-block:1rem}.\32 xl\:py-5{padding-block:1.25rem}.\32 xl\:py-6{padding-block:1.5rem}.\32 xl\:py-7{padding-block:2rem}.\32 xl\:py-8{padding-block:2.5rem}.\32 xl\:py-9{padding-block:3rem}.\32 xl\:pt-0{padding-block-start:0}.\32 xl\:pt-1{padding-block-start:.25rem}.\32 xl\:pt-2{padding-block-start:.5rem}.\32 xl\:pt-3{padding-block-start:.75rem}.\32 xl\:pt-4{padding-block-start:1rem}.\32 xl\:pt-5{padding-block-start:1.25rem}.\32 xl\:pt-6{padding-block-start:1.5rem}.\32 xl\:pt-7{padding-block-start:2rem}.\32 xl\:pt-8{padding-block-start:2.5rem}.\32 xl\:pt-9{padding-block-start:3rem}.\32 xl\:pe-0{padding-inline-end:0}.\32 xl\:pe-1{padding-inline-end:.25rem}.\32 xl\:pe-2{padding-inline-end:.5rem}.\32 xl\:pe-3{padding-inline-end:.75rem}.\32 xl\:pe-4{padding-inline-end:1rem}.\32 xl\:pe-5{padding-inline-end:1.25rem}.\32 xl\:pe-6{padding-inline-end:1.5rem}.\32 xl\:pe-7{padding-inline-end:2rem}.\32 xl\:pe-8{padding-inline-end:2.5rem}.\32 xl\:pe-9{padding-inline-end:3rem}.\32 xl\:pb-0{padding-block-end:0}.\32 xl\:pb-1{padding-block-end:.25rem}.\32 xl\:pb-2{padding-block-end:.5rem}.\32 xl\:pb-3{padding-block-end:.75rem}.\32 xl\:pb-4{padding-block-end:1rem}.\32 xl\:pb-5{padding-block-end:1.25rem}.\32 xl\:pb-6{padding-block-end:1.5rem}.\32 xl\:pb-7{padding-block-end:2rem}.\32 xl\:pb-8{padding-block-end:2.5rem}.\32 xl\:pb-9{padding-block-end:3rem}.\32 xl\:ps-0{padding-inline-start:0}.\32 xl\:ps-1{padding-inline-start:.25rem}.\32 xl\:ps-2{padding-inline-start:.5rem}.\32 xl\:ps-3{padding-inline-start:.75rem}.\32 xl\:ps-4{padding-inline-start:1rem}.\32 xl\:ps-5{padding-inline-start:1.25rem}.\32 xl\:ps-6{padding-inline-start:1.5rem}.\32 xl\:ps-7{padding-inline-start:2rem}.\32 xl\:ps-8{padding-inline-start:2.5rem}.\32 xl\:ps-9{padding-inline-start:3rem}.\32 xl\:gap-0{gap:0}.\32 xl\:gap-1{gap:.25rem}.\32 xl\:gap-2{gap:.5rem}.\32 xl\:gap-3{gap:.75rem}.\32 xl\:gap-4{gap:1rem}.\32 xl\:gap-5{gap:1.25rem}.\32 xl\:gap-6{gap:1.5rem}.\32 xl\:gap-7{gap:2rem}.\32 xl\:gap-8{gap:2.5rem}.\32 xl\:gap-9{gap:3rem}.\32 xl\:row-gap-0{row-gap:0}.\32 xl\:row-gap-1{row-gap:.25rem}.\32 xl\:row-gap-2{row-gap:.5rem}.\32 xl\:row-gap-3{row-gap:.75rem}.\32 xl\:row-gap-4{row-gap:1rem}.\32 xl\:row-gap-5{row-gap:1.25rem}.\32 xl\:row-gap-6{row-gap:1.5rem}.\32 xl\:row-gap-7{row-gap:2rem}.\32 xl\:row-gap-8{row-gap:2.5rem}.\32 xl\:row-gap-9{row-gap:3rem}.\32 xl\:column-gap-0{-moz-column-gap:0;column-gap:0}.\32 xl\:column-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.\32 xl\:column-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.\32 xl\:column-gap-3{-moz-column-gap:.75rem;column-gap:.75rem}.\32 xl\:column-gap-4{-moz-column-gap:1rem;column-gap:1rem}.\32 xl\:column-gap-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.\32 xl\:column-gap-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.\32 xl\:column-gap-7{-moz-column-gap:2rem;column-gap:2rem}.\32 xl\:column-gap-8{-moz-column-gap:2.5rem;column-gap:2.5rem}.\32 xl\:column-gap-9{-moz-column-gap:3rem;column-gap:3rem}.\32 xl\:text-start{text-align:start}.\32 xl\:text-end{text-align:end}.\32 xl\:text-center{text-align:center}}}:root{--bs-black:#000;--bs-white:#fff;--bs-gradient:linear-gradient(180deg, color-mix(var(--bs-white) 15%, transparent), color-mix(var(--bs-white) 0%, transparent));--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-family:system-ui;--bs-body-font-size:var(--bs-font-size-base);--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-heading-color:inherit;--bs-hr-border-color:var(--bs-border-color);--bs-link-color:var(--lightningcss-light,var(--bs-primary-base))var(--lightningcss-dark,var(--bs-primary-text));--bs-link-decoration:underline;--bs-link-hover-color:color-mix(in oklch, var(--bs-link-color) 90%, #000);--bs-font-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-code-font-size:95%;--bs-code-color:var(--bs-fg-2);--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:var(--lightningcss-light,color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)))var(--lightningcss-dark,var(--bs-gray-700));--bs-border-color-translucent:color-mix(in oklch, var(--bs-fg-body) 15%, transparent);--bs-border-radius:.5rem;--bs-border-radius-xs:.375rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:.75rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0,0,0,.176);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-spacer:1rem;--bs-focus-ring-width:3px;--bs-focus-ring-offset:1px;--bs-focus-ring-color:var(--bs-primary-focus-ring);--bs-focus-ring:var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);--bs-control-checked-bg:var(--bs-primary-base);--bs-control-checked-border-color:var(--bs-control-checked-bg);--bs-control-active-bg:var(--bs-primary-base);--bs-control-active-border-color:var(--bs-control-active-bg);--bs-control-disabled-bg:var(--bs-bg-3);--bs-control-disabled-opacity:.65;--bs-btn-input-fg:var(--bs-fg-body);--bs-btn-input-bg:var(--bs-bg-body);--bs-btn-input-min-height:2.375rem;--bs-btn-input-padding-y:.375rem;--bs-btn-input-padding-x:.75rem;--bs-btn-input-font-size:var(--bs-font-size-base);--bs-btn-input-line-height:var(--bs-line-height-base);--bs-btn-input-border-radius:var(--bs-border-radius);--bs-btn-input-xs-min-height:1.5rem;--bs-btn-input-xs-padding-y:.125rem;--bs-btn-input-xs-padding-x:.5rem;--bs-btn-input-xs-font-size:var(--bs-font-size-xs);--bs-btn-input-xs-line-height:1.125;--bs-btn-input-xs-border-radius:var(--bs-border-radius-xs);--bs-btn-input-sm-min-height:2rem;--bs-btn-input-sm-padding-y:.25rem;--bs-btn-input-sm-padding-x:.625rem;--bs-btn-input-sm-font-size:var(--bs-font-size-sm);--bs-btn-input-sm-line-height:var(--bs-line-height-sm);--bs-btn-input-sm-border-radius:var(--bs-border-radius-sm);--bs-btn-input-lg-min-height:2.75rem;--bs-btn-input-lg-padding-y:.5rem;--bs-btn-input-lg-padding-x:1rem;--bs-btn-input-lg-font-size:var(--bs-font-size-md);--bs-btn-input-lg-line-height:var(--bs-line-height-md);--bs-btn-input-lg-border-radius:var(--bs-border-radius-lg);--bs-form-valid-color:var(--bs-success-text);--bs-form-valid-border-color:var(--bs-success-text);--bs-form-invalid-color:var(--bs-danger-text);--bs-form-invalid-border-color:var(--bs-danger-text);--bs-font-size-xs:.75rem;--bs-line-height-xs:1.25;--bs-font-size-sm:.875rem;--bs-line-height-sm:1.5;--bs-font-size-md:1rem;--bs-line-height-md:1.5;--bs-font-size-lg:clamp(1.25rem, 1rem + .625vw, 1.5rem);--bs-line-height-lg:1.5;--bs-font-size-xl:clamp(1.5rem, 1.1rem + .75vw, 1.75rem);--bs-line-height-xl:1.42857;--bs-font-size-2xl:clamp(1.75rem, 1.3rem + 1vw, 2rem);--bs-line-height-2xl:1.33333;--bs-font-size-3xl:clamp(2rem, 1.5rem + 1.875vw, 2.5rem);--bs-line-height-3xl:1.2;--bs-font-size-4xl:clamp(2.25rem, 1.75rem + 2.5vw, 3rem);--bs-line-height-4xl:1.1;--bs-font-size-5xl:clamp(3rem, 2rem + 5vw, 4rem);--bs-line-height-5xl:1.1;--bs-font-size-6xl:clamp(3.75rem, 2.5rem + 6.25vw, 5rem);--bs-line-height-6xl:1;--bs-primary-base:var(--bs-blue-500);--bs-primary-text:var(--lightningcss-light,var(--bs-blue-600))var(--lightningcss-dark,var(--bs-blue-400));--bs-primary-text-emphasis:var(--lightningcss-light,var(--bs-blue-800))var(--lightningcss-dark,var(--bs-blue-200));--bs-primary-bg:var(--bs-blue-500);--bs-primary-bg-subtle:var(--lightningcss-light,var(--bs-blue-100))var(--lightningcss-dark,var(--bs-blue-900));--bs-primary-bg-muted:var(--lightningcss-light,var(--bs-blue-200))var(--lightningcss-dark,var(--bs-blue-800));--bs-primary-border:var(--lightningcss-light,var(--bs-blue-300))var(--lightningcss-dark,var(--bs-blue-600));--bs-primary-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-blue-500) 75%, var(--bs-bg-body)));--bs-primary-contrast:var(--bs-white);--bs-accent-base:var(--bs-indigo-500);--bs-accent-text:var(--lightningcss-light,var(--bs-indigo-600))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-400), var(--bs-indigo-300)));--bs-accent-text-emphasis:var(--lightningcss-light,var(--bs-indigo-800))var(--lightningcss-dark,var(--bs-indigo-300));--bs-accent-bg:var(--bs-indigo-500);--bs-accent-bg-subtle:var(--lightningcss-light,var(--bs-indigo-100))var(--lightningcss-dark,var(--bs-indigo-900));--bs-accent-bg-muted:var(--lightningcss-light,var(--bs-indigo-200))var(--lightningcss-dark,var(--bs-indigo-800));--bs-accent-border:var(--lightningcss-light,var(--bs-indigo-300))var(--lightningcss-dark,var(--bs-indigo-600));--bs-accent-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-indigo-500) 75%, var(--bs-bg-body)));--bs-accent-contrast:var(--bs-white);--bs-success-base:var(--bs-green-500);--bs-success-text:var(--lightningcss-light,var(--bs-green-600))var(--lightningcss-dark,var(--bs-green-400));--bs-success-text-emphasis:var(--lightningcss-light,var(--bs-green-800))var(--lightningcss-dark,var(--bs-green-300));--bs-success-bg:var(--bs-green-500);--bs-success-bg-subtle:var(--lightningcss-light,var(--bs-green-100))var(--lightningcss-dark,var(--bs-green-900));--bs-success-bg-muted:var(--lightningcss-light,var(--bs-green-200))var(--lightningcss-dark,var(--bs-green-800));--bs-success-border:var(--lightningcss-light,var(--bs-green-300))var(--lightningcss-dark,var(--bs-green-600));--bs-success-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-green-500) 75%, var(--bs-bg-body)));--bs-success-contrast:var(--bs-white);--bs-danger-base:var(--bs-red-500);--bs-danger-text:var(--lightningcss-light,var(--bs-red-600))var(--lightningcss-dark,var(--bs-red-400));--bs-danger-text-emphasis:var(--lightningcss-light,var(--bs-red-800))var(--lightningcss-dark,var(--bs-red-300));--bs-danger-bg:var(--bs-red-500);--bs-danger-bg-subtle:var(--lightningcss-light,var(--bs-red-100))var(--lightningcss-dark,var(--bs-red-900));--bs-danger-bg-muted:var(--lightningcss-light,var(--bs-red-200))var(--lightningcss-dark,var(--bs-red-800));--bs-danger-border:var(--lightningcss-light,var(--bs-red-300))var(--lightningcss-dark,var(--bs-red-600));--bs-danger-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-red-500) 75%, var(--bs-bg-body)));--bs-danger-contrast:var(--bs-white);--bs-warning-base:var(--bs-yellow-500);--bs-warning-text:var(--lightningcss-light,var(--bs-yellow-700))var(--lightningcss-dark,var(--bs-yellow-400));--bs-warning-text-emphasis:var(--lightningcss-light,var(--bs-yellow-800))var(--lightningcss-dark,var(--bs-yellow-300));--bs-warning-bg:var(--bs-yellow-500);--bs-warning-bg-subtle:var(--lightningcss-light,var(--bs-yellow-100))var(--lightningcss-dark,var(--bs-yellow-900));--bs-warning-bg-muted:var(--lightningcss-light,var(--bs-yellow-200))var(--lightningcss-dark,var(--bs-yellow-800));--bs-warning-border:var(--lightningcss-light,var(--bs-yellow-300))var(--lightningcss-dark,var(--bs-yellow-600));--bs-warning-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-yellow-400) 85%, var(--bs-bg-body)));--bs-warning-contrast:var(--bs-gray-900);--bs-info-base:var(--bs-cyan-500);--bs-info-text:var(--lightningcss-light,var(--bs-cyan-600))var(--lightningcss-dark,var(--bs-cyan-400));--bs-info-text-emphasis:var(--lightningcss-light,var(--bs-cyan-800))var(--lightningcss-dark,var(--bs-cyan-300));--bs-info-bg:var(--bs-cyan-500);--bs-info-bg-subtle:var(--lightningcss-light,var(--bs-cyan-100))var(--lightningcss-dark,var(--bs-cyan-900));--bs-info-bg-muted:var(--lightningcss-light,var(--bs-cyan-200))var(--lightningcss-dark,var(--bs-cyan-800));--bs-info-border:var(--lightningcss-light,var(--bs-cyan-300))var(--lightningcss-dark,var(--bs-cyan-600));--bs-info-focus-ring:var(--lightningcss-light,color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg-body)))var(--lightningcss-dark,color-mix(in oklch, var(--bs-cyan-500) 75%, var(--bs-bg-body)));--bs-info-contrast:var(--bs-gray-900);--bs-inverse-base:var(--bs-gray-900);--bs-inverse-text:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-200));--bs-inverse-text-emphasis:var(--lightningcss-light,var(--bs-gray-975))var(--lightningcss-dark,var(--bs-white));--bs-inverse-bg:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-025));--bs-inverse-bg-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-inverse-bg-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-300));--bs-inverse-border:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-100));--bs-inverse-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-100)) 50%, var(--bs-bg-body));--bs-inverse-contrast:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-900));--bs-secondary-base:var(--bs-gray-200);--bs-secondary-text:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-400));--bs-secondary-text-emphasis:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-secondary-bg:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-bg-subtle:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-800));--bs-secondary-bg-muted:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-700));--bs-secondary-border:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-600));--bs-secondary-focus-ring:color-mix(in oklch, var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-300)) 50%, var(--bs-bg-body));--bs-secondary-contrast:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-white));--bs-bg-body:var(--lightningcss-light,var(--bs-white))var(--lightningcss-dark,var(--bs-gray-975));--bs-bg-1:var(--lightningcss-light,var(--bs-gray-025))var(--lightningcss-dark,var(--bs-gray-950));--bs-bg-2:var(--lightningcss-light,var(--bs-gray-050))var(--lightningcss-dark,var(--bs-gray-900));--bs-bg-3:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-800));--bs-bg-4:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-700));--bs-bg-white:var(--bs-white);--bs-bg-black:var(--bs-black);--bs-bg-transparent:transparent;--bs-bg-inherit:inherit;--bs-fg-body:var(--lightningcss-light,var(--bs-gray-900))var(--lightningcss-dark,var(--bs-gray-050));--bs-fg-1:var(--lightningcss-light,var(--bs-gray-800))var(--lightningcss-dark,var(--bs-gray-200));--bs-fg-2:var(--lightningcss-light,var(--bs-gray-700))var(--lightningcss-dark,var(--bs-gray-300));--bs-fg-3:var(--lightningcss-light,var(--bs-gray-600))var(--lightningcss-dark,var(--bs-gray-500));--bs-fg-4:var(--lightningcss-light,var(--bs-gray-500))var(--lightningcss-dark,var(--bs-gray-600));--bs-fg-white:var(--bs-white);--bs-fg-black:var(--bs-black);--bs-fg-inherit:inherit;--bs-border-bg:var(--bs-bg-body);--bs-border-body:var(--lightningcss-light,var(--bs-gray-300))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-muted:var(--lightningcss-light,var(--bs-gray-200))var(--lightningcss-dark,var(--bs-gray-800));--bs-border-subtle:var(--lightningcss-light,var(--bs-gray-100))var(--lightningcss-dark,var(--bs-gray-900));--bs-border-emphasized:var(--lightningcss-light,var(--bs-gray-400))var(--lightningcss-dark,var(--bs-gray-600));--bs-border-white:var(--bs-white);--bs-border-black:var(--bs-black);--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-2xl:1536px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-bs-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-bs-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.drawer,.\32 xl\:drawer,.xl\:drawer,.lg\:drawer,.md\:drawer,.sm\:drawer{--bs-drawer-inset:var(--bs-spacer);--bs-drawer-zindex:1045;--bs-drawer-width:400px;--bs-drawer-height:30vh;--bs-drawer-padding-x:var(--bs-spacer);--bs-drawer-padding-y:var(--bs-spacer);--bs-drawer-color:var(--bs-fg-body);--bs-drawer-bg:var(--bs-bg-body);--bs-drawer-border-width:var(--bs-border-width);--bs-drawer-border-color:var(--bs-border-color-translucent);--bs-drawer-border-radius:var(--bs-border-radius-lg);--bs-drawer-box-shadow:var(--bs-box-shadow-lg);--bs-drawer-transition-duration:.3s;--bs-drawer-transition-timing:cubic-bezier(.22, 1, .36, 1);--bs-drawer-title-line-height:1.5}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;transition:height .35s;overflow:hidden}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}
 /*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
index f68f355f3b9a6f1e2f4a5c300458aea1a07b3c4a..15c41c6e7271d326f58e3c4c3909e8d284f11f0a 100644 (file)
@@ -1 +1 @@
-{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n  }\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n  .blockquote {\n    --blockquote-gap: calc(var(--spacer) / 2);\n    --blockquote-padding-x: var(--spacer);\n    --blockquote-margin-y: 1rem;\n    --blockquote-font-size: var(--font-size-md);\n    --blockquote-border-width: 0.25rem;\n    --blockquote-border-color: var(--border-color);\n    --blockquote-footer-font-size: var(--font-size-sm);\n    --blockquote-footer-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n  }\n  .blockquote > * {\n    margin-bottom: 0;\n  }\n  figure.blockquote blockquote {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-cell-padding-y: 0.5rem;\n    --table-cell-padding-x: 0.5rem;\n    --table-cell-vertical-align: top;\n    --table-color: var(--fg-body);\n    --table-bg: var(--bg-body);\n    --table-accent-bg: transparent;\n    --table-border-width: var(--border-width);\n    --table-border-color: var(--border-color);\n    --table-group-separator-color: currentcolor;\n    --table-striped-color: var(--table-color);\n    --table-striped-bg-factor: 0.05;\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n    --table-active-color: var(--table-color);\n    --table-active-bg-factor: 0.1;\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n    --table-hover-color: var(--table-color);\n    --table-hover-bg-factor: 0.075;\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--table-border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    --table-cell-padding-y: .25rem;\n    --table-cell-padding-x: .25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--table-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--table-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .sm\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    --thumbnail-padding: 0.25rem;\n    --thumbnail-bg: var(--bg-body);\n    --thumbnail-border-width: var(--border-width);\n    --thumbnail-border-color: var(--border-color);\n    --thumbnail-border-radius: var(--border-radius);\n    --thumbnail-box-shadow: var(--box-shadow-sm);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    border-radius: var(--thumbnail-border-radius);\n    box-shadow: var(--thumbnail-box-shadow);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    --figure-gap: calc(var(--spacer) * 0.5);\n    --figure-caption-font-size: var(--font-size-sm);\n    --figure-caption-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: 1rem;\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.75);\n  }\n  .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.5);\n  }\n  .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.75em;\n  }\n  .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.5em;\n  }\n  .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.25em;\n  }\n  .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.125em;\n  }\n  .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1em;\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      transition: none;\n    }\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n  .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n    font-weight: 500;\n  }\n  .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0;\n  }\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n@layer forms {\n  .form-text {\n    --form-text-margin-top: 0.25rem;\n    --form-text-font-size: var(--font-size-sm);\n    --form-text-color: var(--fg-3);\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: var(--btn-input-min-height);\n    --control-padding-y: var(--btn-input-padding-y);\n    --control-padding-x: var(--btn-input-padding-x);\n    --control-font-size: var(--btn-input-font-size);\n    --control-line-height: var(--btn-input-line-height);\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-box-shadow: var(--box-shadow-inset);\n    --control-action-bg: var(--bg-1);\n    --control-action-hover-bg: var(--bg-2);\n    --control-transition-property: border-color, box-shadow;\n    --control-transition-timing: 0.15s ease-in-out;\n    --control-transition: var(--control-transition-property) var(--control-transition-timing);\n    --control-placeholder-color: var(--fg-3);\n    --control-disabled-color: var(--control-fg);\n    --control-disabled-bg: var(--bg-2);\n    --control-disabled-border-color: var(--control-border-color);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--control-box-shadow);\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::placeholder {\n    color: var(--control-placeholder-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    color: var(--control-disabled-color);\n    background-color: var(--control-disabled-bg);\n    border-color: var(--control-disabled-border-color);\n    opacity: 1;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    height: 1.5rem;\n    padding: 0;\n    margin-bottom: -0.125rem;\n  }\n  .form-control::-webkit-datetime-edit-fields-wrapper {\n    height: 1.5rem;\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-action-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--control-action-hover-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0;\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  .form-control-sm {\n    --control-min-height: var(--btn-input-sm-min-height);\n    --control-padding-y: var(--btn-input-sm-padding-y);\n    --control-padding-x: var(--btn-input-sm-padding-x);\n    --control-font-size: var(--btn-input-sm-font-size);\n    --control-line-height: var(--btn-input-sm-line-height);\n    --control-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .form-control-lg {\n    --control-min-height: var(--btn-input-lg-min-height);\n    --control-padding-y: var(--btn-input-lg-padding-y);\n    --control-padding-x: var(--btn-input-lg-padding-x);\n    --control-font-size: var(--btn-input-lg-font-size);\n    --control-line-height: var(--btn-input-lg-line-height);\n    --control-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .checkgroup .description {\n    color: var(--fg-3);\n  }\n  .check {\n    --check-size: 1.25rem;\n    --check-margin-block: 0.125rem;\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-border-radius: 0.375rem;\n    --check-checked-bg: var(--control-checked-bg);\n    --check-checked-border-color: var(--control-checked-border-color);\n    --check-indeterminate-bg: var(--control-checked-bg);\n    --check-indeterminate-border-color: var(--control-checked-border-color);\n    --check-active-bg: var(--control-active-bg);\n    --check-active-border-color: var(--control-active-border-color);\n    --check-disabled-bg: var(--control-disabled-bg);\n    --check-disabled-opacity: var(--control-disabled-opacity);\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: var(--check-size);\n    height: var(--check-size);\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.3em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--theme-contrast, var(--primary-contrast));\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--fg-3);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .radiogroup .description {\n    color: var(--fg-3);\n  }\n  .radio {\n    --radio-size: 1.25rem;\n    --radio-margin-block: 0.125rem;\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--control-checked-bg);\n    --radio-checked-border-color: var(--control-checked-border-color);\n    --radio-disabled-bg: var(--control-disabled-bg);\n    --radio-disabled-opacity: var(--control-disabled-opacity);\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: 0.0625rem;\n    --switch-margin-block: 0.125rem;\n    --switch-bg: var(--bg-3);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--control-checked-bg);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--control-disabled-bg);\n    --switch-disabled-indicator-bg: var(--fg-3);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--theme-contrast, var(--switch-indicator-bg));\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n@layer forms {\n  .form-range {\n    --range-track-width: 100%;\n    --range-track-height: 0.5rem;\n    --range-track-cursor: pointer;\n    --range-track-bg: var(--bg-3);\n    --range-track-border-radius: 1rem;\n    --range-track-box-shadow: var(--box-shadow-inset);\n    --range-thumb-width: 1rem;\n    --range-thumb-height: var(--range-thumb-width);\n    --range-thumb-bg: var(--primary-base);\n    --range-thumb-border: 0;\n    --range-thumb-border-radius: 1rem;\n    --range-thumb-box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n    --range-thumb-disabled-bg: var(--fg-3);\n    --range-thumb-transition-property: background-color, border-color, box-shadow;\n    --range-thumb-transition-timing: 0.15s ease-in-out;\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n    width: 100%;\n    height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range:focus::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n  }\n  .form-range::-webkit-slider-thumb {\n    margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n  }\n  .form-range::-moz-range-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range::-moz-range-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n}\n@layer forms {\n  .form-floating {\n    --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n    --form-floating-line-height: 1.25;\n    --form-floating-padding-x: var(--btn-input-padding-x);\n    --form-floating-padding-y: 1rem;\n    --form-floating-input-padding-t: 1.625rem;\n    --form-floating-input-padding-b: 0.625rem;\n    --form-floating-label-height: 1.5em;\n    --form-floating-label-opacity: 0.65;\n    --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n    --form-floating-label-disabled-color: var(--fg-3);\n    --form-floating-transition-property: opacity, transform;\n    --form-floating-transition-timing: 0.1s ease-in-out;\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n    position: relative;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    max-width: 100%;\n    height: 100%;\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    overflow: hidden;\n    color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--input-btn-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: var(--form-floating-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    height: var(--form-floating-height);\n    min-height: var(--form-floating-height);\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    line-height: var(--form-floating-line-height);\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n    z-index: -1;\n    height: var(--form-floating-label-height);\n    content: \"\";\n    background-color: var(--control-bg);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--control-disabled-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--control-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--form-floating-label-disabled-color);\n  }\n}\n@layer components {\n  .input-group {\n    --input-group-addon-padding-y: var(--btn-input-padding-y);\n    --input-group-addon-padding-x: var(--btn-input-padding-x);\n    --input-group-addon-font-size: var(--btn-input-font-size);\n    --input-group-addon-line-height: var(--btn-input-line-height);\n    --input-group-addon-color: var(--fg-body);\n    --input-group-addon-bg: var(--bg-2);\n    --input-group-addon-border-color: var(--border-color);\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group > .input-group-btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group > .input-group-btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size);\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .input-group-sm > .form-control,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    min-height: var(--btn-input-sm-min-height);\n    padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n    font-size: var(--btn-input-sm-font-size);\n    border-radius: var(--btn-input-sm-border-radius);\n  }\n  .input-group-lg > .form-control,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    min-height: var(--btn-input-lg-min-height);\n    padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n    font-size: var(--btn-input-lg-font-size);\n    border-radius: var(--btn-input-lg-border-radius);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n  }\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n    --strength-width: 100%;\n  }\n}\n@layer components {\n  .otp {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-font-size);\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n    border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: var(--btn-input-sm-min-height);\n    --otp-font-size: var(--btn-input-sm-font-size);\n    --otp-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .otp-lg {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-lg-font-size);\n    --otp-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer forms {\n  .form-adorn {\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    gap: var(--form-adorn-gap);\n    align-items: center;\n  }\n  .form-adorn:focus-visible {\n    outline: 0;\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n@layer forms {\n  .chip-input {\n    --chip-input-padding-y: 0.75rem;\n    --chip-input-padding-x: 0.75rem;\n    --chip-input-gap: 0.375rem;\n    --chip-input-ghost-min-width: 5rem;\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n  }\n  .chip-input:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .chip-input > .form-ghost {\n    flex: 1 1 0;\n    min-width: var(--chip-input-ghost-min-width);\n    min-height: 1.75rem;\n  }\n  .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n    background-color: var(--bg-2);\n    opacity: 1;\n  }\n  .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n    opacity: var(--control-disabled-opacity);\n  }\n  .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n    pointer-events: none;\n  }\n  .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n    cursor: not-allowed;\n  }\n}\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n  }\n  .combobox-toggle.show {\n    background-color: var(--bg-1);\n  }\n  .combobox-toggle:disabled, .combobox-toggle.disabled {\n    cursor: not-allowed;\n    opacity: 0.65;\n  }\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: 0.5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .combobox-caret {\n    flex-shrink: 0;\n    transition: transform 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .combobox-caret {\n      transition: none;\n    }\n  }\n  .show > .combobox-caret {\n    transform: rotate(180deg);\n  }\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, 0.25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n  .combobox-search-input {\n    width: 100%;\n  }\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer components {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--success-contrast);\n    background-color: var(--success-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--success-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--success-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--success-border);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--success-border);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--danger-contrast);\n    background-color: var(--danger-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--danger-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dd0d37'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--danger-border);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--danger-border);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: var(--btn-input-min-height);\n    --btn-padding-x: var(--btn-input-padding-x);\n    --btn-padding-y: var(--btn-input-padding-y);\n    --btn-font-size: var(--btn-input-font-size);\n    --btn-font-weight: var(--btn-input-font-weight);\n    --btn-line-height: var(--btn-input-line-height);\n    --btn-color: var(--fg-body);\n    --btn-white-space: nowrap;\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    --btn-transition-timing: 0.15s ease-in-out;\n    --btn-transition-property: color, background-color, border-color, box-shadow;\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: var(--btn-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: var(--btn-input-xs-min-height);\n    --btn-padding-y: var(--btn-input-xs-padding-y);\n    --btn-padding-x: var(--btn-input-xs-padding-x);\n    --btn-font-size: var(--btn-input-xs-font-size);\n    --btn-line-height: var(--btn-input-xs-line-height);\n    --btn-border-radius: var(--btn-input-xs-border-radius);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: var(--btn-input-sm-min-height);\n    --btn-padding-y: var(--btn-input-sm-padding-y);\n    --btn-padding-x: var(--btn-input-sm-padding-x);\n    --btn-font-size: var(--btn-input-sm-font-size);\n    --btn-line-height: var(--btn-input-sm-line-height);\n    --btn-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: var(--btn-input-lg-min-height);\n    --btn-padding-y: var(--btn-input-lg-padding-y);\n    --btn-padding-x: var(--btn-input-lg-padding-x);\n    --btn-font-size: var(--btn-input-lg-font-size);\n    --btn-line-height: var(--btn-input-lg-line-height);\n    --btn-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgba(255, 255, 255, 0.125);\n    --btn-gradient-end: rgba(0, 0, 0, 0.075);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--btn-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: var(--fg-body);\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus-visible {\n    opacity: var(--btn-close-focus-opacity);\n    outline: var(--focus-ring);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-padding-x: 1.25rem;\n    --accordion-padding-y: 1rem;\n    --accordion-color: var(--fg-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition-property: color, background-color, border-radius;\n    --accordion-transition-timing: .15s ease-in-out;\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--bg-body);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert > p {\n    margin-bottom: 0;\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .avatar {\n    --avatar-size: 2.5rem;\n    --avatar-border-radius: 50%;\n    --avatar-border-width: 2px;\n    --avatar-border-color: var(--bg-body);\n    --avatar-bg: var(--bg-2);\n    --avatar-color: var(--fg-body);\n    --avatar-status-size: 0.75rem;\n    --avatar-status-border-width: 2px;\n    --avatar-status-border-color: var(--bg-body);\n    --avatar-stack-spacing: -0.3;\n    --avatar-stack-transition: transform .2s ease-in-out;\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * 0.4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    border-radius: var(--avatar-border-radius);\n  }\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: inherit;\n  }\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    border-radius: 50%;\n  }\n  .avatar-status.status-online {\n    background-color: var(--green-500);\n  }\n  .avatar-status.status-offline {\n    background-color: var(--gray-400);\n    border-radius: 20%;\n  }\n  .avatar-status.status-busy {\n    background-color: var(--red-500);\n    border-radius: 20%;\n  }\n  .avatar-status.status-away {\n    background-color: var(--yellow-500);\n  }\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n  }\n  .avatar-stack .avatar {\n    margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n    border: var(--avatar-border-width) solid var(--avatar-border-color);\n    mask-image: none;\n    transition: var(--avatar-stack-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .avatar-stack .avatar {\n      transition: none;\n    }\n  }\n  .avatar-stack .avatar:last-child {\n    margin-left: 0;\n  }\n  .avatar-stack .avatar:hover {\n    z-index: 1;\n    transform: translateY(-2px);\n  }\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: 1.5rem;\n    --avatar-status-size: 0.625rem;\n  }\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: 2rem;\n  }\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: 3rem;\n    --avatar-status-size: 1rem;\n  }\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: 4rem;\n    --avatar-status-size: 1.25rem;\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: var(--font-weight-semibold);\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: var(--border-width);\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: inherit;\n    --breadcrumb-bg: transparent;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .chip {\n    --chip-height: 1.75rem;\n    --chip-padding-x: 0.625rem;\n    --chip-gap: 0.3125rem;\n    --chip-border-radius: var(--border-radius-pill);\n    --chip-img-size: 1.25rem;\n    --chip-icon-size: 1rem;\n    --chip-dismiss-size: 1rem;\n    --chip-dismiss-opacity: 0.65;\n    --chip-dismiss-hover-opacity: 1;\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    border-radius: var(--chip-border-radius);\n  }\n  .chip:hover {\n    --chip-bg: var(--theme-bg-muted, var(--bg-3));\n  }\n  .chip:focus-visible {\n    outline: 0;\n  }\n  .chip.active {\n    --chip-color: var(--chip-selected-color);\n    --chip-bg: var(--chip-selected-bg);\n    --chip-border-color: var(--chip-selected-border-color);\n  }\n  .chip.active:hover {\n    --chip-bg: var(--chip-selected-bg);\n    opacity: 0.9;\n  }\n  .chip.disabled, .chip:disabled {\n    pointer-events: none;\n    opacity: 0.65;\n  }\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    border-radius: 50%;\n  }\n  .chip-img:first-child {\n    margin-inline-start: -0.375rem;\n  }\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -0.25);\n  }\n  .chip-icon > svg {\n    display: block;\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n  }\n  .chip-icon > img {\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n    object-fit: cover;\n    border-radius: 50%;\n  }\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n  }\n  .chip-dismiss:hover {\n    opacity: var(--chip-dismiss-hover-opacity);\n  }\n  .chip-dismiss:focus-visible {\n    outline: 0;\n    opacity: 1;\n    outline: var(--focus-ring);\n  }\n  .chip-dismiss > svg {\n    display: block;\n    width: var(--chip-dismiss-size);\n    height: var(--chip-dismiss-size);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: inherit;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: none;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: inherit;\n    --card-height: auto;\n    --card-color: inherit;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .card-translucent .card-header,\n  .card-translucent .card-footer {\n    background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n    --carousel-control-color: #fff;\n    --carousel-control-width: 15%;\n    --carousel-control-opacity: 0.5;\n    --carousel-control-hover-opacity: 0.9;\n    --carousel-control-transition: opacity 0.15s ease;\n    --carousel-control-icon-filter: none;\n    --carousel-indicator-width: 30px;\n    --carousel-indicator-height: 3px;\n    --carousel-indicator-hit-area-height: 10px;\n    --carousel-indicator-spacer: 3px;\n    --carousel-indicator-opacity: 0.5;\n    --carousel-indicator-active-bg: var(--white);\n    --carousel-indicator-active-opacity: 1;\n    --carousel-indicator-transition: opacity 0.6s ease;\n    --carousel-caption-width: 70%;\n    --carousel-caption-color: var(--white);\n    --carousel-caption-padding-y: 1.25rem;\n    --carousel-caption-spacer: 1.25rem;\n    --carousel-control-icon-width: 2rem;\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n    --carousel-transition-duration: 0.6s;\n    --carousel-transition: transform 0.6s ease-in-out;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: var(--carousel-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s var(--carousel-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    transition: var(--carousel-control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: var(--carousel-control-color);\n    text-decoration: none;\n    outline: 0;\n    opacity: var(--carousel-control-hover-opacity);\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: var(--carousel-indicator-width);\n    height: var(--carousel-indicator-height);\n    padding: 0;\n    margin-inline: var(--carousel-indicator-spacer);\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n    opacity: var(--carousel-indicator-opacity);\n    transition: var(--carousel-indicator-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: var(--carousel-indicator-active-opacity);\n  }\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * 0.5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * 0.5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  @media (prefers-color-scheme: dark) {\n    :root {\n      --carousel-indicator-active-bg: #000;\n      --carousel-caption-color: #000;\n      --carousel-control-icon-filter: invert(1) grayscale(100);\n    }\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    border-radius: var(--datepicker-border-radius);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    pointer-events: none;\n  }\n  [data-vc-dates=row] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-transition-duration: 0.2s;\n    --dialog-transition-timing: ease-out;\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-backdrop-blur: 8px;\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    display: block;\n    position: fixed;\n    inset: 0;\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    visibility: hidden;\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n    opacity: 0;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), visibility 0s var(--dialog-transition-duration);\n  }\n  .dialog[open] {\n    visibility: visible;\n    opacity: 1;\n    transform: none;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), visibility 0s;\n  }\n  .dialog.dialog-slide-down {\n    transform: translateY(100vh);\n  }\n  .dialog.dialog-slide-up {\n    transform: translateY(-100vh);\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog::backdrop {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-transition-duration: 0.2s;\n    --dialog-transition-timing: ease-out;\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-backdrop-blur: 8px;\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n  }\n  @starting-style {\n    .dialog.dialog-slide-down[open] {\n      transform: translateY(-100vh);\n    }\n    .dialog.dialog-slide-up[open] {\n      transform: translateY(100vh);\n    }\n    .dialog::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .sm-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .md-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .menu {\n    --menu-zindex: 1000;\n    --menu-gap: 0.125rem;\n    --menu-min-width: 10rem;\n    --menu-padding-x: 0.25rem;\n    --menu-padding-y: 0.25rem;\n    --menu-spacer: 0.125rem;\n    --menu-font-size: var(--font-size-sm);\n    --menu-color: var(--fg-body);\n    --menu-bg: var(--bg-body);\n    --menu-box-shadow: var(--box-shadow);\n    --menu-divider-bg: var(--border-color-translucent);\n    --menu-divider-margin-y: 0.125rem;\n    --menu-divider-margin-x: 0.25rem;\n    --menu-item-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-bg: var(--bg-1);\n    --menu-item-active-color: var(--primary-contrast);\n    --menu-item-active-bg: var(--primary-bg);\n    --menu-item-disabled-color: var(--fg-3);\n    --menu-item-gap: 0.5rem;\n    --menu-item-padding-x: 0.75rem;\n    --menu-item-padding-y: 0.25rem;\n    --menu-item-border-radius: var(--border-radius);\n    --menu-icon-size: 1rem;\n    --menu-image-size: 1.5rem;\n    --menu-description-font-size: var(--font-size-xs);\n    --menu-check-color: currentcolor;\n    --menu-header-color: var(--fg-3);\n    --menu-header-padding-x: 0.75rem;\n    --menu-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    border-radius: var(--menu-border-radius, var(--border-radius-lg));\n    box-shadow: var(--menu-box-shadow);\n  }\n  .menu.show {\n    display: flex;\n  }\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    border-radius: var(--menu-item-border-radius, 0);\n  }\n  .menu-item:hover, .menu-item:focus {\n    color: var(--theme-text, var(--menu-item-hover-color));\n    background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n  }\n  .menu-item.active, .menu-item:active {\n    color: var(--theme-contrast, var(--menu-item-active-color));\n    background-color: var(--theme-bg, var(--menu-item-active-bg));\n  }\n  .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n    color: inherit !important;\n  }\n  .menu-item.selected {\n    font-weight: 600;\n  }\n  .menu-item.disabled, .menu-item:disabled {\n    color: var(--menu-item-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: 0.125rem;\n  }\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    border-radius: var(--border-radius-sm);\n  }\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: 0.125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n  }\n  .selected > .menu-item-check {\n    visibility: visible;\n  }\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n  .submenu {\n    position: relative;\n  }\n  .submenu > .menu-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .submenu > .menu-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .submenu > .menu-item::after {\n    transform: rotate(135deg);\n  }\n  .submenu > .menu {\n    top: 0;\n    margin-top: calc(-1 * var(--menu-padding-y));\n  }\n  .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  .submenu.show > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      border-radius: 0;\n      box-shadow: none;\n    }\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n    }\n    .submenu-back::before {\n      display: inline-block;\n      flex-shrink: 0;\n      width: 0.375em;\n      height: 0.375em;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0.125em 0 0 0.125em;\n      transform: rotate(-45deg);\n    }\n    [dir=rtl] .submenu-back::before {\n      border-width: 0 0.125em 0.125em 0;\n    }\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: 0.3;\n    }\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--fg-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--fg-2);\n    --list-group-action-hover-color: var(--fg-1);\n    --list-group-action-hover-bg: var(--bg-1);\n    --list-group-action-active-color: var(--fg-body);\n    --list-group-action-active-bg: var(--bg-2);\n    --list-group-disabled-color: var(--fg-3);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n    text-decoration: none;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .sm\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-align: center;\n    --nav-link-justify: center;\n    --nav-link-padding-x: 0.75rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-transition-property: color, background-color, border-color;\n    --nav-link-transition-timing: 0.15s ease-in-out;\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    border-radius: var(--border-radius);\n    transition: var(--nav-link-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--fg-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-bottom-color: var(--nav-tabs-border-color);\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--fg-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0;\n  }\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n  .nav-overflow [data-bs-nav-overflow=true] {\n    display: none;\n  }\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg-body);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: var(--font-size-md);\n    --navbar-brand-font-weight: var(--font-weight-medium);\n    --navbar-brand-color: var(--fg-body);\n    --navbar-brand-hover-color: var(--fg-body);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-width: 2rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: var(--font-size-lg);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    container-type: inline-size;\n    color: var(--navbar-color, var(--fg-body));\n    background-color: var(--navbar-bg, var(--bg-body));\n  }\n  .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-gap: 0.25rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-padding-x: 0.5rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--navbar-color);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-hover-bg: transparent;\n    --nav-link-active-color: var(--navbar-active-color);\n    --nav-link-active-bg: transparent;\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n    border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n  }\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    display: flex !important;\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    flex-direction: row;\n    align-items: center;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:navbar-expand > .container,\n    .sm\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .sm\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .sm\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .sm\\:navbar-expand .offcanvas {\n      display: flex !important;\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .sm\\:navbar-expand .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .sm\\:navbar-expand .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:navbar-expand > .container,\n    .md\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .md\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .md\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .md\\:navbar-expand .offcanvas {\n      display: flex !important;\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .md\\:navbar-expand .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .md\\:navbar-expand .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:navbar-expand > .container,\n    .lg\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .lg\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .lg\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .lg\\:navbar-expand .offcanvas {\n      display: flex !important;\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .lg\\:navbar-expand .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .lg\\:navbar-expand .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:navbar-expand > .container,\n    .xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .xl\\:navbar-expand .offcanvas {\n      display: flex !important;\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .xl\\:navbar-expand .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .xl\\:navbar-expand .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:navbar-expand > .container,\n    .\\32 xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .\\32 xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand .offcanvas {\n      display: flex !important;\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .\\32 xl\\:navbar-expand .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .\\32 xl\\:navbar-expand .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar .offcanvas:not([open]) {\n    transition: none !important;\n  }\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n  }\n  .navbar-translucent::before {\n    position: absolute;\n    inset: 0;\n    z-index: -1;\n    content: \"\";\n    background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n    background-image: none;\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n    --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n    --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n    --navbar-active-color: var(--white);\n    --navbar-brand-color: var(--white);\n    --navbar-brand-hover-color: var(--white);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n  }\n}\n.offcanvas, .\\32 xl\\:offcanvas, .xl\\:offcanvas, .lg\\:offcanvas, .md\\:offcanvas, .sm\\:offcanvas {\n  --offcanvas-inset: var(--spacer);\n  --offcanvas-zindex: 1045;\n  --offcanvas-width: 400px;\n  --offcanvas-height: 30vh;\n  --offcanvas-padding-x: var(--spacer);\n  --offcanvas-padding-y: var(--spacer);\n  --offcanvas-color: var(--fg-body);\n  --offcanvas-bg: var(--bg-body);\n  --offcanvas-border-width: var(--border-width);\n  --offcanvas-border-color: var(--border-color-translucent);\n  --offcanvas-border-radius: var(--border-radius-lg);\n  --offcanvas-box-shadow: var(--box-shadow-lg);\n  --offcanvas-transition-duration: 0.3s;\n  --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n  --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .sm\\:offcanvas {\n      inset: auto;\n      display: flex;\n      width: auto;\n      height: auto;\n      margin: 0;\n      padding: 0;\n      position: fixed;\n      z-index: var(--offcanvas-zindex);\n      flex-direction: column;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      border-radius: var(--offcanvas-border-radius);\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n    }\n    .sm\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .sm\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .sm\\:offcanvas[open] {\n      visibility: visible;\n      transform: none;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:offcanvas {\n      display: flex !important;\n      position: static !important;\n      z-index: auto;\n      flex-grow: 1;\n      inset: auto;\n      width: auto !important;\n      height: auto !important;\n      max-width: none;\n      max-height: none;\n      margin: 0;\n      padding: 0;\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      border-radius: 0;\n      box-shadow: none;\n      transform: none !important;\n      transition: none !important;\n    }\n    .sm\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .sm\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:offcanvas {\n      inset: auto;\n      display: flex;\n      width: auto;\n      height: auto;\n      margin: 0;\n      padding: 0;\n      position: fixed;\n      z-index: var(--offcanvas-zindex);\n      flex-direction: column;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      border-radius: var(--offcanvas-border-radius);\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n    }\n    .md\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .md\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .md\\:offcanvas[open] {\n      visibility: visible;\n      transform: none;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:offcanvas {\n      display: flex !important;\n      position: static !important;\n      z-index: auto;\n      flex-grow: 1;\n      inset: auto;\n      width: auto !important;\n      height: auto !important;\n      max-width: none;\n      max-height: none;\n      margin: 0;\n      padding: 0;\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      border-radius: 0;\n      box-shadow: none;\n      transform: none !important;\n      transition: none !important;\n    }\n    .md\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .md\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:offcanvas {\n      inset: auto;\n      display: flex;\n      width: auto;\n      height: auto;\n      margin: 0;\n      padding: 0;\n      position: fixed;\n      z-index: var(--offcanvas-zindex);\n      flex-direction: column;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      border-radius: var(--offcanvas-border-radius);\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n    }\n    .lg\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .lg\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .lg\\:offcanvas[open] {\n      visibility: visible;\n      transform: none;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:offcanvas {\n      display: flex !important;\n      position: static !important;\n      z-index: auto;\n      flex-grow: 1;\n      inset: auto;\n      width: auto !important;\n      height: auto !important;\n      max-width: none;\n      max-height: none;\n      margin: 0;\n      padding: 0;\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      border-radius: 0;\n      box-shadow: none;\n      transform: none !important;\n      transition: none !important;\n    }\n    .lg\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .lg\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:offcanvas {\n      inset: auto;\n      display: flex;\n      width: auto;\n      height: auto;\n      margin: 0;\n      padding: 0;\n      position: fixed;\n      z-index: var(--offcanvas-zindex);\n      flex-direction: column;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      border-radius: var(--offcanvas-border-radius);\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n    }\n    .xl\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .xl\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .xl\\:offcanvas[open] {\n      visibility: visible;\n      transform: none;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:offcanvas {\n      display: flex !important;\n      position: static !important;\n      z-index: auto;\n      flex-grow: 1;\n      inset: auto;\n      width: auto !important;\n      height: auto !important;\n      max-width: none;\n      max-height: none;\n      margin: 0;\n      padding: 0;\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      border-radius: 0;\n      box-shadow: none;\n      transform: none !important;\n      transition: none !important;\n    }\n    .xl\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .xl\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:offcanvas {\n      inset: auto;\n      display: flex;\n      width: auto;\n      height: auto;\n      margin: 0;\n      padding: 0;\n      position: fixed;\n      z-index: var(--offcanvas-zindex);\n      flex-direction: column;\n      max-width: calc(100% - var(--offcanvas-inset) * 2);\n      max-height: calc(100% - var(--offcanvas-inset) * 2);\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      border-radius: var(--offcanvas-border-radius);\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-start: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-start) {\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n      inset-block: var(--offcanvas-inset);\n      inset-inline-end: var(--offcanvas-inset);\n      width: var(--offcanvas-width);\n      transform: translateX(calc(100% + var(--offcanvas-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:offcanvas:where(.offcanvas-end) {\n      transform: translateX(calc(-100% - var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-top) {\n      inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n      height: var(--offcanvas-height);\n      transform: translateY(calc(-100% - var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-bottom) {\n      inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n      height: var(--offcanvas-height);\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas:where(.offcanvas-fullscreen) {\n      inset: var(--offcanvas-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n      transform: translateY(calc(100% + var(--offcanvas-inset)));\n    }\n    .\\32 xl\\:offcanvas[open] {\n      visibility: visible;\n      transform: none;\n      transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:offcanvas {\n      display: flex !important;\n      position: static !important;\n      z-index: auto;\n      flex-grow: 1;\n      inset: auto;\n      width: auto !important;\n      height: auto !important;\n      max-width: none;\n      max-height: none;\n      margin: 0;\n      padding: 0;\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      border-radius: 0;\n      box-shadow: none;\n      transform: none !important;\n      transition: none !important;\n    }\n    .\\32 xl\\:offcanvas .offcanvas-header {\n      display: none;\n    }\n    .\\32 xl\\:offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    inset: auto;\n    display: flex;\n    width: auto;\n    height: auto;\n    margin: 0;\n    padding: 0;\n    position: fixed;\n    z-index: var(--offcanvas-zindex);\n    flex-direction: column;\n    max-width: calc(100% - var(--offcanvas-inset) * 2);\n    max-height: calc(100% - var(--offcanvas-inset) * 2);\n    color: var(--offcanvas-color);\n    visibility: hidden;\n    background-color: var(--offcanvas-bg);\n    background-clip: padding-box;\n    border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    border-radius: var(--offcanvas-border-radius);\n    outline: 0;\n    box-shadow: var(--offcanvas-box-shadow);\n    transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s var(--offcanvas-transition-duration);\n  }\n  .offcanvas:where(.offcanvas-start) {\n    inset-block: var(--offcanvas-inset);\n    inset-inline-start: var(--offcanvas-inset);\n    width: var(--offcanvas-width);\n    transform: translateX(calc(-100% - var(--offcanvas-inset)));\n  }\n  :root:dir(rtl) .offcanvas:where(.offcanvas-start) {\n    transform: translateX(calc(100% + var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-end) {\n    inset-block: var(--offcanvas-inset);\n    inset-inline-end: var(--offcanvas-inset);\n    width: var(--offcanvas-width);\n    transform: translateX(calc(100% + var(--offcanvas-inset)));\n  }\n  :root:dir(rtl) .offcanvas:where(.offcanvas-end) {\n    transform: translateX(calc(-100% - var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-top) {\n    inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n    height: var(--offcanvas-height);\n    transform: translateY(calc(-100% - var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-bottom) {\n    inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n    height: var(--offcanvas-height);\n    transform: translateY(calc(100% + var(--offcanvas-inset)));\n  }\n  .offcanvas:where(.offcanvas-fullscreen) {\n    inset: var(--offcanvas-inset);\n    width: auto;\n    max-width: none;\n    height: auto;\n    max-height: none;\n    transform: translateY(calc(100% + var(--offcanvas-inset)));\n  }\n  .offcanvas[open] {\n    visibility: visible;\n    transform: none;\n    transition: transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), visibility 0s;\n  }\n  .sm\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  .md\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  .lg\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  .xl\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  .\\32 xl\\:offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  .offcanvas::backdrop {\n    --offcanvas-backdrop-bg: var(--bg-body);\n    --offcanvas-backdrop-opacity: 25%;\n    --offcanvas-backdrop-blur: 8px;\n    --offcanvas-inset: var(--spacer);\n    --offcanvas-zindex: 1045;\n    --offcanvas-width: 400px;\n    --offcanvas-height: 30vh;\n    --offcanvas-padding-x: var(--spacer);\n    --offcanvas-padding-y: var(--spacer);\n    --offcanvas-color: var(--fg-body);\n    --offcanvas-bg: var(--bg-body);\n    --offcanvas-border-width: var(--border-width);\n    --offcanvas-border-color: var(--border-color-translucent);\n    --offcanvas-border-radius: var(--border-radius-lg);\n    --offcanvas-box-shadow: var(--box-shadow-lg);\n    --offcanvas-transition-duration: 0.3s;\n    --offcanvas-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --offcanvas-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n    transition: background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing), display var(--offcanvas-transition-duration) allow-discrete, overlay var(--offcanvas-transition-duration) allow-discrete;\n  }\n  @starting-style {\n    .sm\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .md\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .lg\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .xl\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .\\32 xl\\:offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .offcanvas::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .offcanvas-translucent {\n    background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .offcanvas-static {\n    transform: scale(1.02);\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    gap: var(--offcanvas-padding-y);\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n  .offcanvas-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n  }\n  .offcanvas-fit-content {\n    inset-block-end: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-min-height: var(--btn-input-min-height);\n    --pagination-padding-x: var(--btn-input-padding-x);\n    --pagination-padding-y: var(--btn-input-padding-y);\n    --pagination-font-size: var(--btn-input-font-size);\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--btn-input-border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--bg-1);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--bg-2);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--fg-3);\n    --pagination-disabled-bg: var(--bg-2);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--pagination-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-sm {\n    --pagination-min-height: var(--bs-btn-input-sm-min-height);\n    --pagination-padding-y: var(--btn-input-sm-padding-y);\n    --pagination-padding-x: var(--btn-input-sm-padding-x);\n    --pagination-font-size: var(--btn-input-sm-font-size);\n    --pagination-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .pagination-lg {\n    --pagination-min-height: var(--bs-btn-input-lg-min-height);\n    --pagination-padding-y: var(--btn-input-lg-padding-y);\n    --pagination-padding-x: var(--btn-input-lg-padding-x);\n    --pagination-font-size: var(--btn-input-lg-font-size);\n    --pagination-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer components {\n  .placeholder {\n    --placeholder-opacity-max: 0.5;\n    --placeholder-opacity-min: 0.2;\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: var(--font-size-sm);\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--fg-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: var(--font-size-sm);\n    --progress-bg: var(--bg-2);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: var(--white);\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: var(--progress-bar-animation);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .stepper {\n    --stepper-size: 2rem;\n    --stepper-gap: 1rem;\n    --stepper-font-size: var(--font-size-sm);\n    --stepper-text-gap: 0.5rem;\n    --stepper-track-size: 0.125rem;\n    --stepper-bg: var(--bg-2);\n    --stepper-active-color: var(--primary-contrast);\n    --stepper-active-bg: var(--primary-bg);\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n  }\n  .stepper-item::before {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--stepper-size);\n    height: var(--stepper-size);\n    padding: 0.5rem;\n    font-size: var(--stepper-font-size);\n    font-weight: 600;\n    line-height: 1;\n    text-align: center;\n    content: counter(stepper);\n    counter-increment: stepper;\n    background-color: var(--stepper-bg);\n    border-radius: 50%;\n  }\n  .stepper-item::after {\n    position: absolute;\n    inset-block-start: 50%;\n    inset-block-end: 100%;\n    inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    width: var(--stepper-track-size);\n    height: calc(100% + var(--stepper-gap));\n    content: \"\";\n    background-color: var(--stepper-bg);\n  }\n  .stepper-item:last-child::after {\n    display: none;\n  }\n  .stepper-item.active::before, .stepper-item.active::after {\n    color: var(--theme-contrast, var(--stepper-active-color));\n    background-color: var(--theme-bg, var(--stepper-active-bg));\n  }\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n  .stepper-horizontal {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n  }\n  .stepper-horizontal .stepper-item::after {\n    inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    inset-block-end: auto;\n    inset-inline-start: 50%;\n    inset-inline-end: 100%;\n    width: calc(100% + var(--stepper-gap));\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal .stepper-item:last-child::after {\n    right: 100%;\n  }\n  @container (width >= 576px) {\n    .sm\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .sm\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .sm\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .sm\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .md\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .md\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .md\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .lg\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .lg\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .lg\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n  }\n  .stepper-overflow > .stepper {\n    width: max-content;\n    min-width: 100%;\n  }\n}\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 0.75rem;\n    --toast-padding-y: 0.5rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: 0.875rem;\n    --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-border-radius: var(--border-radius);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--fg-3);\n    --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-header-border-color: var(--border-color-translucent);\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n    border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n  }\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 1rem;\n    }\n    .sm\\:m-4 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-5 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 1rem;\n    }\n    .sm\\:p-4 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-5 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 1rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-5 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 1rem;\n    }\n    .md\\:m-4 {\n      margin: 1.5rem;\n    }\n    .md\\:m-5 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 1rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-5 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 1rem;\n    }\n    .md\\:p-4 {\n      padding: 1.5rem;\n    }\n    .md\\:p-5 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 1rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-5 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 1rem;\n    }\n    .md\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-5 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 1rem;\n    }\n    .lg\\:m-4 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-5 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 1rem;\n    }\n    .lg\\:p-4 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-5 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 1rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-5 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 1rem;\n    }\n    .xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-5 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 1rem;\n    }\n    .xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-5 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n  (\n    --blockquote-gap: calc(var(--spacer) / 2),\n    --blockquote-padding-x: var(--spacer),\n    --blockquote-margin-y: 1rem,\n    --blockquote-font-size: var(--font-size-md),\n    --blockquote-border-width: .25rem,\n    --blockquote-border-color: var(--border-color),\n    --blockquote-footer-font-size: var(--font-size-sm),\n    --blockquote-footer-color: var(--fg-3),\n  ),\n  $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n    }\n  }\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    @include tokens($blockquote-tokens);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n    > * {\n      margin-bottom: 0;\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  figure.blockquote {\n    blockquote {\n      margin-bottom: 0;\n    }\n  }\n\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n  (\n    --table-cell-padding-y: .5rem,\n    --table-cell-padding-x: .5rem,\n    --table-cell-vertical-align: top,\n    --table-color: var(--fg-body),\n    --table-bg: var(--bg-body),\n    --table-accent-bg: transparent,\n    --table-border-width: var(--border-width),\n    --table-border-color: var(--border-color),\n    --table-group-separator-color: currentcolor,\n    --table-striped-color: var(--table-color),\n    --table-striped-bg-factor: .05,\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n    --table-active-color: var(--table-color),\n    --table-active-bg-factor: .1,\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n    --table-hover-color: var(--table-color),\n    --table-hover-bg-factor: .075,\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n  ),\n  $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    @include tokens($table-tokens);\n\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: var(--table-border-width);\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      --table-cell-padding-y: .25rem;\n      --table-cell-padding-x: .25rem;\n    }\n  }\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: var(--table-border-width) 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 var(--table-border-width);\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of responsive `.table-responsive` classes for configuring\n  // the screen size of where your table will overflow.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .#{$prefix}table-responsive {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n  (\n    --thumbnail-padding: .25rem,\n    --thumbnail-bg: var(--bg-body),\n    --thumbnail-border-width: var(--border-width),\n    --thumbnail-border-color: var(--border-color),\n    --thumbnail-border-radius: var(--border-radius),\n    --thumbnail-box-shadow: var(--box-shadow-sm),\n  ),\n  $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n  (\n    --figure-gap: calc(var(--spacer) * .5),\n    --figure-caption-font-size: var(--font-size-sm),\n    --figure-caption-color: var(--fg-3),\n  ),\n  $figure-tokens\n);\n// scss-docs-end figure-tokens\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n  .img-thumbnail {\n    @include tokens($thumbnail-tokens);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    @include border-radius(var(--thumbnail-border-radius));\n    @include box-shadow(var(--thumbnail-box-shadow));\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  .figure {\n    @include tokens($figure-tokens);\n    // Ensures the caption's text aligns with the image.\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n  (\n    --content-font-size: 1rem,\n    --content-gap: 20px,\n    --heading-color: light-dark(var(--gray-900), var(--white)),\n  ),\n  $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n  .prose {\n    @include tokens($prose-tokens);\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    :where(hr):not(:where(.not-prose, .not-prose *)) {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n      margin-top: 0;\n      margin-bottom: calc(var(--content-gap) / -2);\n      font-weight: 500;\n      line-height: 1.25;\n\n      code {\n        font-weight: 600;\n        color: inherit;\n      }\n    }\n\n    :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .75);\n    }\n\n    :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .5);\n    }\n\n    :where(h1):not(:where(.not-prose, .not-prose *)) {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    :where(h2):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.75em;\n    }\n    :where(h3):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.5em;\n    }\n    :where(h4):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.25em;\n    }\n    :where(h5):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.125em;\n    }\n    :where(h6):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1em;\n    }\n\n    :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n\n      &:hover {\n        text-decoration-color: var(--link-hover-color);\n      }\n    }\n\n    :where(img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n\n    :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    :where(table):not(:where(.not-prose, .not-prose *)) {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    :where(dt):not(:where(.not-prose, .not-prose *)) {\n      font-weight: 500;\n    }\n\n    :where(video, img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n  (\n    --label-margin-bottom: calc(var(--spacer) / 2),\n    --label-font-size: null,\n    --label-font-style: null,\n    --label-font-weight: null,\n    --label-color: null,\n  ),\n  $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n\n  // For use with horizontal and inline forms, when you need the label (or legend)\n  // text to align with the form controls.\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0; // Override the `<legend>` default\n  }\n\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n  (\n    --form-text-margin-top: .25rem,\n    --form-text-font-size: var(--font-size-sm),\n    --form-text-font-style: null,\n    --form-text-font-weight: null,\n    --form-text-color: var(--fg-3),\n  ),\n  $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n  .form-text {\n    @include tokens($form-text-tokens);\n\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n  (\n    --control-min-height: var(--btn-input-min-height),\n    --control-padding-y: var(--btn-input-padding-y),\n    --control-padding-x: var(--btn-input-padding-x),\n    --control-font-size: var(--btn-input-font-size),\n    --control-line-height: var(--btn-input-line-height),\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n    --control-box-shadow: var(--box-shadow-inset),\n    --control-action-bg: var(--bg-1),\n    --control-action-hover-bg: var(--bg-2),\n    --control-transition-property: \"border-color, box-shadow\",\n    --control-transition-timing: .15s ease-in-out,\n    --control-transition: var(--control-transition-property) var(--control-transition-timing),\n    --control-placeholder-color: var(--fg-3),\n    --control-disabled-color: var(--control-fg),\n    --control-disabled-bg: var(--bg-2),\n    --control-disabled-border-color: var(--control-border-color),\n    --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n    --control-select-bg-position: right .75rem center,\n    --control-select-bg-size: 16px 12px,\n    --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n  ),\n  $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .form-control {\n    @include tokens($form-control-tokens);\n\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow(var(--control-box-shadow));\n    @include transition(var(--control-transition));\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      @include focus-ring(true);\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: var(--control-placeholder-color);\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: var(--control-disabled-color);\n      background-color: var(--control-disabled-bg);\n      border-color: var(--control-disabled-border-color);\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // Date and time inputs\n    // &::-webkit-date-and-time-value {\n    //   // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   //\n    //   // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n    //   // Tested under iOS 16.2 / Safari 16.2\n    //   min-width: 85px; // Seems to be a good minimum safe width\n\n    //   // Add some height to date inputs on iOS\n    //   // https://github.com/twbs/bootstrap/issues/23307\n    //   // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n    //   // Multiply line-height by 1em if it has no unit\n    //   height: 1.5em;\n\n    //   // Android Chrome type=\"date\" is taller than the other inputs\n    //   // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   margin: 0;\n    //   background-color: var(--red-500);\n    // }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n\n    // mdo-do: need to check this stuff out across browsers\n    &::-webkit-datetime-edit {\n      display: block;\n      height: 1.5rem;\n      padding: 0;\n      margin-bottom: -.125rem;\n    }\n    &::-webkit-datetime-edit-fields-wrapper {\n      height: 1.5rem;\n    }\n\n    // File inputs\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: var(--control-fg);\n      @include gradient-bg(var(--control-action-bg));\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition(var(--control-transition));\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: var(--control-action-hover-bg);\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n  }\n\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n  @each $size, $_ in $form-control-sizes {\n    .form-control-#{$size} {\n      --control-min-height: var(--btn-input-#{$size}-min-height);\n      --control-padding-y: var(--btn-input-#{$size}-padding-y);\n      --control-padding-x: var(--btn-input-#{$size}-padding-x);\n      --control-font-size: var(--btn-input-#{$size}-font-size);\n      --control-line-height: var(--btn-input-#{$size}-line-height);\n      --control-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n  (\n    --check-size: 1.25rem,\n    --check-margin-block: .125rem,\n    --check-bg: transparent,\n    --check-border-color: var(--border-color),\n    --check-border-radius: .375rem,\n    --check-checked-bg: var(--control-checked-bg),\n    --check-checked-border-color: var(--control-checked-border-color),\n    --check-indeterminate-bg: var(--control-checked-bg),\n    --check-indeterminate-border-color: var(--control-checked-border-color),\n    --check-active-bg: var(--control-active-bg),\n    --check-active-border-color: var(--control-active-border-color),\n    --check-disabled-bg: var(--control-disabled-bg),\n    --check-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .check {\n    @include tokens($check-tokens);\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: var(--check-size);\n      height: var(--check-size);\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .3em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--theme-contrast, var(--primary-contrast));\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--fg-3);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n  (\n    --radio-size: 1.25rem,\n    --radio-margin-block: .125rem,\n    --radio-bg: transparent,\n    --radio-border-color: var(--border-color),\n    --radio-checked-bg: var(--control-checked-bg),\n    --radio-checked-border-color: var(--control-checked-border-color),\n    --radio-disabled-bg: var(--control-disabled-bg),\n    --radio-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .radio {\n    @include tokens($radio-tokens);\n\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n  }\n\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n  (\n    --switch-height: 1.25rem,\n    --switch-width: calc(var(--switch-height) * 1.5),\n    --switch-padding: .0625rem,\n    --switch-margin-block: .125rem,\n    --switch-bg: var(--bg-3),\n    --switch-border-width: var(--border-width),\n    --switch-border-color: var(--border-color),\n    --switch-indicator-bg: var(--white),\n    --switch-checked-bg: var(--control-checked-bg),\n    --switch-checked-border-color: var(--switch-checked-bg),\n    --switch-checked-indicator-bg: var(--white),\n    --switch-disabled-bg: var(--control-disabled-bg),\n    --switch-disabled-indicator-bg: var(--fg-3),\n  ),\n  $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .switch {\n    @include tokens($switch-tokens);\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--theme-contrast, var(--switch-indicator-bg));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n  (\n    --range-track-width: 100%,\n    --range-track-height: .5rem,\n    --range-track-cursor: pointer,\n    --range-track-bg: var(--bg-3),\n    --range-track-border-radius: 1rem,\n    --range-track-box-shadow: var(--box-shadow-inset),\n    --range-thumb-width: 1rem,\n    --range-thumb-height: var(--range-thumb-width),\n    --range-thumb-bg: var(--primary-base),\n    --range-thumb-border: 0,\n    --range-thumb-border-radius: 1rem,\n    --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n    --range-thumb-disabled-bg: var(--fg-3),\n    --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n    --range-thumb-transition-timing: .15s ease-in-out,\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n  ),\n  $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n  width: var(--range-thumb-width);\n  height: var(--range-thumb-height);\n  appearance: none;\n  @include gradient-bg(var(--range-thumb-bg));\n  border: var(--range-thumb-border);\n  @include border-radius(var(--range-thumb-border-radius));\n  @include box-shadow(var(--range-thumb-box-shadow));\n  @include transition(var(--range-thumb-transition));\n\n  &:active {\n    @include gradient-bg(var(--range-thumb-active-bg));\n  }\n}\n\n@mixin range-track() {\n  width: var(--range-track-width);\n  height: var(--range-track-height);\n  color: transparent; // Why?\n  cursor: var(--range-track-cursor);\n  background-color: var(--range-track-bg);\n  border-color: transparent; // Firefox specific?\n  @include border-radius(var(--range-track-border-radius));\n  @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n  .form-range {\n    @include tokens($range-tokens);\n\n    width: 100%;\n    height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      @include range-thumb();\n      margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n    }\n\n    &::-moz-range-thumb {\n      @include range-thumb();\n    }\n\n    &::-webkit-slider-runnable-track {\n      @include range-track();\n    }\n\n    &::-moz-range-track {\n      @include range-track();\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n\n      &::-moz-range-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n  (\n    --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n    --form-floating-line-height: 1.25,\n    --form-floating-padding-x: var(--btn-input-padding-x),\n    --form-floating-padding-y: 1rem,\n    --form-floating-input-padding-t: 1.625rem,\n    --form-floating-input-padding-b: .625rem,\n    --form-floating-label-height: 1.5em,\n    --form-floating-label-opacity: .65,\n    --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n    --form-floating-label-disabled-color: var(--fg-3),\n    --form-floating-transition-property: \"opacity, transform\",\n    --form-floating-transition-timing: .1s ease-in-out,\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n  ),\n  $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n  .form-floating {\n    @include tokens($form-floating-tokens);\n\n    position: relative;\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      display: flex;\n      align-items: center;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      overflow: hidden;\n      color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: var(--input-btn-border-width) solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition(var(--form-floating-transition));\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      height: var(--form-floating-height);\n      min-height: var(--form-floating-height);\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      line-height: var(--form-floating-line-height);\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n        z-index: -1;\n        height: var(--form-floating-label-height);\n        content: \"\";\n        background-color: var(--control-bg);\n        @include border-radius(var(--btn-input-border-radius));\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: var(--control-disabled-bg);\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: var(--control-border-width) 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: var(--form-floating-label-disabled-color);\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n  (\n    --input-group-addon-padding-y: var(--btn-input-padding-y),\n    --input-group-addon-padding-x: var(--btn-input-padding-x),\n    --input-group-addon-font-size: var(--btn-input-font-size),\n    --input-group-addon-line-height: var(--btn-input-line-height),\n    --input-group-addon-color: var(--fg-body),\n    --input-group-addon-bg: var(--bg-2),\n    --input-group-addon-border-color: var(--border-color),\n  ),\n  $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n  .input-group {\n    @include tokens($input-group-addon-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    > .input-group-btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size); // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    @include border-radius(var(--btn-input-border-radius));\n  }\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  @each $size, $_ in $input-group-sizes {\n    .input-group-#{$size} {\n      > .form-control,\n      > .input-group-text,\n      > .btn {\n        min-height: var(--btn-input-#{$size}-min-height);\n        padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n        font-size: var(--btn-input-#{$size}-font-size);\n        @include border-radius(var(--btn-input-#{$size}-border-radius));\n      }\n    }\n  }\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * var(--border-width));\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n  (\n    --strength-height: .375rem,\n    --strength-gap: .25rem,\n    --strength-margin-top: .25rem,\n    --strength-border-radius: var(--border-radius-pill),\n    --strength-bg: var(--bg-2),\n    --strength-color: var(--bg-2),\n    --strength-weak-color: var(--danger-bg),\n    --strength-fair-color: var(--warning-bg),\n    --strength-good-color: var(--info-bg),\n    --strength-strong-color: var(--success-bg),\n  ),\n  $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    @include tokens($strength-tokens);\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  @each $level in $strength-levels {\n    .strength[data-bs-strength=\"#{$level}\"] {\n      --strength-color: var(--strength-#{$level}-color);\n    }\n  }\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    @include tokens($strength-tokens);\n\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    @each $level in $strength-levels {\n      &[data-bs-strength=\"#{$level}\"] {\n        --strength-color: var(--strength-#{$level}-color);\n        --strength-width: #{list.index($strength-levels, $level) * 25%};\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n  (\n    --otp-size: var(--btn-input-lg-min-height),\n    --otp-font-size: var(--btn-input-font-size),\n    --otp-gap: .5rem,\n  ),\n  $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n  .otp {\n    @include tokens($otp-tokens);\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n      @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  @each $size, $_ in $otp-sizes {\n    .otp-#{$size} {\n      --otp-size: var(--btn-input-#{$size}-min-height);\n      --otp-font-size: var(--btn-input-#{$size}-font-size);\n      --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n  (\n    --form-adorn-gap: .375rem,\n    --form-adorn-icon-size: 1rem,\n    --form-adorn-icon-color: var(--fg-2),\n  ),\n  $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n  .form-adorn {\n    @include tokens($form-adorn-tokens);\n\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Prevent default `.form-control` focus\n    &:focus-visible {\n      outline: 0;\n    }\n\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n  (\n    --chip-input-padding-y: .75rem,\n    --chip-input-padding-x: .75rem,\n    --chip-input-gap: .375rem,\n    --chip-input-ghost-min-width: 5rem,\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n  ),\n  $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n  .chip-input {\n    @include tokens($chip-input-tokens);\n\n    // Flexbox wrapping layout\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1 1 0;\n      min-width: var(--chip-input-ghost-min-width);\n      min-height: 1.75rem;\n    }\n\n    // Disabled state\n    &.disabled,\n    &:has(.form-ghost:disabled) {\n      background-color: var(--bg-2);\n      opacity: 1;\n\n      > .chip {\n        opacity: var(--control-disabled-opacity);\n\n        .chip-dismiss {\n          pointer-events: none;\n        }\n      }\n\n      > .form-ghost {\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Theme cascade: .chip-input.theme-* passes theme to child chips\n  // Chips inherit theme variables from parent\n  // @each $color-name, $theme-props in $theme-map {\n  //   .chip-input.theme-#{$color-name} > .chip {\n  //     // Subtle default state\n  //     --chip-color: var(--theme-text);\n  //     --chip-bg: var(--theme-bg-subtle);\n\n  //     // Selected/active solid state\n  //     --chip-selected-color: var(--theme-contrast);\n  //     --chip-selected-bg: var(--theme-bg);\n  //     --chip-selected-border-color: var(--theme-bg);\n  //   }\n  // }\n\n  // // Sizing variants\n  // .chip-input-sm {\n  //   --control-min-height: #{$control-min-height-sm};\n  //   --control-padding-y: #{$control-padding-y-sm};\n  //   --control-padding-x: #{$control-padding-x-sm};\n  //   --control-font-size: #{$control-font-size-sm};\n  //   --control-line-height: #{$control-line-height-sm};\n  //   --control-border-radius: #{$control-border-radius-sm};\n  //   --chip-input-gap: .25rem;\n  //   --chip-input-chip-font-size: .8125em;\n  // }\n\n  // .chip-input-lg {\n  //   --control-min-height: #{$control-min-height-lg};\n  //   --control-padding-y: #{$control-padding-y-lg};\n  //   --control-padding-x: #{$control-padding-x-lg};\n  //   --control-font-size: #{$control-font-size-lg};\n  //   --control-line-height: #{$control-line-height-lg};\n  //   --control-border-radius: #{$control-border-radius-lg};\n  //   --chip-input-gap: .5rem;\n  //   --chip-input-chip-font-size: .9375em;\n  // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: .5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n\n    &.show {\n      background-color: var(--bg-1);\n    }\n\n    &:disabled,\n    &.disabled {\n      cursor: not-allowed;\n      opacity: .65;\n    }\n  }\n\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: .5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .combobox-caret {\n    flex-shrink: 0;\n    @include transition(transform .2s ease-in-out);\n\n    .show > & {\n      transform: rotate(180deg);\n    }\n  }\n\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, .25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n\n  .combobox-search-input {\n    width: 100%;\n  }\n\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n  (\n    --tooltip-zindex: #{$zindex-tooltip},\n    --tooltip-max-width: 200px,\n    --tooltip-padding-x: #{$spacer * .75},\n    --tooltip-padding-y: #{$spacer * .375},\n    --tooltip-font-size: var(--font-size-sm),\n    --tooltip-color: var(--bg-body),\n    --tooltip-bg: var(--fg-body),\n    --tooltip-border-radius: var(--border-radius),\n    --tooltip-opacity: .95,\n    --tooltip-arrow-width: .8rem,\n    --tooltip-arrow-height: .4rem,\n  ),\n  $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x:     var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size:     var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n  .tooltip {\n    @include tokens($tooltip-tokens);\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@mixin reset-text {\n  font-family: var(--body-font-family);\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: var(--body-font-weight);\n  line-height: var(--body-line-height);\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-ring-color: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: calc(var(--control-padding-x) * 3.5);\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right var(--control-padding-x) center;\n        background-size: 1rem;\n      }\n\n      &:focus-visible {\n        @include focus-ring(true, $color: $focus-ring-color);\n        border-color: $border-color;\n      }\n    }\n\n    &::-webkit-contacts-auto-fill-button {\n      @if $enable-validation-icons {\n        // margin-inline-end: calc(var(--control-padding-x) * 3);\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // padding-inline-end: $input-height-inner;\n        background-position: right var(--control-padding-x) top var(--control-padding-x);\n        // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // width: calc($form-color-width + $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        // box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           var(--font-size-xs) !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success-text) !default;\n$form-feedback-invalid-color:       var(--danger-text) !default;\n\n$form-feedback-icon-valid-color:    #00a748 !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  #dd0d37 !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": var(--success-contrast),\n    \"tooltip-bg-color\": var(--success-bg),\n    \"focus-ring-color\": var(--success-focus-ring),\n    \"border-color\": var(--success-border),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": var(--danger-contrast),\n    \"tooltip-bg-color\": var(--danger-bg),\n    \"focus-ring-color\": var(--danger-focus-ring),\n    \"border-color\": var(--danger-border),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n  (\n    --btn-min-height: var(--btn-input-min-height),\n    --btn-padding-x: var(--btn-input-padding-x),\n    --btn-padding-y: var(--btn-input-padding-y),\n    --btn-font-size: var(--btn-input-font-size),\n    --btn-font-weight: var(--btn-input-font-weight),\n    --btn-line-height: var(--btn-input-line-height),\n    --btn-color: var(--fg-body),\n    --btn-white-space: nowrap,\n    --btn-border-width: var(--border-width),\n    --btn-border-color: transparent,\n    --btn-border-radius: var(--border-radius),\n    --btn-hover-border-color: transparent,\n    --btn-disabled-opacity: .65,\n    --btn-transition-timing: .15s ease-in-out,\n    --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n  ),\n  $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n  (\n    --btn-font-weight: var(--font-weight-normal),\n    --btn-color: var(--link-color),\n    --btn-bg: transparent,\n    --btn-border-color: transparent,\n    --btn-hover-color: var(--link-hover-color),\n    --btn-hover-bg: transparent,\n    --btn-hover-border-color: transparent,\n    --btn-active-color: var(--link-hover-color),\n    --btn-active-bg: transparent,\n    --btn-active-border-color: transparent,\n    --btn-disabled-color: var(--fg-3),\n    --btn-disabled-border-color: transparent,\n  ),\n  $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n  (\n    --btn-gradient-start: rgb(255 255 255 / 12.5%),\n    --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n    --btn-border-mix-color: #000,\n    --btn-border-mix-amount: 10%,\n    --btn-border-hover-mix-amount: 12.5%,\n    --btn-border-active-mix-amount: 20%,\n    --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n  ),\n  $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n  (\"xs\", \"sm\", \"lg\"),\n  $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n  (\n    \"solid\": (\n      \"base\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      )\n    ),\n    \"outline\": (\n      \"base\": (\n        \"bg\": \"transparent\",\n        \"color\": \"text\",\n        \"border-color\": \"border\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      )\n    ),\n    \"subtle\": (\n      \"base\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"bg\": (\"bg-muted\", \"bg-subtle\"),\n        \"color\": \"text-emphasis\"\n      ),\n      \"active\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text-emphasis\"\n      )\n    ),\n    \"text\": (\n      \"base\": (\n        \"color\": \"text\",\n        \"bg\": \"transparent\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      ),\n      \"active\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      )\n    )\n  ),\n  $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n  #{$btn-variant-selectors} {\n    @include tokens($button-tokens);\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition(var(--btn-transition));\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $config in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    @include tokens($button-link-tokens);\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n\n  // scss-docs-start btn-sizes-loop\n  @each $size, $_ in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: var(--btn-input-#{$size}-min-height);\n      --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n      --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n      --btn-font-size: var(--btn-input-#{$size}-font-size);\n      --btn-line-height: var(--btn-input-#{$size}-line-height);\n      --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end btn-sizes-loop\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    @include tokens($button-styled-tokens);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius(var(--btn-border-radius));\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n  (\n    --btn-close-size: 1.25rem,\n    --btn-close-color: var(--fg-body),\n    --btn-close-opacity: .5,\n    --btn-close-hover-opacity: .75,\n    --btn-close-focus-opacity: .85,\n    --btn-close-disabled-opacity: .25,\n  ),\n  $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    @include tokens($btn-close-tokens);\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent; // for button elements\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus-visible {\n      opacity: var(--btn-close-focus-opacity);\n      @include focus-ring();\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n  (\n    --accordion-padding-x: 1.25rem,\n    --accordion-padding-y: 1rem,\n    --accordion-color: var(--fg-body),\n    --accordion-bg: var(--bg-body),\n    --accordion-transition-property: \"color, background-color, border-radius\",\n    --accordion-transition-timing: \".15s ease-in-out\",\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n    --accordion-border-color: var(--border-color),\n    --accordion-border-width: var(--border-width),\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n    --accordion-btn-color: var(--fg-2),\n    --accordion-btn-bg: var(--bg-body),\n    --accordion-btn-icon-width: 1rem,\n    --accordion-btn-icon-transform: rotate(-180deg),\n    --accordion-btn-icon-transition: transform .2s ease-in-out,\n    --accordion-active-color: var(--fg),\n    --accordion-active-bg: var(--bg-2),\n  ),\n  $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n  .accordion {\n    @include tokens($accordion-tokens);\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    @include transition(var(--accordion-transition));\n\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n  (\n    --alert-gap: #{$spacer * .75},\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n    --alert-padding-x: #{$spacer},\n    --alert-padding-y: #{$spacer},\n    --alert-color: var(--theme-text, inherit),\n    --alert-border-color: var(--theme-border, var(--border-color)),\n    --alert-border: var(--border-width) solid var(--alert-border-color),\n    --alert-border-radius: var(--border-radius),\n    --alert-link-color: inherit,\n    --hr-border-color: var(--theme-border, var(--border-color)),\n  ),\n  $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n  .alert {\n    @include tokens($alert-tokens);\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert > p {\n    margin-bottom: 0;\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n  (\n    --avatar-size: 2.5rem,\n    --avatar-border-radius: 50%,\n    --avatar-border-width: 2px,\n    --avatar-border-color: var(--bg-body),\n    --avatar-bg: var(--bg-2),\n    --avatar-color: var(--fg-body),\n    // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n    --avatar-status-size: .75rem,\n    --avatar-status-border-width: 2px,\n    --avatar-status-border-color: var(--bg-body),\n    --avatar-stack-spacing: -.3,\n    --avatar-stack-transition: \"transform .2s ease-in-out\",\n  ),\n  $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n  (\n    \"xs\": (\n      size: 1.5rem,\n      status-size: .625rem,\n    ),\n    \"sm\": (\n      size: 2rem,\n    ),\n    \"lg\": (\n      size: 3rem,\n      status-size: 1rem,\n    ),\n    \"xl\": (\n      size: 4rem,\n      status-size: 1.25rem,\n    ),\n  ),\n  $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n  .avatar {\n    @include tokens($avatar-tokens);\n\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * .4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    @include border-radius(var(--avatar-border-radius));\n  }\n\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    @include border-radius(inherit);\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    @include border-radius(50%);\n\n    &.status-online {\n      background-color: var(--green-500);\n    }\n\n    &.status-offline {\n      background-color: var(--gray-400);\n      @include border-radius(20%);\n    }\n\n    &.status-busy {\n      background-color: var(--red-500);\n      @include border-radius(20%);\n    }\n\n    &.status-away {\n      background-color: var(--yellow-500);\n    }\n  }\n\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n\n    .avatar {\n      // Stack spacing is calculated as a percentage of avatar size\n      margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n      border: var(--avatar-border-width) solid var(--avatar-border-color);\n      mask-image: none;\n      @include transition(var(--avatar-stack-transition));\n\n      &:last-child {\n        margin-left: 0;\n      }\n\n      &:hover {\n        z-index: 1;\n        transform: translateY(-2px);\n      }\n    }\n  }\n\n  @each $size, $tokens in $avatar-sizes {\n    .avatar-#{$size},\n    .avatar-stack-#{$size} {\n      --avatar-size: #{map.get($tokens, size)};\n\n      @if map.has-key($tokens, status-size) {\n        --avatar-status-size: #{map.get($tokens, status-size)};\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n  (\n    --badge-padding-x: .625em,\n    --badge-padding-y: .25em,\n    --badge-font-size: clamp(12px, .75em, .75em),\n    --badge-font-weight: var(--font-weight-semibold),\n    --badge-color: inherit,\n    --badge-bg: var(--bg-2),\n    --badge-border-width: var(--border-width),\n    --badge-border-color: transparent,\n    --badge-border-radius: var(--border-radius-lg),\n  ),\n  $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    @include tokens($badge-tokens);\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n  (\n    --breadcrumb-margin-bottom: 1rem,\n    --breadcrumb-font-size: inherit,\n    --breadcrumb-bg: transparent,\n    --breadcrumb-border-radius: var(--border-radius),\n    --breadcrumb-divider-color: var(--fg-4),\n    --breadcrumb-link-padding-x: .75rem,\n    --breadcrumb-link-padding-y: .25rem,\n    --breadcrumb-link-color: var(--fg-3),\n    --breadcrumb-link-hover-color: var(--fg-2),\n    --breadcrumb-link-hover-bg: var(--bg-1),\n    --breadcrumb-link-active-color: var(--fg-1),\n    --breadcrumb-link-border-radius: var(--border-radius-lg),\n  ),\n  $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n  .breadcrumb {\n    @include tokens($breadcrumb-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n  (\n    --chip-height: 1.75rem,\n    --chip-padding-x: .625rem,\n    --chip-gap: .3125rem,\n    --chip-border-radius: var(--border-radius-pill),\n    --chip-img-size: 1.25rem,\n    --chip-icon-size: 1rem,\n    --chip-dismiss-size: 1rem,\n    --chip-dismiss-opacity: .65,\n    --chip-dismiss-hover-opacity: 1,\n    --chip-color: var(--theme-text, var(--fg-body)),\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n    --chip-border-color: transparent,\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n  ),\n  $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .chip {\n    @include tokens($chip-tokens);\n\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    @include border-radius(var(--chip-border-radius));\n\n    &:hover {\n      --chip-bg: var(--theme-bg-muted, var(--bg-3));\n    }\n\n    &:focus-visible {\n      outline: 0;\n      // @include focus-ring();\n    }\n\n    &.active {\n      --chip-color: var(--chip-selected-color);\n      --chip-bg: var(--chip-selected-bg);\n      --chip-border-color: var(--chip-selected-border-color);\n\n      &:hover {\n        --chip-bg: var(--chip-selected-bg);\n        opacity: .9;\n      }\n    }\n\n    &.disabled,\n    &:disabled {\n      pointer-events: none;\n      opacity: .65;\n    }\n  }\n\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    @include border-radius(50%);\n\n    &:first-child {\n      margin-inline-start: -.375rem;\n    }\n  }\n\n  // Chip icon (left side)\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -.25);\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n    }\n\n    > img {\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n      object-fit: cover;\n      @include border-radius(50%);\n    }\n  }\n\n  // Dismiss button (right side)\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n    margin-inline-end: calc(var(--chip-padding-x) * -.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n    // @include transition(opacity .15s ease-in-out);\n\n    &:hover {\n      opacity: var(--chip-dismiss-hover-opacity);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      opacity: 1;\n      @include focus-ring();\n    }\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-dismiss-size);\n      height: var(--chip-dismiss-size);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n  (\n    --card-spacer-y: #{$spacer},\n    --card-spacer-x: #{$spacer},\n    --card-subtitle-color: inherit,\n    --card-border-width: var(--border-width),\n    --card-border-color: var(--border-color-translucent),\n    --card-border-radius: var(--border-radius-lg),\n    --card-box-shadow: none,\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --card-cap-padding-y: #{$spacer * .75},\n    --card-cap-padding-x: #{$spacer},\n    --card-cap-bg: var(--bg-1),\n    --card-cap-color: inherit,\n    --card-height: auto,\n    --card-color: inherit,\n    --card-bg: var(--bg-body),\n    --card-img-overlay-padding: #{$spacer},\n    --card-group-margin: #{$grid-gutter-x * .5},\n    --card-body-gap: #{$spacer * .5},\n  ),\n  $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n  .card {\n    @include tokens($card-tokens);\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n\n    .card-header,\n    .card-footer {\n      background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n  (\n    --carousel-control-color: #{$white},\n    --carousel-control-width: 15%,\n    --carousel-control-opacity: .5,\n    --carousel-control-hover-opacity: .9,\n    --carousel-control-transition: opacity .15s ease,\n    --carousel-control-icon-filter: none,\n    --carousel-indicator-width: 30px,\n    --carousel-indicator-height: 3px,\n    --carousel-indicator-hit-area-height: 10px,\n    --carousel-indicator-spacer: 3px,\n    --carousel-indicator-opacity: .5,\n    --carousel-indicator-active-bg: var(--white),\n    --carousel-indicator-active-opacity: 1,\n    --carousel-indicator-transition: opacity .6s ease,\n    --carousel-caption-width: 70%,\n    --carousel-caption-color: var(--white),\n    --carousel-caption-padding-y: 1.25rem,\n    --carousel-caption-spacer: 1.25rem,\n    --carousel-control-icon-width: 2rem,\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n    --carousel-transition-duration: .6s,\n    --carousel-transition: transform .6s ease-in-out,\n  ),\n  $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n  (\n    --carousel-indicator-active-bg: #{$black},\n    --carousel-caption-color: #{$black},\n    --carousel-control-icon-filter: invert(1) grayscale(100),\n  ),\n  $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n    @include tokens($carousel-tokens);\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition(var(--carousel-transition));\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s var(--carousel-transition-duration));\n    }\n  }\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    @include transition(var(--carousel-control-transition));\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: var(--carousel-control-color);\n      text-decoration: none;\n      outline: 0;\n      opacity: var(--carousel-control-hover-opacity);\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: var(--carousel-indicator-width);\n      height: var(--carousel-indicator-height);\n      padding: 0;\n      margin-inline: var(--carousel-indicator-spacer);\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n      opacity: var(--carousel-indicator-opacity);\n      @include transition(var(--carousel-indicator-transition));\n    }\n\n    .active {\n      opacity: var(--carousel-indicator-active-opacity);\n    }\n  }\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * .5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * .5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    @include tokens($carousel-dark-tokens);\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n  (\n    --datepicker-padding: 1rem,\n    --datepicker-bg: var(--bg-body),\n    --datepicker-color: var(--fg-body),\n    --datepicker-border-color: var(--border-color-translucent),\n    --datepicker-border-width: var(--border-width),\n    --datepicker-border-radius: var(--border-radius-lg),\n    --datepicker-box-shadow: var(--box-shadow),\n    --datepicker-font-size: var(--font-size-sm),\n    --datepicker-min-width: 280px,\n    --datepicker-zindex: #{$zindex-menu},\n    --datepicker-header-font-weight: 600,\n    --datepicker-weekday-color: var(--fg-3),\n    --datepicker-day-hover-bg: var(--bg-1),\n    --datepicker-day-selected-bg: var(--primary-bg),\n    --datepicker-day-selected-color: var(--primary-contrast),\n    --datepicker-day-today-bg: var(--bg-2),\n    --datepicker-day-today-color: var(--fg-1),\n    --datepicker-day-disabled-color: var(--fg-4),\n  ),\n  $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    @include tokens($datepicker-tokens);\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    @include border-radius(var(--datepicker-border-radius));\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    pointer-events: none;\n  }\n\n  [data-vc-dates=\"row\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n// Entry and exit animations use @starting-style and transition-behavior: allow-discrete\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n  (\n    --dialog-padding: 1rem,\n    --dialog-width: 500px,\n    --dialog-margin: 1.75rem,\n    --dialog-color: var(--fg-body),\n    --dialog-bg: var(--bg-body),\n    --dialog-border-color: var(--border-color-translucent),\n    --dialog-border-width: var(--border-width),\n    --dialog-border-radius: var(--border-radius-lg),\n    --dialog-box-shadow: var(--box-shadow-lg),\n    --dialog-transition-duration: .2s,\n    --dialog-transition-timing: ease-out,\n    --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n    --dialog-backdrop-blur: 8px,\n    --dialog-header-padding: 1rem,\n    --dialog-header-border-color: var(--border-color),\n    --dialog-header-border-width: var(--border-width),\n    --dialog-footer-padding: 1rem,\n    --dialog-footer-border-color: var(--border-color),\n    --dialog-footer-border-width: var(--border-width),\n    --dialog-footer-gap: .5rem,\n  ),\n  $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n  (\n    sm: 280px,\n    lg: 800px,\n    xl: 1140px,\n  ),\n  $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    @include tokens($dialog-tokens);\n\n    // Override UA display:none so visibility controls the hidden state,\n    // enabling reliable cross-browser exit animations after close().\n    display: block;\n\n    // Position and center without relying on top-layer, so the dialog\n    // remains centered during the exit animation after leaving the top layer.\n    position: fixed;\n    inset: 0;\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    visibility: hidden;\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Exit state: faded out\n    opacity: 0;\n\n    // Exit transition: opacity fades out, then visibility flips hidden\n    // after the opacity completes (via the delay matching the duration).\n    transition:\n      opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n      transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n      visibility 0s var(--dialog-transition-duration);\n\n    // Open state: visible and faded in.\n    // Entry transition: visibility flips visible immediately (0s, no delay),\n    // then opacity and transform animate in.\n    &[open] {\n      visibility: visible;\n      opacity: 1;\n      transform: none;\n      transition:\n        opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n        transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n        visibility 0s;\n    }\n\n    // Slide-down variant: enters from top, exits to bottom.\n    // The base transform is the EXIT position (below viewport).\n    // @starting-style overrides this for ENTRY (above viewport).\n    &.dialog-slide-down {\n      transform: translateY(100vh);\n    }\n\n    // Slide-up variant: enters from bottom, exits to top.\n    // The base transform is the EXIT position (above viewport).\n    // @starting-style overrides this for ENTRY (below viewport).\n    &.dialog-slide-up {\n      transform: translateY(-100vh);\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Native ::backdrop — tokens must be applied directly since ::backdrop\n  // lives in the top layer and doesn't inherit custom properties.\n  .dialog::backdrop {\n    @include tokens($dialog-tokens);\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n  }\n\n  // Entry animations via @starting-style.\n  // Slide variants need this because the base transform is the EXIT position,\n  // but entry must start from the opposite direction.\n  // ::backdrop also needs it since it only exists in the top layer.\n  // stylelint-disable-next-line at-rule-no-unknown\n  @starting-style {\n    .dialog.dialog-slide-down[open] {\n      transform: translateY(-100vh);\n    }\n\n    .dialog.dialog-slide-up[open] {\n      transform: translateY(100vh);\n    }\n\n    .dialog::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n\n  // Dialog sizes\n  @each $size, $value in $dialog-sizes {\n    .dialog-#{$size} { --dialog-width: #{$value}; }\n  }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @if $prefix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n  (\n    --menu-zindex: #{$zindex-menu},\n    --menu-gap: .125rem,\n    --menu-min-width: 10rem,\n    --menu-padding-x: .25rem,\n    --menu-padding-y: .25rem,\n    --menu-spacer: .125rem,\n    --menu-font-size: var(--font-size-sm),\n    --menu-color: var(--fg-body),\n    --menu-bg: var(--bg-body),\n    // --menu-border-color: var(--border-color-translucent),\n    // --menu-border-radius: var(--border-radius-lg),\n    // --menu-border-width: var(--border-width),\n    --menu-box-shadow: var(--box-shadow),\n    // --menu-max-height: none,\n    --menu-divider-bg: var(--border-color-translucent),\n    --menu-divider-margin-y: .125rem,\n    --menu-divider-margin-x: .25rem,\n    --menu-item-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-bg: var(--bg-1),\n    --menu-item-active-color: var(--primary-contrast),\n    --menu-item-active-bg: var(--primary-bg),\n    --menu-item-disabled-color: var(--fg-3),\n    --menu-item-gap: .5rem,\n    --menu-item-padding-x: .75rem,\n    --menu-item-padding-y: .25rem,\n    --menu-item-border-radius: var(--border-radius),\n    --menu-icon-size: 1rem,\n    --menu-image-size: 1.5rem,\n    --menu-description-font-size: var(--font-size-xs),\n    --menu-check-color: currentcolor,\n    --menu-header-color: var(--fg-3),\n    --menu-header-padding-x: .75rem,\n    --menu-header-padding-y: .25rem,\n  ),\n  $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n  .menu {\n    @include tokens($menu-tokens);\n\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n    @include box-shadow(var(--menu-box-shadow));\n\n    &.show {\n      display: flex;\n    }\n  }\n\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    @include border-radius(var(--menu-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--theme-text, var(--menu-item-hover-color));\n      @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n    }\n\n    &.active,\n    &:active {\n      color: var(--theme-contrast, var(--menu-item-active-color));\n      @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n      .menu-item-icon {\n        color: inherit !important; // stylelint-disable-line declaration-no-important\n      }\n    }\n\n    &.selected {\n      font-weight: $font-weight-semibold;\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--menu-item-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: .125rem;\n  }\n\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    @include border-radius(var(--border-radius-sm));\n  }\n\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: .125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n\n    .selected > & {\n      visibility: visible;\n    }\n  }\n\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // scss-docs-start submenu\n  .submenu {\n    position: relative;\n\n    > .menu-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .menu-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    > .menu {\n      top: 0;\n      margin-top: calc(-1 * var(--menu-padding-y));\n    }\n\n    &:hover > .menu-item,\n    &:focus-within > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n\n    &.show > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n  }\n\n  // Mobile stacking: submenu covers the parent menu in-place\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      @include border-radius(0);\n      box-shadow: none;\n    }\n\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n\n      &::before {\n        display: inline-block;\n        flex-shrink: 0;\n        width: .375em;\n        height: .375em;\n        content: \"\";\n        border-color: currentcolor;\n        border-style: solid;\n        border-width: .125em 0 0 .125em;\n        transform: rotate(-45deg);\n\n        [dir=\"rtl\"] & {\n          border-width: 0 .125em .125em 0;\n        }\n      }\n    }\n\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: .3;\n    }\n  }\n  // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n  (\n    --list-group-color: var(--fg-body),\n    --list-group-bg: var(--bg-body),\n    --list-group-border-color: var(--border-color),\n    --list-group-border-width: var(--border-width),\n    --list-group-border-radius: var(--border-radius),\n    --list-group-item-padding-x: #{$spacer},\n    --list-group-item-padding-y: #{$spacer * .5},\n    --list-group-action-color: var(--fg-2),\n    --list-group-action-hover-color: var(--fg-1),\n    --list-group-action-hover-bg: var(--bg-1),\n    --list-group-action-active-color: var(--fg-body),\n    --list-group-action-active-bg: var(--bg-2),\n    --list-group-disabled-color: var(--fg-3),\n    --list-group-disabled-bg: var(--bg-body),\n    --list-group-active-color: var(--primary-contrast),\n    --list-group-active-bg: var(--primary-bg),\n    --list-group-active-border-color: var(--primary-bg),\n  ),\n  $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n  .list-group {\n    @include tokens($list-group-tokens);\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n    text-decoration: none;\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}list-group-horizontal {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n  (\n    --nav-gap: .125rem,\n    --nav-link-gap: .5rem,\n    --nav-link-align: center,\n    --nav-link-justify: center,\n    --nav-link-padding-x: .75rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--fg-2),\n    --nav-link-hover-color: var(--fg-1),\n    --nav-link-hover-bg: var(--bg-1),\n    --nav-link-active-color: var(--fg-body),\n    --nav-link-active-bg: var(--bg-2),\n    --nav-link-disabled-color: var(--fg-4),\n    --nav-link-border-width: var(--border-width),\n    --nav-link-transition-property: \"color, background-color, border-color\",\n    --nav-link-transition-timing: .15s ease-in-out,\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n  ),\n  $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n  (\n    --nav-tabs-border-width: var(--border-width),\n    --nav-tabs-border-color: var(--border-color),\n    --nav-tabs-border-radius: var(--border-radius),\n    --nav-tabs-link-hover-border-color: var(--border-subtle),\n    --nav-tabs-link-active-color: var(--fg-color),\n    --nav-tabs-link-active-bg: var(--bg-body),\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n  ),\n  $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n  (\n    --nav-pills-link-active-color: var(--primary-contrast),\n    --nav-pills-link-active-bg: var(--primary-bg),\n  ),\n  $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n  (\n    --nav-gap: 1rem,\n    --nav-link-active-bg: transparent,\n    --nav-underline-border-width: .125rem,\n    --nav-underline-link-active-color: var(--fg-color),\n  ),\n  $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    @include tokens($nav-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    @include border-radius(var(--border-radius));\n    @include transition(var(--nav-link-transition));\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    @include tokens($nav-tabs-tokens);\n    // scss-docs-end nav-tabs-css-vars\n\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n    .nav-link {\n      border: var(--nav-tabs-border-width) solid transparent;\n      border-bottom-color: var(--nav-tabs-border-color);\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .menu {\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      @include border-top-radius(0);\n    }\n  }\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    @include tokens($nav-pills-tokens);\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    @include tokens($nav-underline-tokens);\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0; // Allow flex child to shrink below content width\n  }\n\n  // Container item for overflow\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n\n  // Hide items that have been moved to overflow\n  .nav-overflow [data-bs-nav-overflow=\"true\"] {\n    display: none;\n  }\n\n  // Preserve items that should never overflow\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n  (\n    --navbar-padding-x: 0,\n    --navbar-padding-y: .5rem,\n    --navbar-color: var(--fg-2),\n    --navbar-hover-color: var(--fg-1),\n    --navbar-disabled-color: var(--fg-3),\n    --navbar-active-color: var(--fg-body),\n    --navbar-brand-padding-y: .75rem,\n    --navbar-brand-margin-end: 1rem,\n    --navbar-brand-font-size: var(--font-size-md),\n    --navbar-brand-font-weight: var(--font-weight-medium),\n    --navbar-brand-color: var(--fg-body),\n    --navbar-brand-hover-color: var(--fg-body),\n    --navbar-nav-link-padding-x: .75rem,\n    --navbar-toggler-width: 2rem,\n    --navbar-toggler-padding-y: .25rem,\n    --navbar-toggler-padding-x: .75rem,\n    --navbar-toggler-font-size: var(--font-size-lg),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    --navbar-toggler-border-radius: var(--border-radius),\n    --navbar-toggler-transition: box-shadow .15s ease-in-out,\n  ),\n  $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n  (\n    --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n    --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n    --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n    --navbar-active-color: var(--white),\n    --navbar-brand-color: var(--white),\n    --navbar-brand-hover-color: var(--white),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n  ),\n  $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n  (\n    --nav-gap: .25rem,\n    --nav-link-gap: .5rem,\n    --nav-link-padding-x: .5rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--navbar-color),\n    --nav-link-border-width: var(--border-width),\n    //--nav-link-border-color: var(--border-color),\n    --nav-link-hover-color: var(--navbar-hover-color),\n    --nav-link-hover-bg: transparent,\n    --nav-link-active-color: var(--navbar-active-color),\n    --nav-link-active-bg: transparent,\n    --nav-link-disabled-color: var(--navbar-disabled-color),\n  ),\n  $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  // Base navbar\n  .navbar {\n    @include tokens($navbar-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include set-container();\n    color: var(--navbar-color, var(--fg-body));\n    @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n    // Container properties for nested containers\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n  // Navigation within navbars. Sets all nav-link CSS variables needed for\n  // proper styling.\n  //\n  // Relies on `.nav` base class.\n  .navbar-nav {\n    @include tokens($navbar-nav-tokens);\n\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n        border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n      }\n    }\n  }\n\n  // Navbar text\n  //\n  // For adding text or inline elements to the navbar\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus {\n      color: var(--navbar-active-color);\n    }\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of responsive `.navbar-expand` classes for configuring\n  // where your navbar collapses and expands. Uses container queries so the\n  // navbar responds to its own width, not the viewport width.\n\n  // Mixin for expanded state styles (applied to descendants)\n  @mixin navbar-expanded {\n    // Style the inner container since we can't style .navbar itself with container queries\n    > .container,\n    > .container-fluid,\n    %navbar-expand-container {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n\n    .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n\n    .navbar-toggler {\n      display: none !important; // stylelint-disable-line declaration-no-important\n    }\n\n    .offcanvas {\n      // stylelint-disable declaration-no-important\n      display: flex !important; // Override native <dialog> display:none\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      @include box-shadow(none);\n      @include transition(none);\n      // stylelint-enable declaration-no-important\n\n      .offcanvas-header {\n        display: none;\n      }\n\n      .offcanvas-body {\n        display: flex;\n        flex-grow: 0;\n        flex-direction: row;\n        align-items: center;\n        padding: 0;\n        overflow-y: visible;\n      }\n    }\n  }\n\n  // Always expanded (no responsive behavior)\n  .navbar-expand {\n    @include navbar-expanded();\n\n    // Also set on navbar itself for non-responsive case\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n\n  // Responsive navbar expand classes using container queries\n  @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}navbar-expand {\n        @include container-breakpoint-up($next) {\n          @include navbar-expanded();\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Prevent offcanvas flash on breakpoint crossing.\n  // When the navbar crosses from expanded (inline) to collapsed (drawer),\n  // the offcanvas transitions from visibility:visible to visibility:hidden.\n  // Without this override, the slide transition plays — briefly showing the\n  // panel sliding away. Disabling transitions when not [open] ensures only\n  // intentional show/hide actions animate.\n  // stylelint-disable-next-line no-duplicate-selectors\n  .navbar {\n    .offcanvas:not([open]) {\n      transition: none !important; // stylelint-disable-line declaration-no-important\n    }\n  }\n\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n\n    &::before {\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      content: \"\";\n      background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n      background-image: none;\n      backdrop-filter: blur(5px) saturate(180%);\n    }\n  }\n\n  .navbar[data-bs-theme=\"dark\"] {\n    @include tokens($navbar-dark-tokens);\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$offcanvas-tokens: () !default;\n\n// scss-docs-start offcanvas-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-tokens: defaults(\n  (\n    --offcanvas-inset: var(--spacer),\n    --offcanvas-zindex: #{$zindex-offcanvas},\n    --offcanvas-width: 400px,\n    --offcanvas-height: 30vh,\n    --offcanvas-padding-x: var(--spacer),\n    --offcanvas-padding-y: var(--spacer),\n    --offcanvas-color: var(--fg-body),\n    --offcanvas-bg: var(--bg-body),\n    --offcanvas-border-width: var(--border-width),\n    --offcanvas-border-color: var(--border-color-translucent),\n    --offcanvas-border-radius: var(--border-radius-lg),\n    --offcanvas-box-shadow: var(--box-shadow-lg),\n    --offcanvas-transition-duration: .3s,\n    --offcanvas-transition-timing: cubic-bezier(.22, 1, .36, 1),\n    --offcanvas-title-line-height: 1.5,\n  ),\n  $offcanvas-tokens\n);\n// scss-docs-end offcanvas-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$offcanvas-backdrop-tokens: () !default;\n\n// scss-docs-start offcanvas-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$offcanvas-backdrop-tokens: defaults(\n  (\n    --offcanvas-backdrop-bg: var(--bg-body),\n    --offcanvas-backdrop-opacity: 25%,\n    --offcanvas-backdrop-blur: 8px,\n  ),\n  $offcanvas-backdrop-tokens\n);\n// scss-docs-end offcanvas-backdrop-tokens\n\n%offcanvas-css-vars {\n  @include tokens($offcanvas-tokens);\n}\n\n// stylelint-disable no-duplicate-selectors, declaration-no-important\n\n@layer components {\n  // Apply CSS vars to all offcanvas responsive variants\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}offcanvas {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  // Responsive offcanvas styles\n  // Built on native <dialog> — uses showModal()/close() for drawer behavior.\n  //\n  // Uses display:flex + visibility:hidden (not display:none) so that standard\n  // CSS transitions handle entry/exit without transition-behavior: allow-discrete.\n  // This avoids a flash when crossing responsive breakpoints, because the\n  // allow-discrete display transition would keep the element visible with\n  // below-breakpoint styles when resizing from above to below the breakpoint.\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}offcanvas {\n      @include media-breakpoint-down($next) {\n        // Reset native <dialog> UA defaults (fit-content sizing, inset, margins)\n        // and override display:none so visibility controls the hidden state instead.\n        inset: auto;\n        display: flex;\n        width: auto;\n        height: auto;\n        margin: 0;\n        padding: 0;\n\n        // Hidden by default — visibility (not display) controls show/hide so\n        // that transform transitions can play for both entry and exit.\n        position: fixed;\n        z-index: var(--offcanvas-zindex);\n        flex-direction: column;\n        max-width: calc(100% - var(--offcanvas-inset) * 2);\n        max-height: calc(100% - var(--offcanvas-inset) * 2);\n        color: var(--offcanvas-color);\n        visibility: hidden;\n        background-color: var(--offcanvas-bg);\n        background-clip: padding-box;\n        border: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n        @include border-radius(var(--offcanvas-border-radius));\n        outline: 0;\n        @include box-shadow(var(--offcanvas-box-shadow));\n\n        // Exit transition: transform slides out, then visibility flips hidden\n        // after the transform completes (via the delay matching the duration).\n        transition:\n          transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing),\n          visibility 0s var(--offcanvas-transition-duration);\n\n        // Placement transforms (off-screen) — this is the default/exit state.\n        // Transforms include the inset so the element fully clears the viewport.\n        &:where(.offcanvas-start) {\n          inset-block: var(--offcanvas-inset);\n          inset-inline-start: var(--offcanvas-inset);\n          width: var(--offcanvas-width);\n          transform: translateX(calc(-100% - var(--offcanvas-inset)));\n\n          :root:dir(rtl) & {\n            transform: translateX(calc(100% + var(--offcanvas-inset)));\n          }\n        }\n\n        &:where(.offcanvas-end) {\n          inset-block: var(--offcanvas-inset);\n          inset-inline-end: var(--offcanvas-inset);\n          width: var(--offcanvas-width);\n          transform: translateX(calc(100% + var(--offcanvas-inset)));\n\n          :root:dir(rtl) & {\n            transform: translateX(calc(-100% - var(--offcanvas-inset)));\n          }\n        }\n\n        &:where(.offcanvas-top) {\n          inset: var(--offcanvas-inset) var(--offcanvas-inset) auto;\n          height: var(--offcanvas-height);\n          transform: translateY(calc(-100% - var(--offcanvas-inset)));\n        }\n\n        &:where(.offcanvas-bottom) {\n          inset: auto var(--offcanvas-inset) var(--offcanvas-inset);\n          height: var(--offcanvas-height);\n          transform: translateY(calc(100% + var(--offcanvas-inset)));\n        }\n\n        &:where(.offcanvas-fullscreen) {\n          inset: var(--offcanvas-inset);\n          width: auto;\n          max-width: none;\n          height: auto;\n          max-height: none;\n          transform: translateY(calc(100% + var(--offcanvas-inset)));\n        }\n\n        // Open state: visible and on-screen.\n        // Entry transition: visibility flips visible immediately (0s, no delay),\n        // then transform slides in.\n        &[open] {\n          visibility: visible;\n          transform: none;\n          transition:\n            transform var(--offcanvas-transition-duration) var(--offcanvas-transition-timing),\n            visibility 0s;\n        }\n      }\n\n      // Above breakpoint - show content inline (for responsive offcanvas).\n      // Must fully reset all drawer styles so the element behaves as an\n      // inline flex container within its parent (e.g., a navbar).\n      @if not ($prefix == \"\") {\n        @include media-breakpoint-up($next) {\n          // stylelint-disable declaration-no-important\n          display: flex !important; // Override native <dialog> display:none\n          position: static !important;\n          z-index: auto;\n          flex-grow: 1;\n          inset: auto;\n          width: auto !important;\n          height: auto !important;\n          max-width: none;\n          max-height: none;\n          margin: 0;\n          padding: 0;\n          --offcanvas-height: auto;\n          --offcanvas-border-width: 0;\n          visibility: visible !important;\n          background-color: transparent !important;\n          border: 0 !important;\n          @include border-radius(0);\n          @include box-shadow(none);\n          transform: none !important;\n          transition: none !important;\n          // stylelint-enable declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            flex-direction: row;\n            align-items: center;\n            padding: 0;\n            overflow-y: visible;\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  // Native ::backdrop for modal offcanvas.\n  // ::backdrop lives in the top layer outside the DOM tree, so it does NOT\n  // inherit custom properties from the element. Tokens must be applied\n  // directly on ::backdrop itself.\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}offcanvas::backdrop {\n      @include tokens($offcanvas-backdrop-tokens);\n      @include tokens($offcanvas-tokens);\n      background-color: color-mix(in oklch, var(--offcanvas-backdrop-bg) var(--offcanvas-backdrop-opacity), transparent);\n      backdrop-filter: blur(var(--offcanvas-backdrop-blur));\n      transition:\n        background-color var(--offcanvas-transition-duration) var(--offcanvas-transition-timing),\n        backdrop-filter var(--offcanvas-transition-duration) var(--offcanvas-transition-timing),\n        display var(--offcanvas-transition-duration) allow-discrete,\n        overlay var(--offcanvas-transition-duration) allow-discrete;\n    }\n  }\n\n  // Backdrop entry animation — ::backdrop can safely use @starting-style\n  // since it only exists when the dialog is in the top layer (no responsive issue).\n  // stylelint-disable-next-line at-rule-no-unknown\n  @starting-style {\n    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n      .#{$prefix}offcanvas::backdrop {\n        background-color: transparent;\n        backdrop-filter: blur(0);\n      }\n    }\n  }\n\n  .offcanvas-translucent {\n    background-color: color-mix(in oklch, var(--offcanvas-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  // Static backdrop transition (\"bounce\")\n  .offcanvas-static {\n    transform: scale(1.02);\n  }\n\n  // Header with close button\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n    }\n  }\n\n  // Title\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n\n  // Scrollable body\n  .offcanvas-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    gap: var(--offcanvas-padding-y);\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n\n  // Optional footer\n  .offcanvas-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: .5rem;\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n  }\n\n  .offcanvas-fit-content {\n    inset-block-end: auto;\n  }\n}\n\n// stylelint-enable no-duplicate-selectors, declaration-no-important\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n  (\n    --pagination-min-height: var(--btn-input-min-height),\n    --pagination-padding-x: var(--btn-input-padding-x),\n    --pagination-padding-y: var(--btn-input-padding-y),\n    --pagination-font-size: var(--btn-input-font-size),\n    --pagination-color: var(--link-color),\n    --pagination-bg: var(--bg-body),\n    --pagination-border-width: var(--border-width),\n    --pagination-border-color: var(--border-color),\n    --pagination-border-radius: var(--btn-input-border-radius),\n    --pagination-hover-color: var(--link-hover-color),\n    --pagination-hover-bg: var(--bg-1),\n    --pagination-hover-border-color: var(--border-color),\n    --pagination-focus-color: var(--link-hover-color),\n    --pagination-focus-bg: var(--bg-2),\n    --pagination-active-color: var(--primary-contrast),\n    --pagination-active-bg: var(--primary-bg),\n    --pagination-active-border-color: var(--primary-bg),\n    --pagination-disabled-color: var(--fg-3),\n    --pagination-disabled-bg: var(--bg-2),\n    --pagination-disabled-border-color: var(--border-color),\n  ),\n  $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .pagination {\n    @include tokens($pagination-tokens);\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: calc(-1 * var(--pagination-border-width));\n    }\n\n    &:first-child {\n      .page-link {\n        @include border-start-radius(var(--pagination-border-radius));\n      }\n    }\n\n    &:last-child {\n      .page-link {\n        @include border-end-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n  //\n  // Sizing\n  //\n\n  // scss-docs-start pagination-sizes-loop\n  @each $size, $_ in $pagination-sizes {\n    .pagination-#{$size} {\n      --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n      --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n      --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n      --pagination-font-size: var(--btn-input-#{$size}-font-size);\n      --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n  (\n    --placeholder-opacity-max: .5,\n    --placeholder-opacity-min: .2,\n  ),\n  $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n  .placeholder {\n    @include tokens($placeholder-tokens);\n\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n  (\n    --popover-zindex: #{$zindex-popover},\n    --popover-max-width: 280px,\n    --popover-font-size: var(--font-size-sm),\n    --popover-bg: var(--bg-body),\n    --popover-border-width: var(--border-width),\n    --popover-border-color: var(--border-color-translucent),\n    --popover-border-radius: var(--border-radius-lg),\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --popover-box-shadow: var(--box-shadow),\n    --popover-header-padding-x: #{$spacer},\n    --popover-header-padding-y: #{$spacer * .75},\n    --popover-header-font-size: var(--font-size-sm),\n    --popover-header-color: #{$headings-color},\n    --popover-header-bg: var(--bg-1),\n    --popover-body-padding-x: #{$spacer},\n    --popover-body-padding-y: #{$spacer * .75},\n    --popover-body-color: var(--fg-body),\n    --popover-arrow-width: 1rem,\n    --popover-arrow-height: .5rem,\n    --popover-arrow-border: var(--popover-border-color),\n  ),\n  $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    @include tokens($popover-tokens);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n  (\n    --progress-height: 1rem,\n    --progress-font-size: var(--font-size-sm),\n    --progress-bg: var(--bg-2),\n    --progress-border-radius: var(--border-radius),\n    --progress-box-shadow: var(--box-shadow-inset),\n    --progress-bar-color: var(--white),\n    --progress-bar-bg: var(--primary-bg),\n    --progress-bar-transition: width .6s ease,\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n  ),\n  $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    @include tokens($progress-tokens);\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: var(--progress-bar-animation);\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-border-width: .25em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-border,\n  ),\n  $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-grow,\n  ),\n  $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n  // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    @include tokens($spinner-border-tokens);\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    @include tokens($spinner-grow-tokens);\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    // scss-docs-start spinner-grow-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    // scss-docs-end spinner-grow-sm-css-vars\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: 1.5s;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n  (\n    --stepper-size: 2rem,\n    --stepper-gap: 1rem,\n    --stepper-font-size: var(--font-size-sm),\n    --stepper-text-gap: .5rem,\n    --stepper-track-size: .125rem,\n    --stepper-bg: var(--bg-2),\n    --stepper-active-color: var(--primary-contrast),\n    --stepper-active-bg: var(--primary-bg),\n  ),\n  $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n\n  .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n\n    &::after {\n      inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n\n    &:last-child::after {\n      right: 100%;\n    }\n  }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n  .stepper {\n    @include tokens($stepper-tokens);\n\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n\n    // The counter\n    &::before {\n      position: relative;\n      z-index: 1;\n      display: flex;\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      width: var(--stepper-size);\n      height: var(--stepper-size);\n      padding: .5rem;\n      font-size: var(--stepper-font-size);\n      font-weight: 600;\n      line-height: 1;\n      text-align: center;\n      content: counter(stepper);\n      counter-increment: stepper;\n      background-color: var(--stepper-bg);\n      @include border-radius(50%);\n    }\n\n    // Connecting lines\n    &::after {\n      position: absolute;\n      inset-block-start: 50%;\n      inset-block-end: 100%;\n      inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      width: var(--stepper-track-size);\n      height: calc(100% + var(--stepper-gap));\n      content: \"\";\n      background-color: var(--stepper-bg);\n    }\n\n    // Avoid sibling selector for easier CSS overrides\n    &:last-child::after {\n      display: none;\n    }\n\n    &.active {\n      &::before,\n      &::after {\n        color: var(--theme-contrast, var(--stepper-active-color));\n        background-color: var(--theme-bg, var(--stepper-active-bg));\n      }\n    }\n  }\n\n  // Targets the last .active element from a sequence of active elements\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n\n  .stepper-horizontal {\n    @include stepper-horizontal();\n  }\n\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}stepper-horizontal {\n        @include container-breakpoint-up($next) {\n          @include stepper-horizontal();\n        }\n      }\n    }\n  }\n\n  // scss-docs-start stepper-overflow\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n\n    > .stepper {\n      width: max-content;\n      min-width: 100%;\n    }\n  }\n  // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n  (\n    --toast-zindex: #{$zindex-toast},\n    --toast-padding-x: .75rem,\n    --toast-padding-y: .5rem,\n    --toast-spacing: #{$container-padding-x},\n    --toast-max-width: 350px,\n    --toast-font-size: .875rem,\n    --toast-color: null,\n    --toast-bg: rgba(var(--body-bg-rgb), .85),\n    --toast-border-width: var(--border-width),\n    --toast-border-color: var(--border-color-translucent),\n    --toast-border-radius: var(--border-radius),\n    --toast-box-shadow: var(--box-shadow),\n    --toast-header-color: var(--fg-3),\n    --toast-header-bg: rgba(var(--body-bg-rgb), .85),\n    --toast-header-border-color: var(--border-color-translucent),\n  ),\n  $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n  .toast {\n    @include tokens($toast-tokens);\n\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--toast-padding-x));\n    }\n  }\n\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"],"names":[]}
\ No newline at end of file
+{"version":3,"sourceRoot":null,"mappings":"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","sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/mixins/_tokens.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_config.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/forms/_combobox.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/forms/_form-variables.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/mixins/_color-mode.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/mixins/_dialog-shared.scss","../../scss/_menu.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_nav-overflow.scss","../../scss/_navbar.scss","../../scss/_drawer.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, var(--white) 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, var(--white) 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, var(--white) 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, var(--white) 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, var(--white) 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, var(--white) 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, var(--black) 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, var(--black) 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, var(--black) 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, var(--black) 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, var(--black) 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, var(--black) 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, var(--white) 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, var(--white) 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, var(--white) 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, var(--white) 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, var(--white) 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, var(--white) 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, var(--black) 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, var(--black) 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, var(--black) 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, var(--black) 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, var(--black) 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, var(--black) 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, var(--white) 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, var(--white) 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, var(--white) 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, var(--white) 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, var(--white) 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, var(--white) 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, var(--black) 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, var(--black) 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, var(--black) 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, var(--black) 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, var(--black) 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, var(--black) 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, var(--white) 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, var(--white) 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, var(--white) 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, var(--white) 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, var(--white) 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, var(--white) 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, var(--black) 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, var(--black) 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, var(--black) 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, var(--black) 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, var(--black) 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, var(--black) 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, var(--white) 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, var(--white) 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, var(--white) 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, var(--white) 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, var(--white) 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, var(--white) 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, var(--black) 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, var(--black) 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, var(--black) 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, var(--black) 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, var(--black) 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, var(--black) 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, var(--white) 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, var(--white) 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, var(--white) 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, var(--white) 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, var(--white) 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, var(--white) 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, var(--black) 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, var(--black) 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, var(--black) 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, var(--black) 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, var(--black) 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, var(--black) 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, var(--white) 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, var(--white) 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, var(--white) 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, var(--white) 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, var(--white) 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, var(--white) 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, var(--black) 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, var(--black) 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, var(--black) 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, var(--black) 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, var(--black) 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, var(--black) 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, var(--white) 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, var(--white) 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, var(--white) 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, var(--white) 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, var(--white) 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, var(--white) 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, var(--black) 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, var(--black) 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, var(--black) 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, var(--black) 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, var(--black) 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, var(--black) 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, var(--white) 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, var(--white) 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, var(--white) 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, var(--white) 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, var(--white) 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, var(--white) 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, var(--black) 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, var(--black) 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, var(--black) 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, var(--black) 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, var(--black) 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, var(--black) 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent));\n  --font-weight-lighter: lighter;\n  --font-weight-light: 300;\n  --font-weight-normal: 400;\n  --font-weight-medium: 500;\n  --font-weight-semibold: 600;\n  --font-weight-bold: 700;\n  --font-weight-bolder: bolder;\n  --body-font-family: system-ui;\n  --body-font-size: var(--font-size-base);\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;\n  --code-font-size: 95%;\n  --code-color: var(--fg-2);\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-xs: 0.375rem;\n  --border-radius-sm: 0.5rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --spacer: 1rem;\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --control-checked-bg: var(--primary-base);\n  --control-checked-border-color: var(--control-checked-bg);\n  --control-active-bg: var(--primary-base);\n  --control-active-border-color: var(--control-active-bg);\n  --control-disabled-bg: var(--bg-3);\n  --control-disabled-opacity: 0.65;\n  --btn-input-fg: var(--fg-body);\n  --btn-input-bg: var(--bg-body);\n  --btn-input-min-height: 2.375rem;\n  --btn-input-padding-y: 0.375rem;\n  --btn-input-padding-x: 0.75rem;\n  --btn-input-font-size: var(--font-size-base);\n  --btn-input-line-height: var(--line-height-base);\n  --btn-input-border-radius: var(--border-radius);\n  --btn-input-xs-min-height: 1.5rem;\n  --btn-input-xs-padding-y: 0.125rem;\n  --btn-input-xs-padding-x: 0.5rem;\n  --btn-input-xs-font-size: var(--font-size-xs);\n  --btn-input-xs-line-height: 1.125;\n  --btn-input-xs-border-radius: var(--border-radius-xs);\n  --btn-input-sm-min-height: 2rem;\n  --btn-input-sm-padding-y: 0.25rem;\n  --btn-input-sm-padding-x: 0.625rem;\n  --btn-input-sm-font-size: var(--font-size-sm);\n  --btn-input-sm-line-height: var(--line-height-sm);\n  --btn-input-sm-border-radius: var(--border-radius-sm);\n  --btn-input-lg-min-height: 2.75rem;\n  --btn-input-lg-padding-y: 0.5rem;\n  --btn-input-lg-padding-x: 1rem;\n  --btn-input-lg-font-size: var(--font-size-md);\n  --btn-input-lg-line-height: var(--line-height-md);\n  --btn-input-lg-border-radius: var(--border-radius-lg);\n  --form-valid-color: var(--success-text);\n  --form-valid-border-color: var(--success-text);\n  --form-invalid-color: var(--danger-text);\n  --form-invalid-border-color: var(--danger-text);\n  --font-size-xs: 0.75rem;\n  --line-height-xs: 1.25;\n  --font-size-sm: 0.875rem;\n  --line-height-sm: 1.5;\n  --font-size-md: 1rem;\n  --line-height-md: 1.5;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --line-height-lg: 1.5;\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --line-height-xl: 1.4285714286;\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --line-height-2xl: 1.3333333333;\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --line-height-3xl: 1.2;\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --line-height-4xl: 1.1;\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --line-height-5xl: 1.1;\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-6xl: 1;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n  color-scheme: light dark;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=light] {\n  color-scheme: light;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  blockquote > * {\n    margin-block: 0;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n  mark,\n  .mark {\n    --mark-padding: 0.1875em;\n    --mark-color: var(--fg-body);\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900));\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, 0.75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    --kbd-padding-y: 0.125rem;\n    --kbd-padding-x: 0.25rem;\n    --kbd-font-size: var(--font-size-xs);\n    --kbd-color: var(--bg-body);\n    --kbd-bg: var(--fg-2);\n    --kbd-border-radius: var(--border-radius-sm);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    border-radius: var(--kbd-border-radius);\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: var(--list-inline-padding, var(--spacer)/2);\n  }\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n  .blockquote {\n    --blockquote-gap: calc(var(--spacer) / 2);\n    --blockquote-padding-x: var(--spacer);\n    --blockquote-margin-y: 1rem;\n    --blockquote-font-size: var(--font-size-md);\n    --blockquote-border-width: 0.25rem;\n    --blockquote-border-color: var(--border-color);\n    --blockquote-footer-font-size: var(--font-size-sm);\n    --blockquote-footer-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n  }\n  .blockquote > * {\n    margin-bottom: 0;\n  }\n  figure.blockquote blockquote {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-cell-padding-y: 0.5rem;\n    --table-cell-padding-x: 0.5rem;\n    --table-cell-vertical-align: top;\n    --table-color: var(--fg-body);\n    --table-bg: var(--bg-body);\n    --table-accent-bg: transparent;\n    --table-border-width: var(--border-width);\n    --table-border-color: var(--border-color);\n    --table-group-separator-color: currentcolor;\n    --table-striped-color: var(--table-color);\n    --table-striped-bg-factor: 5%;\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent);\n    --table-active-color: var(--table-color);\n    --table-active-bg-factor: 10%;\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent);\n    --table-hover-color: var(--table-color);\n    --table-hover-bg-factor: 7.5%;\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent);\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--table-border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    --table-cell-padding-y: .25rem;\n    --table-cell-padding-x: .25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--table-border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--table-border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n  }\n  .table-responsive {\n    container-type: inline-size;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .sm\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 576px) {\n    .sm\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .md\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 768px) {\n    .md\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .lg\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 1024px) {\n    .lg\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .xl\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 1280px) {\n    .xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .\\32 xl\\:table-responsive {\n    container-type: inline-size;\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:table-responsive {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  .table-stacked > thead {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    padding: 0;\n    margin: -1px;\n    overflow: hidden;\n    clip: rect(0, 0, 0, 0);\n    white-space: nowrap;\n    border: 0;\n  }\n  .table-stacked > tbody > tr {\n    display: block;\n    padding-block: var(--table-cell-padding-y);\n  }\n  .table-stacked > tbody > tr + tr {\n    border-block-start: var(--table-border-width) solid var(--table-border-color);\n  }\n  .table-stacked > tbody > tr > td {\n    display: block;\n    padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n    border: 0;\n  }\n  .table-stacked > tbody > tr > td:first-child {\n    font-weight: var(--font-weight-bold);\n  }\n  .table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n    display: block;\n    font-weight: var(--font-weight-semibold);\n    content: attr(data-cell);\n  }\n  .table-stacked > tbody > tr > td:not(:first-child) + td::before {\n    margin-block-start: 0.25rem;\n  }\n  @container (width < 576px) {\n    .sm\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .sm\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .sm\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .sm\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .sm\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .sm\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .sm\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 768px) {\n    .md\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .md\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .md\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .md\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .md\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .md\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .md\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 1024px) {\n    .lg\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .lg\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .lg\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .lg\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .lg\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .lg\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .lg\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 1280px) {\n    .xl\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .xl\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .xl\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .xl\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .xl\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .xl\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .xl\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n  @container (width < 1536px) {\n    .\\32 xl\\:table-stacked > thead {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n    .\\32 xl\\:table-stacked > tbody > tr {\n      display: block;\n      padding-block: var(--table-cell-padding-y);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr + tr {\n      border-block-start: var(--table-border-width) solid var(--table-border-color);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td {\n      display: block;\n      padding: calc(var(--table-cell-padding-y) * 0.25) calc(var(--table-cell-padding-x) * 2);\n      border: 0;\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td:first-child {\n      font-weight: var(--font-weight-bold);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td[data-cell]:not(:first-child)::before {\n      display: block;\n      font-weight: var(--font-weight-semibold);\n      content: attr(data-cell);\n    }\n    .\\32 xl\\:table-stacked > tbody > tr > td:not(:first-child) + td::before {\n      margin-block-start: 0.25rem;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    --thumbnail-padding: 0.25rem;\n    --thumbnail-bg: var(--bg-body);\n    --thumbnail-border-width: var(--border-width);\n    --thumbnail-border-color: var(--border-color);\n    --thumbnail-border-radius: var(--border-radius);\n    --thumbnail-box-shadow: var(--box-shadow-sm);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    border-radius: var(--thumbnail-border-radius);\n    box-shadow: var(--thumbnail-box-shadow);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    --figure-gap: calc(var(--spacer) * 0.5);\n    --figure-caption-font-size: var(--font-size-sm);\n    --figure-caption-color: var(--fg-3);\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: 1rem;\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose :where(hr):not(:where(.not-prose, .not-prose *)) {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.75);\n  }\n  .prose :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n    margin-top: calc(var(--content-gap) * 0.5);\n  }\n  .prose :where(h1):not(:where(.not-prose, .not-prose *)) {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose :where(h2):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.75em;\n  }\n  .prose :where(h3):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.5em;\n  }\n  .prose :where(h4):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.25em;\n  }\n  .prose :where(h5):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1.125em;\n  }\n  .prose :where(h6):not(:where(.not-prose, .not-prose *)) {\n    font-size: 1em;\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      transition: none;\n    }\n  }\n  .prose :where(a:not([class])):not(:where(.not-prose, .not-prose *)):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose :where(img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n  .prose :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose :where(table):not(:where(.not-prose, .not-prose *)) {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) td,\n  .prose :where(table:not([class])):not(:where(.not-prose, .not-prose *)) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose :where(dt):not(:where(.not-prose, .not-prose *)) {\n    font-weight: 500;\n  }\n  .prose :where(video, img):not(:where(.not-prose, .not-prose *)) {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .\\32 xl\\:container,\n  .xl\\:container,\n  .lg\\:container,\n  .md\\:container,\n  .sm\\:container {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .sm\\:container, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:container, .sm\\:container, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:container, .xl\\:container, .lg\\:container, .md\\:container, .sm\\:container, .container {\n      max-width: 1440px;\n    }\n  }\n}\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 0.75rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 0.75rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 1.25rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 1.25rem;\n  }\n  .g-6,\n  .gx-6 {\n    --gutter-x: 1.5rem;\n  }\n  .g-6,\n  .gy-6 {\n    --gutter-y: 1.5rem;\n  }\n  .g-7,\n  .gx-7 {\n    --gutter-x: 2rem;\n  }\n  .g-7,\n  .gy-7 {\n    --gutter-y: 2rem;\n  }\n  .g-8,\n  .gx-8 {\n    --gutter-x: 2.5rem;\n  }\n  .g-8,\n  .gy-8 {\n    --gutter-y: 2.5rem;\n  }\n  .g-9,\n  .gx-9 {\n    --gutter-x: 3rem;\n  }\n  .g-9,\n  .gy-9 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .sm\\:col {\n      flex: 1 0 0;\n    }\n    .sm\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .sm\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .sm\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .sm\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .sm\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .sm\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .sm\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .sm\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .sm\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .sm\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .sm\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .sm\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .sm\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .sm\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .sm\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .sm\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .sm\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .sm\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .sm\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .sm\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .sm\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .sm\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .sm\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .sm\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .sm\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .sm\\:g-0,\n    .sm\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .sm\\:g-0,\n    .sm\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .sm\\:g-1,\n    .sm\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .sm\\:g-1,\n    .sm\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .sm\\:g-2,\n    .sm\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .sm\\:g-3,\n    .sm\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .sm\\:g-4,\n    .sm\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .sm\\:g-5,\n    .sm\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .sm\\:g-6,\n    .sm\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .sm\\:g-7,\n    .sm\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .sm\\:g-8,\n    .sm\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .sm\\:g-9,\n    .sm\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:col {\n      flex: 1 0 0;\n    }\n    .md\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .md\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .md\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .md\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .md\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .md\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .md\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .md\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .md\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .md\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .md\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .md\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .md\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .md\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .md\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .md\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .md\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .md\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .md\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .md\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .md\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .md\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .md\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .md\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .md\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .md\\:g-0,\n    .md\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .md\\:g-0,\n    .md\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .md\\:g-1,\n    .md\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .md\\:g-1,\n    .md\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .md\\:g-2,\n    .md\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .md\\:g-2,\n    .md\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .md\\:g-3,\n    .md\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .md\\:g-3,\n    .md\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .md\\:g-4,\n    .md\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .md\\:g-4,\n    .md\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .md\\:g-5,\n    .md\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .md\\:g-5,\n    .md\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .md\\:g-6,\n    .md\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .md\\:g-6,\n    .md\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .md\\:g-7,\n    .md\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .md\\:g-7,\n    .md\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .md\\:g-8,\n    .md\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .md\\:g-8,\n    .md\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .md\\:g-9,\n    .md\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .md\\:g-9,\n    .md\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:col {\n      flex: 1 0 0;\n    }\n    .lg\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .lg\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .lg\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .lg\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .lg\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .lg\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .lg\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .lg\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .lg\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .lg\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .lg\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .lg\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .lg\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .lg\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .lg\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .lg\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .lg\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .lg\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .lg\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .lg\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .lg\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .lg\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .lg\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .lg\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .lg\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .lg\\:g-0,\n    .lg\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .lg\\:g-0,\n    .lg\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .lg\\:g-1,\n    .lg\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .lg\\:g-1,\n    .lg\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .lg\\:g-2,\n    .lg\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .lg\\:g-3,\n    .lg\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .lg\\:g-4,\n    .lg\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .lg\\:g-5,\n    .lg\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .lg\\:g-6,\n    .lg\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .lg\\:g-7,\n    .lg\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .lg\\:g-8,\n    .lg\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .lg\\:g-9,\n    .lg\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:col {\n      flex: 1 0 0;\n    }\n    .xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .xl\\:g-0,\n    .xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .xl\\:g-0,\n    .xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .xl\\:g-1,\n    .xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .xl\\:g-1,\n    .xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .xl\\:g-2,\n    .xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .xl\\:g-3,\n    .xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .xl\\:g-4,\n    .xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .xl\\:g-5,\n    .xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .xl\\:g-6,\n    .xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .xl\\:g-7,\n    .xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .xl\\:g-8,\n    .xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .xl\\:g-9,\n    .xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:col {\n      flex: 1 0 0;\n    }\n    .\\32 xl\\:row-cols-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:row-cols-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:row-cols-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:row-cols-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:row-cols-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:row-cols-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .\\32 xl\\:row-cols-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .\\32 xl\\:col-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .\\32 xl\\:col-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .\\32 xl\\:col-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .\\32 xl\\:col-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .\\32 xl\\:col-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .\\32 xl\\:col-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .\\32 xl\\:col-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .\\32 xl\\:col-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .\\32 xl\\:col-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .\\32 xl\\:col-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .\\32 xl\\:col-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .\\32 xl\\:col-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .\\32 xl\\:offset-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:offset-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .\\32 xl\\:offset-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .\\32 xl\\:offset-3 {\n      margin-inline-start: 25%;\n    }\n    .\\32 xl\\:offset-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .\\32 xl\\:offset-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .\\32 xl\\:offset-6 {\n      margin-inline-start: 50%;\n    }\n    .\\32 xl\\:offset-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .\\32 xl\\:offset-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .\\32 xl\\:offset-9 {\n      margin-inline-start: 75%;\n    }\n    .\\32 xl\\:offset-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .\\32 xl\\:offset-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gx-0 {\n      --gutter-x: 0;\n    }\n    .\\32 xl\\:g-0,\n    .\\32 xl\\:gy-0 {\n      --gutter-y: 0;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gx-1 {\n      --gutter-x: 0.25rem;\n    }\n    .\\32 xl\\:g-1,\n    .\\32 xl\\:gy-1 {\n      --gutter-y: 0.25rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gx-2 {\n      --gutter-x: 0.5rem;\n    }\n    .\\32 xl\\:g-2,\n    .\\32 xl\\:gy-2 {\n      --gutter-y: 0.5rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gx-3 {\n      --gutter-x: 0.75rem;\n    }\n    .\\32 xl\\:g-3,\n    .\\32 xl\\:gy-3 {\n      --gutter-y: 0.75rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gx-4 {\n      --gutter-x: 1rem;\n    }\n    .\\32 xl\\:g-4,\n    .\\32 xl\\:gy-4 {\n      --gutter-y: 1rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gx-5 {\n      --gutter-x: 1.25rem;\n    }\n    .\\32 xl\\:g-5,\n    .\\32 xl\\:gy-5 {\n      --gutter-y: 1.25rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gx-6 {\n      --gutter-x: 1.5rem;\n    }\n    .\\32 xl\\:g-6,\n    .\\32 xl\\:gy-6 {\n      --gutter-y: 1.5rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gx-7 {\n      --gutter-x: 2rem;\n    }\n    .\\32 xl\\:g-7,\n    .\\32 xl\\:gy-7 {\n      --gutter-y: 2rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gx-8 {\n      --gutter-x: 2.5rem;\n    }\n    .\\32 xl\\:g-8,\n    .\\32 xl\\:gy-8 {\n      --gutter-y: 2.5rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gx-9 {\n      --gutter-x: 3rem;\n    }\n    .\\32 xl\\:g-9,\n    .\\32 xl\\:gy-9 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .sm\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .sm\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .sm\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .sm\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .sm\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .sm\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .sm\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .sm\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .sm\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .sm\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .sm\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .sm\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .sm\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .sm\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .sm\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .sm\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .sm\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .sm\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .sm\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .sm\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .sm\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .sm\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .sm\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .md\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .md\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .md\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .md\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .md\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .md\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .md\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .md\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .md\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .md\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .md\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .md\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .md\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .md\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .md\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .md\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .md\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .md\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .md\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .md\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .md\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .md\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .lg\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .lg\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .lg\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .lg\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .lg\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .lg\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .lg\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .lg\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .lg\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .lg\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .lg\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .lg\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .lg\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .lg\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .lg\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .lg\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .lg\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .lg\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .lg\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .lg\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .lg\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .lg\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:g-col-1 {\n      grid-column: auto/span 1;\n    }\n    .\\32 xl\\:g-col-2 {\n      grid-column: auto/span 2;\n    }\n    .\\32 xl\\:g-col-3 {\n      grid-column: auto/span 3;\n    }\n    .\\32 xl\\:g-col-4 {\n      grid-column: auto/span 4;\n    }\n    .\\32 xl\\:g-col-5 {\n      grid-column: auto/span 5;\n    }\n    .\\32 xl\\:g-col-6 {\n      grid-column: auto/span 6;\n    }\n    .\\32 xl\\:g-col-7 {\n      grid-column: auto/span 7;\n    }\n    .\\32 xl\\:g-col-8 {\n      grid-column: auto/span 8;\n    }\n    .\\32 xl\\:g-col-9 {\n      grid-column: auto/span 9;\n    }\n    .\\32 xl\\:g-col-10 {\n      grid-column: auto/span 10;\n    }\n    .\\32 xl\\:g-col-11 {\n      grid-column: auto/span 11;\n    }\n    .\\32 xl\\:g-col-12 {\n      grid-column: auto/span 12;\n    }\n    .\\32 xl\\:g-start-1 {\n      grid-column-start: 1;\n    }\n    .\\32 xl\\:g-start-2 {\n      grid-column-start: 2;\n    }\n    .\\32 xl\\:g-start-3 {\n      grid-column-start: 3;\n    }\n    .\\32 xl\\:g-start-4 {\n      grid-column-start: 4;\n    }\n    .\\32 xl\\:g-start-5 {\n      grid-column-start: 5;\n    }\n    .\\32 xl\\:g-start-6 {\n      grid-column-start: 6;\n    }\n    .\\32 xl\\:g-start-7 {\n      grid-column-start: 7;\n    }\n    .\\32 xl\\:g-start-8 {\n      grid-column-start: 8;\n    }\n    .\\32 xl\\:g-start-9 {\n      grid-column-start: 9;\n    }\n    .\\32 xl\\:g-start-10 {\n      grid-column-start: 10;\n    }\n    .\\32 xl\\:g-start-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0;\n  }\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n@layer forms {\n  .form-text {\n    --form-text-margin-top: 0.25rem;\n    --form-text-font-size: var(--font-size-sm);\n    --form-text-color: var(--fg-3);\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: var(--btn-input-min-height);\n    --control-padding-y: var(--btn-input-padding-y);\n    --control-padding-x: var(--btn-input-padding-x);\n    --control-font-size: var(--btn-input-font-size);\n    --control-line-height: var(--btn-input-line-height);\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-box-shadow: var(--box-shadow-inset);\n    --control-action-bg: var(--bg-1);\n    --control-action-hover-bg: var(--bg-2);\n    --control-transition-property: border-color, box-shadow;\n    --control-transition-timing: 0.15s ease-in-out;\n    --control-transition: var(--control-transition-property) var(--control-transition-timing);\n    --control-placeholder-color: var(--fg-3);\n    --control-disabled-color: var(--control-fg);\n    --control-disabled-bg: var(--bg-2);\n    --control-disabled-border-color: var(--control-border-color);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    --control-select-bg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--control-box-shadow);\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::placeholder {\n    color: var(--control-placeholder-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    color: var(--control-disabled-color);\n    background-color: var(--control-disabled-bg);\n    border-color: var(--control-disabled-border-color);\n    opacity: 1;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    height: 1.5rem;\n    padding: 0;\n    margin-bottom: -0.125rem;\n  }\n  .form-control::-webkit-datetime-edit-fields-wrapper {\n    height: 1.5rem;\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-action-bg);\n    background-image: var(--gradient);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: var(--control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--control-action-hover-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0;\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  .form-control-sm {\n    --control-min-height: var(--btn-input-sm-min-height);\n    --control-padding-y: var(--btn-input-sm-padding-y);\n    --control-padding-x: var(--btn-input-sm-padding-x);\n    --control-font-size: var(--btn-input-sm-font-size);\n    --control-line-height: var(--btn-input-sm-line-height);\n    --control-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .form-control-lg {\n    --control-min-height: var(--btn-input-lg-min-height);\n    --control-padding-y: var(--btn-input-lg-padding-y);\n    --control-padding-x: var(--btn-input-lg-padding-x);\n    --control-font-size: var(--btn-input-lg-font-size);\n    --control-line-height: var(--btn-input-lg-line-height);\n    --control-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius-sm);\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .checkgroup .description {\n    color: var(--fg-3);\n  }\n  .check {\n    --check-size: 1.25rem;\n    --check-margin-block: 0.125rem;\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-border-radius: 0.375rem;\n    --check-checked-bg: var(--control-checked-bg);\n    --check-checked-border-color: var(--control-checked-border-color);\n    --check-indeterminate-bg: var(--control-checked-bg);\n    --check-indeterminate-border-color: var(--control-checked-border-color);\n    --check-active-bg: var(--control-active-bg);\n    --check-active-border-color: var(--control-active-border-color);\n    --check-disabled-bg: var(--control-disabled-bg);\n    --check-disabled-opacity: var(--control-disabled-opacity);\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: var(--check-size);\n    height: var(--check-size);\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.3em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--theme-contrast, var(--primary-contrast));\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--fg-3);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  .radiogroup .description {\n    color: var(--fg-3);\n  }\n  .radio {\n    --radio-size: 1.25rem;\n    --radio-margin-block: 0.125rem;\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--control-checked-bg);\n    --radio-checked-border-color: var(--control-checked-border-color);\n    --radio-disabled-bg: var(--control-disabled-bg);\n    --radio-disabled-opacity: var(--control-disabled-opacity);\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: 0.0625rem;\n    --switch-margin-block: 0.125rem;\n    --switch-bg: var(--bg-3);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--control-checked-bg);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--control-disabled-bg);\n    --switch-disabled-indicator-bg: var(--fg-3);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--theme-contrast, var(--switch-indicator-bg));\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n@layer forms {\n  .form-range {\n    --range-track-width: 100%;\n    --range-track-height: 0.5rem;\n    --range-track-cursor: pointer;\n    --range-track-bg: var(--bg-3);\n    --range-track-border-radius: 1rem;\n    --range-track-box-shadow: var(--box-shadow-inset);\n    --range-thumb-width: 1rem;\n    --range-thumb-height: var(--range-thumb-width);\n    --range-thumb-bg: var(--primary-base);\n    --range-thumb-border: var(--range-thumb-bg) solid var(--border-color);\n    --range-thumb-border-radius: 1rem;\n    --range-thumb-box-shadow: 0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%);\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body));\n    --range-thumb-disabled-bg: var(--fg-3);\n    --range-thumb-transition-property: background-color, border-color, box-shadow;\n    --range-thumb-transition-timing: 0.15s ease-in-out;\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing);\n    width: 100%;\n    height: calc(var(--range-thumb-height) + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:hover::-webkit-slider-thumb {\n    outline: var(--focus-ring-width) solid color-mix(in oklch, var(--primary-focus-ring), transparent);\n  }\n  .form-range:hover::-moz-range-thumb {\n    outline: var(--focus-ring-width) solid color-mix(in oklch, var(--primary-focus-ring), transparent);\n  }\n  .form-range:focus-visible {\n    outline: 0;\n  }\n  .form-range:focus-visible::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 0;\n  }\n  .form-range:focus-visible::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 0;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    background-image: var(--gradient);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n    background-image: var(--gradient);\n  }\n  .form-range::-webkit-slider-thumb {\n    margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * 0.5);\n  }\n  .form-range::-moz-range-thumb {\n    width: var(--range-thumb-width);\n    height: var(--range-thumb-height);\n    appearance: none;\n    background-color: var(--range-thumb-bg);\n    background-image: var(--gradient);\n    border: var(--range-thumb-border);\n    border-radius: var(--range-thumb-border-radius);\n    box-shadow: var(--range-thumb-box-shadow);\n    transition: var(--range-thumb-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: var(--range-thumb-active-bg);\n    background-image: var(--gradient);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range::-moz-range-track {\n    width: var(--range-track-width);\n    height: var(--range-track-height);\n    color: transparent;\n    cursor: var(--range-track-cursor);\n    background-color: var(--range-track-bg);\n    border-color: transparent;\n    border-radius: var(--range-track-border-radius);\n    box-shadow: var(--range-track-box-shadow);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--range-thumb-disabled-bg);\n  }\n}\n@layer forms {\n  .form-floating {\n    --form-floating-height: calc(3.5rem + var(--border-width) * 2);\n    --form-floating-line-height: 1.25;\n    --form-floating-padding-x: var(--btn-input-padding-x);\n    --form-floating-padding-y: 1rem;\n    --form-floating-input-padding-t: 1.625rem;\n    --form-floating-input-padding-b: 0.625rem;\n    --form-floating-label-height: 1.5em;\n    --form-floating-label-opacity: 0.65;\n    --form-floating-label-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n    --form-floating-label-disabled-color: var(--fg-3);\n    --form-floating-transition-property: opacity, transform;\n    --form-floating-transition-timing: 0.1s ease-in-out;\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing);\n    position: relative;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    max-width: 100%;\n    height: 100%;\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    overflow: hidden;\n    color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--input-btn-border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: var(--form-floating-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    height: var(--form-floating-height);\n    min-height: var(--form-floating-height);\n    padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n    line-height: var(--form-floating-line-height);\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: var(--form-floating-input-padding-t);\n    padding-bottom: var(--form-floating-input-padding-b);\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: var(--form-floating-label-transform);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * 0.5);\n    z-index: -1;\n    height: var(--form-floating-label-height);\n    content: \"\";\n    background-color: var(--control-bg);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--control-disabled-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--control-border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--form-floating-label-disabled-color);\n  }\n}\n@layer components {\n  .input-group {\n    --input-group-addon-padding-y: var(--btn-input-padding-y);\n    --input-group-addon-padding-x: var(--btn-input-padding-x);\n    --input-group-addon-font-size: var(--btn-input-font-size);\n    --input-group-addon-line-height: var(--btn-input-line-height);\n    --input-group-addon-color: var(--fg-body);\n    --input-group-addon-bg: var(--bg-2);\n    --input-group-addon-border-color: var(--border-color);\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group > .input-group-btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group > .input-group-btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size);\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    border-radius: var(--btn-input-border-radius);\n  }\n  .input-group-sm > .form-control,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    min-height: var(--btn-input-sm-min-height);\n    padding: var(--btn-input-sm-padding-y) var(--btn-input-sm-padding-x);\n    font-size: var(--btn-input-sm-font-size);\n    border-radius: var(--btn-input-sm-border-radius);\n  }\n  .input-group-lg > .form-control,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    min-height: var(--btn-input-lg-min-height);\n    padding: var(--btn-input-lg-padding-y) var(--btn-input-lg-padding-x);\n    font-size: var(--btn-input-lg-font-size);\n    border-radius: var(--btn-input-lg-border-radius);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group:not(.has-validation) > .menu-toggle-split:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n  .input-group.has-validation > .menu-toggle-split:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n  }\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-margin-top: 0.25rem;\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-bg: var(--bg-2);\n    --strength-color: var(--bg-2);\n    --strength-weak-color: var(--danger-bg);\n    --strength-fair-color: var(--warning-bg);\n    --strength-good-color: var(--info-bg);\n    --strength-strong-color: var(--success-bg);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--strength-weak-color);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--strength-fair-color);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--strength-good-color);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--strength-strong-color);\n    --strength-width: 100%;\n  }\n}\n@layer components {\n  .otp {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-font-size);\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n    border-radius: var(--otp-border-radius, var(--btn-input-border-radius));\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: var(--btn-input-sm-min-height);\n    --otp-font-size: var(--btn-input-sm-font-size);\n    --otp-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .otp-lg {\n    --otp-size: var(--btn-input-lg-min-height);\n    --otp-font-size: var(--btn-input-lg-font-size);\n    --otp-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer forms {\n  .form-adorn {\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    gap: var(--form-adorn-gap);\n    align-items: center;\n  }\n  .form-adorn:focus-visible {\n    outline: 0;\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n@layer forms {\n  .chip-input {\n    --chip-input-padding-y: 0.75rem;\n    --chip-input-padding-x: 0.75rem;\n    --chip-input-gap: 0.375rem;\n    --chip-input-ghost-min-width: 5rem;\n    --control-fg: var(--btn-input-fg);\n    --control-bg: var(--btn-input-bg);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n  }\n  .chip-input:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--focus-ring-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .chip-input > .form-ghost {\n    flex: 1 1 0;\n    min-width: var(--chip-input-ghost-min-width);\n    min-height: 1.75rem;\n  }\n  .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n    background-color: var(--bg-2);\n    opacity: 1;\n  }\n  .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n    opacity: var(--control-disabled-opacity);\n  }\n  .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n    pointer-events: none;\n  }\n  .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n    cursor: not-allowed;\n  }\n}\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n  }\n  .combobox-toggle.show {\n    background-color: var(--bg-1);\n  }\n  .combobox-toggle:disabled, .combobox-toggle.disabled {\n    cursor: not-allowed;\n    opacity: 0.65;\n  }\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: 0.5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .combobox-caret {\n    flex-shrink: 0;\n    transition: transform 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .combobox-caret {\n      transition: none;\n    }\n  }\n  .show > .combobox-caret {\n    transform: rotate(180deg);\n  }\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, 0.25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n  .combobox-search-input {\n    width: 100%;\n  }\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer components {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--success-contrast);\n    background-color: var(--success-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--success-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a748' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:valid:focus-visible, .form-control.is-valid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--success-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--success-border);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--success-border);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: var(--font-size-xs);\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: var(--danger-contrast);\n    background-color: var(--danger-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--danger-border);\n    padding-inline-end: calc(var(--control-padding-x) * 3.5);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dd0d37'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dd0d37' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right var(--control-padding-x) center;\n    background-size: 1rem;\n  }\n  .was-validated .form-control:invalid:focus-visible, .form-control.is-invalid:focus-visible {\n    outline: var(--focus-ring-width) solid var(--danger-focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    border-color: var(--danger-border);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    background-position: right var(--control-padding-x) top var(--control-padding-x);\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--danger-border);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: var(--btn-input-min-height);\n    --btn-padding-x: var(--btn-input-padding-x);\n    --btn-padding-y: var(--btn-input-padding-y);\n    --btn-font-size: var(--btn-input-font-size);\n    --btn-font-weight: var(--btn-input-font-weight);\n    --btn-line-height: var(--btn-input-line-height);\n    --btn-color: var(--fg-body);\n    --btn-white-space: nowrap;\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    --btn-transition-timing: 0.15s ease-in-out;\n    --btn-transition-property: color, background-color, border-color, box-shadow;\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing);\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: var(--btn-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn, .btn-link, .btn-icon, .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover, .btn-link:hover, .btn-icon:hover, .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible, .btn-link:focus-visible, .btn-icon:focus-visible, .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show, .btn-link.active, .btn-link.show, .btn-icon.active, .btn-icon.show, .btn-solid.active, .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible, .btn-link.active:focus-visible, .btn-link.show:focus-visible, .btn-icon.active:focus-visible, .btn-icon.show:focus-visible, .btn-solid.active:focus-visible, .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn, .btn-link:disabled, .btn-link.disabled, fieldset:disabled .btn-link, .btn-icon:disabled, .btn-icon.disabled, fieldset:disabled .btn-icon, .btn-solid:disabled, .btn-solid.disabled, fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    background-image: none;\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n    background-image: none;\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: var(--btn-input-xs-min-height);\n    --btn-padding-y: var(--btn-input-xs-padding-y);\n    --btn-padding-x: var(--btn-input-xs-padding-x);\n    --btn-font-size: var(--btn-input-xs-font-size);\n    --btn-line-height: var(--btn-input-xs-line-height);\n    --btn-border-radius: var(--btn-input-xs-border-radius);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: var(--btn-input-sm-min-height);\n    --btn-padding-y: var(--btn-input-sm-padding-y);\n    --btn-padding-x: var(--btn-input-sm-padding-x);\n    --btn-font-size: var(--btn-input-sm-font-size);\n    --btn-line-height: var(--btn-input-sm-line-height);\n    --btn-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: var(--btn-input-lg-min-height);\n    --btn-padding-y: var(--btn-input-lg-padding-y);\n    --btn-padding-x: var(--btn-input-lg-padding-x);\n    --btn-font-size: var(--btn-input-lg-font-size);\n    --btn-line-height: var(--btn-input-lg-line-height);\n    --btn-border-radius: var(--btn-input-lg-border-radius);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    background-image: none;\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    background-image: none;\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgba(255, 255, 255, 0.125);\n    --btn-gradient-end: rgba(0, 0, 0, 0.075);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--btn-border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--btn-border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(:has(+ .menu)),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: inherit;\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus-visible {\n    opacity: var(--btn-close-focus-opacity);\n    outline: var(--focus-ring);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-padding-x: 1.25rem;\n    --accordion-padding-y: 1rem;\n    --accordion-color: var(--fg-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition-property: color, background-color, border-radius;\n    --accordion-transition-timing: .15s ease-in-out;\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--bg-body);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert > p {\n    margin-bottom: 0;\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .avatar {\n    --avatar-size: 2.5rem;\n    --avatar-border-radius: 50%;\n    --avatar-border-width: 2px;\n    --avatar-border-color: var(--bg-body);\n    --avatar-bg: var(--bg-2);\n    --avatar-color: var(--fg-body);\n    --avatar-status-size: 0.75rem;\n    --avatar-status-border-width: 2px;\n    --avatar-status-border-color: var(--bg-body);\n    --avatar-stack-spacing: -0.3;\n    --avatar-stack-transition: transform .2s ease-in-out;\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * 0.4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    border-radius: var(--avatar-border-radius);\n  }\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: inherit;\n  }\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    border-radius: 50%;\n  }\n  .avatar-status.status-online {\n    background-color: var(--green-500);\n  }\n  .avatar-status.status-offline {\n    background-color: var(--gray-400);\n    border-radius: 20%;\n  }\n  .avatar-status.status-busy {\n    background-color: var(--red-500);\n    border-radius: 20%;\n  }\n  .avatar-status.status-away {\n    background-color: var(--yellow-500);\n  }\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n  }\n  .avatar-stack .avatar {\n    margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n    border: var(--avatar-border-width) solid var(--avatar-border-color);\n    mask-image: none;\n    transition: var(--avatar-stack-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .avatar-stack .avatar {\n      transition: none;\n    }\n  }\n  .avatar-stack .avatar:last-child {\n    margin-left: 0;\n  }\n  .avatar-stack .avatar:hover {\n    z-index: 1;\n    transform: translateY(-2px);\n  }\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: 1.5rem;\n    --avatar-status-size: 0.625rem;\n  }\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: 2rem;\n  }\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: 3rem;\n    --avatar-status-size: 1rem;\n  }\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: 4rem;\n    --avatar-status-size: 1.25rem;\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: var(--font-weight-semibold);\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: var(--border-width);\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n    background-image: var(--gradient);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: inherit;\n    --breadcrumb-bg: transparent;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .chip {\n    --chip-height: 1.75rem;\n    --chip-padding-x: 0.625rem;\n    --chip-gap: 0.3125rem;\n    --chip-border-radius: var(--border-radius-pill);\n    --chip-img-size: 1.25rem;\n    --chip-icon-size: 1rem;\n    --chip-dismiss-size: 1rem;\n    --chip-dismiss-opacity: 0.65;\n    --chip-dismiss-hover-opacity: 1;\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    border-radius: var(--chip-border-radius);\n  }\n  .chip:hover {\n    --chip-bg: var(--theme-bg-muted, var(--bg-3));\n  }\n  .chip:focus-visible {\n    outline: 0;\n  }\n  .chip.active {\n    --chip-color: var(--chip-selected-color);\n    --chip-bg: var(--chip-selected-bg);\n    --chip-border-color: var(--chip-selected-border-color);\n  }\n  .chip.active:hover {\n    --chip-bg: var(--chip-selected-bg);\n    opacity: 0.9;\n  }\n  .chip.disabled, .chip:disabled {\n    pointer-events: none;\n    opacity: 0.65;\n  }\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    border-radius: 50%;\n  }\n  .chip-img:first-child {\n    margin-inline-start: -0.375rem;\n  }\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -0.25);\n  }\n  .chip-icon > svg {\n    display: block;\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n  }\n  .chip-icon > img {\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n    object-fit: cover;\n    border-radius: 50%;\n  }\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n  }\n  .chip-dismiss:hover {\n    opacity: var(--chip-dismiss-hover-opacity);\n  }\n  .chip-dismiss:focus-visible {\n    outline: 0;\n    opacity: 1;\n    outline: var(--focus-ring);\n  }\n  .chip-dismiss > svg {\n    display: block;\n    width: var(--chip-dismiss-size);\n    height: var(--chip-dismiss-size);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: inherit;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: none;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: inherit;\n    --card-height: auto;\n    --card-color: inherit;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .card-translucent .card-header,\n  .card-translucent .card-footer {\n    background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n    --carousel-control-color: #fff;\n    --carousel-control-width: 15%;\n    --carousel-control-opacity: 0.5;\n    --carousel-control-hover-opacity: 0.9;\n    --carousel-control-transition: opacity 0.15s ease;\n    --carousel-control-icon-filter: none;\n    --carousel-indicator-width: 30px;\n    --carousel-indicator-height: 3px;\n    --carousel-indicator-hit-area-height: 10px;\n    --carousel-indicator-spacer: 3px;\n    --carousel-indicator-opacity: 0.5;\n    --carousel-indicator-active-bg: var(--white);\n    --carousel-indicator-active-opacity: 1;\n    --carousel-indicator-transition: opacity 0.6s ease;\n    --carousel-caption-width: 70%;\n    --carousel-caption-color: var(--white);\n    --carousel-caption-padding-y: 1.25rem;\n    --carousel-caption-spacer: 1.25rem;\n    --carousel-control-icon-width: 2rem;\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n    --carousel-transition-duration: 0.6s;\n    --carousel-transition: transform 0.6s ease-in-out;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: var(--carousel-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s var(--carousel-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    transition: var(--carousel-control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: var(--carousel-control-color);\n    text-decoration: none;\n    outline: 0;\n    opacity: var(--carousel-control-hover-opacity);\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: var(--carousel-indicator-width);\n    height: var(--carousel-indicator-height);\n    padding: 0;\n    margin-inline: var(--carousel-indicator-spacer);\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n    opacity: var(--carousel-indicator-opacity);\n    transition: var(--carousel-indicator-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: var(--carousel-indicator-active-opacity);\n  }\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * 0.5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * 0.5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  @media (prefers-color-scheme: dark) {\n    :root {\n      --carousel-indicator-active-bg: #000;\n      --carousel-caption-color: #000;\n      --carousel-control-icon-filter: invert(1) grayscale(100);\n    }\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n    border-radius: var(--datepicker-border-radius);\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    pointer-events: none;\n  }\n  [data-vc-dates=row] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-transition-duration: 0.3s;\n    --dialog-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-backdrop-blur: 8px;\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    display: flex;\n    flex-direction: column;\n    width: var(--dialog-width);\n    max-width: 100%;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    overflow: visible;\n    color: var(--dialog-color);\n    visibility: hidden;\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog:not(.dialog-instant) {\n    opacity: 0;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), visibility 0s var(--dialog-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog:not(.dialog-instant) {\n      transition: none;\n    }\n  }\n  .dialog:not(.dialog-instant).dialog-slide-down {\n    transform: translateY(3rem);\n  }\n  .dialog:not(.dialog-instant).dialog-slide-up {\n    transform: translateY(-3rem);\n  }\n  .dialog:not(.dialog-instant)[open] {\n    overflow: visible;\n    visibility: visible;\n    opacity: 1;\n    transition: opacity var(--dialog-transition-duration) var(--dialog-transition-timing), transform var(--dialog-transition-duration) var(--dialog-transition-timing), visibility 0s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog:not(.dialog-instant)[open] {\n      transition: none;\n    }\n  }\n  .dialog:not(.dialog-instant)[open] {\n    transform: none;\n  }\n  .dialog:not(.dialog-instant).dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog:not(.dialog-instant)::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n    transition: background-color var(--dialog-transition-duration) var(--dialog-transition-timing), backdrop-filter var(--dialog-transition-duration) var(--dialog-transition-timing), display var(--dialog-transition-duration) allow-discrete, overlay var(--dialog-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog:not(.dialog-instant)::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.dialog-instant::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n    backdrop-filter: blur(var(--dialog-backdrop-blur));\n  }\n  .dialog[open] {\n    overflow: visible;\n    visibility: visible;\n    opacity: 1;\n    transform: none;\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  @starting-style {\n    .dialog:not(.dialog-instant).dialog-slide-down[open] {\n      opacity: 0;\n      transform: translateY(-3rem);\n    }\n    .dialog:not(.dialog-instant).dialog-slide-up[open] {\n      opacity: 0;\n      transform: translateY(3rem);\n    }\n    .dialog:not(.dialog-instant)::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .sm-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .md-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl-down\\:dialog-fullscreen {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    line-height: 1.5;\n    font-size: var(--font-size-md);\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .menu {\n    --menu-zindex: 1000;\n    --menu-gap: 0.125rem;\n    --menu-min-width: 10rem;\n    --menu-padding-x: 0.25rem;\n    --menu-padding-y: 0.25rem;\n    --menu-spacer: 0.125rem;\n    --menu-font-size: var(--font-size-sm);\n    --menu-color: var(--fg-body);\n    --menu-bg: var(--bg-body);\n    --menu-box-shadow: var(--box-shadow);\n    --menu-divider-bg: var(--border-color-translucent);\n    --menu-divider-margin-y: 0.125rem;\n    --menu-divider-margin-x: 0.25rem;\n    --menu-item-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-color: var(--menu-color, var(--fg-body));\n    --menu-item-hover-bg: var(--bg-1);\n    --menu-item-active-color: var(--primary-contrast);\n    --menu-item-active-bg: var(--primary-bg);\n    --menu-item-disabled-color: var(--fg-3);\n    --menu-item-gap: 0.5rem;\n    --menu-item-padding-x: 0.75rem;\n    --menu-item-padding-y: 0.25rem;\n    --menu-item-border-radius: var(--border-radius);\n    --menu-icon-size: 1rem;\n    --menu-image-size: 1.5rem;\n    --menu-description-font-size: var(--font-size-xs);\n    --menu-check-color: currentcolor;\n    --menu-header-color: var(--fg-3);\n    --menu-header-padding-x: 0.75rem;\n    --menu-header-padding-y: 0.25rem;\n    --menu-transition-duration: 0.15s;\n    --menu-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    border-radius: var(--menu-border-radius, var(--border-radius-lg));\n    box-shadow: var(--menu-box-shadow);\n    opacity: 0;\n    transform: scale(0.95);\n    transform-origin: top start;\n  }\n  .menu[data-bs-placement^=top] {\n    transform-origin: bottom start;\n  }\n  .menu[data-bs-placement=bottom-end] {\n    transform-origin: top end;\n  }\n  .menu[data-bs-placement=top-end] {\n    transform-origin: bottom end;\n  }\n  .menu[data-bs-placement^=left] {\n    transform-origin: top end;\n  }\n  .menu {\n    transition: opacity var(--menu-transition-duration) var(--menu-transition-timing), transform var(--menu-transition-duration) var(--menu-transition-timing), display var(--menu-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .menu {\n      transition: none;\n    }\n  }\n  .menu.show {\n    display: flex;\n    opacity: 1;\n    transform: none;\n  }\n  @starting-style {\n    .menu.show {\n      opacity: 0;\n      transform: scale(0.95);\n    }\n  }\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    border-radius: var(--menu-item-border-radius, 0);\n  }\n  .menu-item:hover, .menu-item:focus {\n    color: var(--theme-text, var(--menu-item-hover-color));\n    background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));\n    background-image: var(--gradient);\n  }\n  .menu-item.active, .menu-item:active {\n    color: var(--theme-contrast, var(--menu-item-active-color));\n    background-color: var(--theme-bg, var(--menu-item-active-bg));\n    background-image: var(--gradient);\n  }\n  .menu-item.active .menu-item-icon, .menu-item:active .menu-item-icon {\n    color: inherit !important;\n  }\n  .menu-item.selected {\n    font-weight: 600;\n  }\n  .menu-item.disabled, .menu-item:disabled {\n    color: var(--menu-item-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n    background-image: none;\n  }\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: 0.125rem;\n  }\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    border-radius: var(--border-radius-sm);\n  }\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: 0.125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n  }\n  .selected > .menu-item-check {\n    visibility: visible;\n  }\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n  .submenu {\n    position: relative;\n  }\n  .submenu > .menu-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .submenu > .menu-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .submenu > .menu-item::after {\n    transform: rotate(135deg);\n  }\n  .submenu > .menu {\n    top: 0;\n    margin-top: calc(-1 * var(--menu-padding-y));\n  }\n  .submenu:hover > .menu-item, .submenu:focus-within > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  .submenu.show > .menu-item {\n    color: var(--menu-item-hover-color);\n    background-color: var(--menu-item-hover-bg);\n  }\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      border-radius: 0;\n      box-shadow: none;\n    }\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n    }\n    .submenu-back::before {\n      display: inline-block;\n      flex-shrink: 0;\n      width: 0.375em;\n      height: 0.375em;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0.125em 0 0 0.125em;\n      transform: rotate(-45deg);\n    }\n    [dir=rtl] .submenu-back::before {\n      border-width: 0 0.125em 0.125em 0;\n    }\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: 0.3;\n    }\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--fg-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--fg-2);\n    --list-group-action-hover-color: var(--fg-1);\n    --list-group-action-hover-bg: var(--bg-1);\n    --list-group-action-active-color: var(--fg-body);\n    --list-group-action-active-bg: var(--bg-2);\n    --list-group-disabled-color: var(--fg-3);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n    text-decoration: none;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .sm\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .sm\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .md\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .md\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .lg\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:list-group-horizontal {\n      flex-direction: row;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item.active {\n      margin-top: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .\\32 xl\\:list-group-horizontal > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-align: center;\n    --nav-link-justify: center;\n    --nav-link-padding-x: 0.75rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-transition-property: color, background-color, border-color;\n    --nav-link-transition-timing: 0.15s ease-in-out;\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    border-radius: var(--border-radius);\n    transition: var(--nav-link-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--fg-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-bottom-color: var(--nav-tabs-border-color);\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-bg: var(--bg-1);\n    --nav-pills-padding: 0.25rem;\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n    display: inline-flex;\n    padding: var(--nav-pills-padding);\n    background-color: var(--nav-pills-bg);\n    border-radius: var(--border-radius-pill);\n  }\n  .nav-pills .nav-link {\n    border-radius: var(--border-radius-pill);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n    background-image: var(--gradient);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--fg-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0;\n  }\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n  .nav-overflow [data-bs-nav-overflow=true] {\n    display: none;\n  }\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg-body);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: var(--font-size-md);\n    --navbar-brand-font-weight: var(--font-weight-medium);\n    --navbar-brand-color: var(--fg-body);\n    --navbar-brand-hover-color: var(--fg-body);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-width: 2rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: var(--font-size-lg);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    container-type: inline-size;\n    color: var(--navbar-color, var(--fg-body));\n    background-color: var(--navbar-bg, var(--bg-body));\n  }\n  .navbar > .\\32 xl\\:container, .navbar > .xl\\:container, .navbar > .lg\\:container, .navbar > .md\\:container, .navbar > .sm\\:container, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-gap: 0.25rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-padding-x: 0.5rem;\n    --nav-link-padding-y: 0.375rem;\n    --nav-link-color: var(--navbar-color);\n    --nav-link-border-width: var(--border-width);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-hover-bg: transparent;\n    --nav-link-active-color: var(--navbar-active-color);\n    --nav-link-active-bg: transparent;\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n    border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n  }\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n  .navbar-expand > .container,\n  .navbar-expand > .container-fluid {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand [class*=drawer] {\n    position: static !important;\n    inset: auto !important;\n    z-index: auto;\n    display: flex !important;\n    flex-grow: 1;\n    width: auto !important;\n    max-width: none !important;\n    height: auto !important;\n    max-height: none !important;\n    padding: 0;\n    margin: 0;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand [class*=drawer] .drawer-header {\n    display: none !important;\n  }\n  .navbar-expand [class*=drawer] .drawer-body {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: row;\n    align-items: center;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:navbar-expand > .container,\n    .sm\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .sm\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .sm\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .sm\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .sm\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .sm\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:navbar-expand > .container,\n    .md\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .md\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .md\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .md\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .md\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .md\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:navbar-expand > .container,\n    .lg\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .lg\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .lg\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .lg\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .lg\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .lg\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:navbar-expand > .container,\n    .xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .xl\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .xl\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .xl\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:navbar-expand > .container,\n    .\\32 xl\\:navbar-expand > .container-fluid {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:navbar-expand .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .\\32 xl\\:navbar-expand .navbar-toggler {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand [class*=drawer] {\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .\\32 xl\\:navbar-expand [class*=drawer] .drawer-header {\n      display: none !important;\n    }\n    .\\32 xl\\:navbar-expand [class*=drawer] .drawer-body {\n      display: flex;\n      flex-grow: 1;\n      flex-direction: row;\n      align-items: center;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar [class*=drawer]:not([open]):not(.hiding) {\n    transition: none !important;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar [class*=drawer]:not([open]):not(.hiding) {\n      transition: none;\n    }\n  }\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n  }\n  .navbar-translucent::before {\n    position: absolute;\n    inset: 0;\n    z-index: -1;\n    content: \"\";\n    background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n    background-image: none;\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: color-mix(in oklch, var(--white) 0.55, transparent);\n    --navbar-hover-color: color-mix(in oklch, var(--white) 0.75, transparent);\n    --navbar-disabled-color: color-mix(in oklch, var(--white) 0.25, transparent);\n    --navbar-active-color: var(--white);\n    --navbar-brand-color: var(--white);\n    --navbar-brand-hover-color: var(--white);\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) 0.1, transparent);\n  }\n}\n.drawer, .\\32 xl\\:drawer, .xl\\:drawer, .lg\\:drawer, .md\\:drawer, .sm\\:drawer {\n  --drawer-inset: var(--spacer);\n  --drawer-zindex: 1045;\n  --drawer-width: 400px;\n  --drawer-height: 30vh;\n  --drawer-padding-x: var(--spacer);\n  --drawer-padding-y: var(--spacer);\n  --drawer-color: var(--fg-body);\n  --drawer-bg: var(--bg-body);\n  --drawer-border-width: var(--border-width);\n  --drawer-border-color: var(--border-color-translucent);\n  --drawer-border-radius: var(--border-radius-lg);\n  --drawer-box-shadow: var(--box-shadow-lg);\n  --drawer-transition-duration: 0.3s;\n  --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n  --drawer-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .sm\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .sm\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .sm\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .sm\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .sm\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .sm\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .sm\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .sm\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .sm\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .sm\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .sm\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 576px) and (prefers-reduced-motion: reduce) {\n    .sm\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 576px) {\n    .sm\\:drawer .drawer-header {\n      display: none;\n    }\n    .sm\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .md\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .md\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .md\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .md\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .md\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .md\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .md\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .md\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .md\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .md\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 768px) and (prefers-reduced-motion: reduce) {\n    .md\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:drawer .drawer-header {\n      display: none;\n    }\n    .md\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .lg\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .lg\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .lg\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .lg\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .lg\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .lg\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .lg\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .lg\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .lg\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .lg\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1024px) and (prefers-reduced-motion: reduce) {\n    .lg\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:drawer .drawer-header {\n      display: none;\n    }\n    .lg\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .xl\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .xl\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .xl\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .xl\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .xl\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .xl\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .xl\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .xl\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1280px) and (prefers-reduced-motion: reduce) {\n    .xl\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:drawer .drawer-header {\n      display: none;\n    }\n    .xl\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:drawer {\n      position: fixed;\n      inset: auto;\n      z-index: var(--drawer-zindex);\n      display: flex;\n      flex-direction: column;\n      width: auto;\n      max-width: calc(100% - var(--drawer-inset) * 2);\n      height: auto;\n      max-height: calc(100% - var(--drawer-inset) * 2);\n      padding: 0;\n      margin: 0;\n      color: var(--drawer-color);\n      visibility: hidden;\n      background-color: var(--drawer-bg);\n      background-clip: padding-box;\n      border: var(--drawer-border-width) solid var(--drawer-border-color);\n      outline: 0;\n      border-radius: var(--drawer-border-radius);\n      box-shadow: var(--drawer-box-shadow);\n    }\n    .\\32 xl\\:drawer:where(.drawer-start) {\n      inset-block: var(--drawer-inset);\n      inset-inline-start: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .\\32 xl\\:drawer:where(.drawer-end) {\n      inset-block: var(--drawer-inset);\n      inset-inline-end: var(--drawer-inset);\n      width: var(--drawer-width);\n    }\n    .\\32 xl\\:drawer:where(.drawer-top) {\n      inset: var(--drawer-inset) var(--drawer-inset) auto;\n      height: var(--drawer-height);\n    }\n    .\\32 xl\\:drawer:where(.drawer-bottom) {\n      inset: auto var(--drawer-inset) var(--drawer-inset);\n      height: var(--drawer-height);\n    }\n    .\\32 xl\\:drawer:where(.drawer-fullscreen) {\n      inset: var(--drawer-inset);\n      width: auto;\n      max-width: none;\n      height: auto;\n      max-height: none;\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant) {\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-start) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(100% + var(--drawer-inset)));\n    }\n    :root:dir(rtl) .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-end) {\n      transform: translateX(calc(-100% - var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-top) {\n      transform: translateY(calc(-100% - var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-bottom) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n      transform: translateY(calc(100% + var(--drawer-inset)));\n    }\n    .\\32 xl\\:drawer:not(.drawer-instant)[open] {\n      visibility: visible;\n      transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n      transform: none;\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .\\32 xl\\:drawer[open] {\n      visibility: visible;\n      transform: none;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:drawer {\n      --drawer-height: auto;\n      --drawer-border-width: 0;\n      position: static !important;\n      inset: auto;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none;\n      height: auto !important;\n      max-height: none;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      transition: none !important;\n      border-radius: 0;\n      box-shadow: none;\n    }\n  }\n  @media (width >= 1536px) and (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer {\n      transition: none;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:drawer .drawer-header {\n      display: none;\n    }\n    .\\32 xl\\:drawer .drawer-body {\n      display: flex;\n      flex-grow: 0;\n      flex-direction: row;\n      width: 100%;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .drawer {\n    position: fixed;\n    inset: auto;\n    z-index: var(--drawer-zindex);\n    display: flex;\n    flex-direction: column;\n    width: auto;\n    max-width: calc(100% - var(--drawer-inset) * 2);\n    height: auto;\n    max-height: calc(100% - var(--drawer-inset) * 2);\n    padding: 0;\n    margin: 0;\n    color: var(--drawer-color);\n    visibility: hidden;\n    background-color: var(--drawer-bg);\n    background-clip: padding-box;\n    border: var(--drawer-border-width) solid var(--drawer-border-color);\n    outline: 0;\n    border-radius: var(--drawer-border-radius);\n    box-shadow: var(--drawer-box-shadow);\n  }\n  .drawer:where(.drawer-start) {\n    inset-block: var(--drawer-inset);\n    inset-inline-start: var(--drawer-inset);\n    width: var(--drawer-width);\n  }\n  .drawer:where(.drawer-end) {\n    inset-block: var(--drawer-inset);\n    inset-inline-end: var(--drawer-inset);\n    width: var(--drawer-width);\n  }\n  .drawer:where(.drawer-top) {\n    inset: var(--drawer-inset) var(--drawer-inset) auto;\n    height: var(--drawer-height);\n  }\n  .drawer:where(.drawer-bottom) {\n    inset: auto var(--drawer-inset) var(--drawer-inset);\n    height: var(--drawer-height);\n  }\n  .drawer:where(.drawer-fullscreen) {\n    inset: var(--drawer-inset);\n    width: auto;\n    max-width: none;\n    height: auto;\n    max-height: none;\n  }\n  .drawer:not(.drawer-instant) {\n    transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .drawer:not(.drawer-instant) {\n      transition: none;\n    }\n  }\n  .drawer:not(.drawer-instant):where(.drawer-start) {\n    transform: translateX(calc(-100% - var(--drawer-inset)));\n  }\n  :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-start) {\n    transform: translateX(calc(100% + var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-end) {\n    transform: translateX(calc(100% + var(--drawer-inset)));\n  }\n  :root:dir(rtl) .drawer:not(.drawer-instant):where(.drawer-end) {\n    transform: translateX(calc(-100% - var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-top) {\n    transform: translateY(calc(-100% - var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-bottom) {\n    transform: translateY(calc(100% + var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant):where(.drawer-fullscreen) {\n    transform: translateY(calc(100% + var(--drawer-inset)));\n  }\n  .drawer:not(.drawer-instant)[open] {\n    visibility: visible;\n    transition: transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .drawer:not(.drawer-instant)[open] {\n      transition: none;\n    }\n  }\n  .drawer:not(.drawer-instant)[open] {\n    transform: none;\n  }\n  .drawer[open] {\n    visibility: visible;\n    transform: none;\n  }\n  .sm\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .sm\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .md\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .md\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .lg\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .lg\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .xl\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .xl\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .\\32 xl\\:drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .\\32 xl\\:drawer::backdrop {\n      transition: none;\n    }\n  }\n  .drawer::backdrop {\n    --drawer-backdrop-bg: var(--bg-body);\n    --drawer-backdrop-opacity: 25%;\n    --drawer-backdrop-blur: 8px;\n    --drawer-inset: var(--spacer);\n    --drawer-zindex: 1045;\n    --drawer-width: 400px;\n    --drawer-height: 30vh;\n    --drawer-padding-x: var(--spacer);\n    --drawer-padding-y: var(--spacer);\n    --drawer-color: var(--fg-body);\n    --drawer-bg: var(--bg-body);\n    --drawer-border-width: var(--border-width);\n    --drawer-border-color: var(--border-color-translucent);\n    --drawer-border-radius: var(--border-radius-lg);\n    --drawer-box-shadow: var(--box-shadow-lg);\n    --drawer-transition-duration: 0.3s;\n    --drawer-transition-timing: cubic-bezier(0.22, 1, 0.36, 1);\n    --drawer-title-line-height: 1.5;\n    background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n    backdrop-filter: blur(var(--drawer-backdrop-blur));\n    transition: background-color var(--drawer-transition-duration) var(--drawer-transition-timing), backdrop-filter var(--drawer-transition-duration) var(--drawer-transition-timing), display var(--drawer-transition-duration) allow-discrete, overlay var(--drawer-transition-duration) allow-discrete;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .drawer::backdrop {\n      transition: none;\n    }\n  }\n  @starting-style {\n    .sm\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .md\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .lg\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .xl\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .\\32 xl\\:drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n    .drawer::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n  .drawer-static {\n    transform: scale(1.02);\n  }\n  .drawer-translucent {\n    background-color: color-mix(in oklch, var(--drawer-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .drawer-sheet {\n    --drawer-inset: 0;\n    --drawer-border-radius: 0;\n    --drawer-border-width: 0;\n    --drawer-box-shadow: none;\n  }\n  .drawer-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--drawer-padding-y) var(--drawer-padding-x);\n  }\n  .drawer-header .btn-close {\n    padding: calc(var(--drawer-padding-y) * 0.5) calc(var(--drawer-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--drawer-padding-x));\n    margin-top: calc(-0.5 * var(--drawer-padding-y));\n    margin-bottom: calc(-0.5 * var(--drawer-padding-y));\n  }\n  .drawer-title {\n    margin-bottom: 0;\n    line-height: var(--drawer-title-line-height);\n  }\n  .drawer-body {\n    display: flex;\n    flex-direction: column;\n    gap: var(--drawer-padding-y);\n    flex: 1 1 auto;\n    padding: var(--drawer-padding-y) var(--drawer-padding-x);\n    overflow-y: auto;\n  }\n  .drawer-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--drawer-padding-y) var(--drawer-padding-x);\n    border-block-start: var(--drawer-border-width) solid var(--drawer-border-color);\n  }\n  .drawer-fit-content {\n    inset-block-end: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-min-height: var(--btn-input-min-height);\n    --pagination-padding-x: var(--btn-input-padding-x);\n    --pagination-padding-y: var(--btn-input-padding-y);\n    --pagination-font-size: var(--btn-input-font-size);\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--btn-input-border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--bg-1);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--bg-2);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--fg-3);\n    --pagination-disabled-bg: var(--bg-2);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    background-image: var(--gradient);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--pagination-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-sm {\n    --pagination-min-height: var(--bs-btn-input-sm-min-height);\n    --pagination-padding-y: var(--btn-input-sm-padding-y);\n    --pagination-padding-x: var(--btn-input-sm-padding-x);\n    --pagination-font-size: var(--btn-input-sm-font-size);\n    --pagination-border-radius: var(--btn-input-sm-border-radius);\n  }\n  .pagination-lg {\n    --pagination-min-height: var(--bs-btn-input-lg-min-height);\n    --pagination-padding-y: var(--btn-input-lg-padding-y);\n    --pagination-padding-x: var(--btn-input-lg-padding-x);\n    --pagination-font-size: var(--btn-input-lg-font-size);\n    --pagination-border-radius: var(--btn-input-lg-border-radius);\n  }\n}\n@layer components {\n  .placeholder {\n    --placeholder-opacity-max: 0.5;\n    --placeholder-opacity-min: 0.2;\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: var(--font-size-sm);\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--fg-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--body-font-family);\n    font-style: normal;\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: var(--font-size-sm);\n    --progress-bg: var(--bg-2);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: var(--white);\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: var(--progress-bar-animation);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n@layer components {\n  .stepper {\n    --stepper-size: 2rem;\n    --stepper-gap: 1rem;\n    --stepper-font-size: var(--font-size-sm);\n    --stepper-text-gap: 0.5rem;\n    --stepper-track-size: 0.125rem;\n    --stepper-bg: var(--bg-2);\n    --stepper-active-color: var(--primary-contrast);\n    --stepper-active-bg: var(--primary-bg);\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n  }\n  .stepper-item::before {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--stepper-size);\n    height: var(--stepper-size);\n    padding: 0.5rem;\n    font-size: var(--stepper-font-size);\n    font-weight: 600;\n    line-height: 1;\n    text-align: center;\n    content: counter(stepper);\n    counter-increment: stepper;\n    background-color: var(--stepper-bg);\n    border-radius: 50%;\n  }\n  .stepper-item::after {\n    position: absolute;\n    inset-block-start: 50%;\n    inset-block-end: 100%;\n    inset-inline-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    width: var(--stepper-track-size);\n    height: calc(100% + var(--stepper-gap));\n    content: \"\";\n    background-color: var(--stepper-bg);\n  }\n  .stepper-item:last-child::after {\n    display: none;\n  }\n  .stepper-item.active::before, .stepper-item.active::after {\n    color: var(--theme-contrast, var(--stepper-active-color));\n    background-color: var(--theme-bg, var(--stepper-active-bg));\n  }\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n  .stepper-horizontal {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n  }\n  .stepper-horizontal .stepper-item::after {\n    inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    inset-block-end: auto;\n    inset-inline-start: 50%;\n    inset-inline-end: 100%;\n    width: calc(100% + var(--stepper-gap));\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal .stepper-item:last-child::after {\n    right: 100%;\n  }\n  @container (width >= 576px) {\n    .sm\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .sm\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .sm\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .sm\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .md\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .md\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .md\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .lg\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .lg\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .lg\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:stepper-horizontal {\n      display: inline-grid;\n      grid-auto-columns: 1fr;\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item {\n      grid-template-rows: var(--stepper-size) auto;\n      grid-template-columns: auto;\n      align-items: start;\n      justify-items: center;\n      text-align: center;\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item::after {\n      inset-block-start: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n    .\\32 xl\\:stepper-horizontal .stepper-item:last-child::after {\n      right: 100%;\n    }\n  }\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n  }\n  .stepper-overflow > .stepper {\n    width: max-content;\n    min-width: 100%;\n  }\n}\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 1rem;\n    --toast-padding-y: 0.75rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: var(--font-size-sm);\n    --toast-bg: var(--bg-body);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--fg-3);\n    --toast-header-bg: var(--bg-1);\n    --toast-header-border-color: var(--border-color-translucent);\n    display: flex;\n    flex-direction: column;\n    width: var(--toast-max-width);\n    max-width: 100%;\n    overflow: hidden;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color, var(--fg-body));\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius, var(--border-radius-lg));\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--theme-text-emphasis, var(--toast-header-color));\n    background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n    border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: calc(0.5 * var(--toast-padding-x));\n    margin-inline-end: calc(-0.25 * var(--toast-padding-x));\n    color: inherit;\n  }\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sm\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sm\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .md\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .lg\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:sticky-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .\\32 xl\\:sticky-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .stack-container {\n    container-type: inline-size;\n  }\n  [class*=hstack],\n  [class*=vstack] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n  .vstack {\n    --stack-direction: column;\n    --stack-align-items: stretch;\n  }\n  .hstack {\n    --stack-direction: row;\n    --stack-align-items: flex-start;\n  }\n  @container (width >= 576px) {\n    .sm\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 576px) {\n    .sm\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 768px) {\n    .md\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1024px) {\n    .lg\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1280px) {\n    .xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:vstack {\n      --stack-direction: column;\n      --stack-align-items: stretch;\n    }\n  }\n  @container (width >= 1536px) {\n    .\\32 xl\\:hstack {\n      --stack-direction: row;\n      --stack-align-items: flex-start;\n    }\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .contains-inline {\n    container-type: inline-size;\n  }\n  .contains-size {\n    container-type: size;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-success {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body)));\n  }\n  .focus-ring-info {\n    --focus-ring-color: light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body)));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-1 {\n    grid-template-columns: 1fr;\n  }\n  .grid-cols-2 {\n    grid-template-columns: repeat(2, 1fr);\n  }\n  .grid-cols-3 {\n    grid-template-columns: repeat(3, 1fr);\n  }\n  .grid-cols-4 {\n    grid-template-columns: repeat(4, 1fr);\n  }\n  .grid-cols-6 {\n    grid-template-columns: repeat(6, 1fr);\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 0.75rem;\n  }\n  .m-4 {\n    margin: 1rem;\n  }\n  .m-5 {\n    margin: 1.25rem;\n  }\n  .m-6 {\n    margin: 1.5rem;\n  }\n  .m-7 {\n    margin: 2rem;\n  }\n  .m-8 {\n    margin: 2.5rem;\n  }\n  .m-9 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 0.75rem;\n  }\n  .mx-4 {\n    margin-inline: 1rem;\n  }\n  .mx-5 {\n    margin-inline: 1.25rem;\n  }\n  .mx-6 {\n    margin-inline: 1.5rem;\n  }\n  .mx-7 {\n    margin-inline: 2rem;\n  }\n  .mx-8 {\n    margin-inline: 2.5rem;\n  }\n  .mx-9 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 0.75rem;\n  }\n  .my-4 {\n    margin-block: 1rem;\n  }\n  .my-5 {\n    margin-block: 1.25rem;\n  }\n  .my-6 {\n    margin-block: 1.5rem;\n  }\n  .my-7 {\n    margin-block: 2rem;\n  }\n  .my-8 {\n    margin-block: 2.5rem;\n  }\n  .my-9 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 0.75rem;\n  }\n  .mt-4 {\n    margin-block-start: 1rem;\n  }\n  .mt-5 {\n    margin-block-start: 1.25rem;\n  }\n  .mt-6 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-7 {\n    margin-block-start: 2rem;\n  }\n  .mt-8 {\n    margin-block-start: 2.5rem;\n  }\n  .mt-9 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 0.75rem;\n  }\n  .me-4 {\n    margin-inline-end: 1rem;\n  }\n  .me-5 {\n    margin-inline-end: 1.25rem;\n  }\n  .me-6 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-7 {\n    margin-inline-end: 2rem;\n  }\n  .me-8 {\n    margin-inline-end: 2.5rem;\n  }\n  .me-9 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 0.75rem;\n  }\n  .mb-4 {\n    margin-block-end: 1rem;\n  }\n  .mb-5 {\n    margin-block-end: 1.25rem;\n  }\n  .mb-6 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-7 {\n    margin-block-end: 2rem;\n  }\n  .mb-8 {\n    margin-block-end: 2.5rem;\n  }\n  .mb-9 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 0.75rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1rem;\n  }\n  .ms-5 {\n    margin-inline-start: 1.25rem;\n  }\n  .ms-6 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-7 {\n    margin-inline-start: 2rem;\n  }\n  .ms-8 {\n    margin-inline-start: 2.5rem;\n  }\n  .ms-9 {\n    margin-inline-start: 3rem;\n  }\n  .ms--1 {\n    margin-inline-start: -0.25rem;\n  }\n  .ms--2 {\n    margin-inline-start: -0.5rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 0.75rem;\n  }\n  .p-4 {\n    padding: 1rem;\n  }\n  .p-5 {\n    padding: 1.25rem;\n  }\n  .p-6 {\n    padding: 1.5rem;\n  }\n  .p-7 {\n    padding: 2rem;\n  }\n  .p-8 {\n    padding: 2.5rem;\n  }\n  .p-9 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 0.75rem;\n  }\n  .px-4 {\n    padding-inline: 1rem;\n  }\n  .px-5 {\n    padding-inline: 1.25rem;\n  }\n  .px-6 {\n    padding-inline: 1.5rem;\n  }\n  .px-7 {\n    padding-inline: 2rem;\n  }\n  .px-8 {\n    padding-inline: 2.5rem;\n  }\n  .px-9 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 0.75rem;\n  }\n  .py-4 {\n    padding-block: 1rem;\n  }\n  .py-5 {\n    padding-block: 1.25rem;\n  }\n  .py-6 {\n    padding-block: 1.5rem;\n  }\n  .py-7 {\n    padding-block: 2rem;\n  }\n  .py-8 {\n    padding-block: 2.5rem;\n  }\n  .py-9 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 0.75rem;\n  }\n  .pt-4 {\n    padding-block-start: 1rem;\n  }\n  .pt-5 {\n    padding-block-start: 1.25rem;\n  }\n  .pt-6 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-7 {\n    padding-block-start: 2rem;\n  }\n  .pt-8 {\n    padding-block-start: 2.5rem;\n  }\n  .pt-9 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 0.75rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1rem;\n  }\n  .pe-5 {\n    padding-inline-end: 1.25rem;\n  }\n  .pe-6 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-7 {\n    padding-inline-end: 2rem;\n  }\n  .pe-8 {\n    padding-inline-end: 2.5rem;\n  }\n  .pe-9 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 0.75rem;\n  }\n  .pb-4 {\n    padding-block-end: 1rem;\n  }\n  .pb-5 {\n    padding-block-end: 1.25rem;\n  }\n  .pb-6 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-7 {\n    padding-block-end: 2rem;\n  }\n  .pb-8 {\n    padding-block-end: 2.5rem;\n  }\n  .pb-9 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 0.75rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1rem;\n  }\n  .ps-5 {\n    padding-inline-start: 1.25rem;\n  }\n  .ps-6 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-7 {\n    padding-inline-start: 2rem;\n  }\n  .ps-8 {\n    padding-inline-start: 2.5rem;\n  }\n  .ps-9 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 0.75rem;\n  }\n  .gap-4 {\n    gap: 1rem;\n  }\n  .gap-5 {\n    gap: 1.25rem;\n  }\n  .gap-6 {\n    gap: 1.5rem;\n  }\n  .gap-7 {\n    gap: 2rem;\n  }\n  .gap-8 {\n    gap: 2.5rem;\n  }\n  .gap-9 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 0.75rem;\n  }\n  .row-gap-4 {\n    row-gap: 1rem;\n  }\n  .row-gap-5 {\n    row-gap: 1.25rem;\n  }\n  .row-gap-6 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-7 {\n    row-gap: 2rem;\n  }\n  .row-gap-8 {\n    row-gap: 2.5rem;\n  }\n  .row-gap-9 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 0.75rem;\n  }\n  .column-gap-4 {\n    column-gap: 1rem;\n  }\n  .column-gap-5 {\n    column-gap: 1.25rem;\n  }\n  .column-gap-6 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-7 {\n    column-gap: 2rem;\n  }\n  .column-gap-8 {\n    column-gap: 2.5rem;\n  }\n  .column-gap-9 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-mono);\n  }\n  .font-body {\n    font-family: var(--body-font-family);\n  }\n  .fs-xs {\n    font-size: 0.75rem;\n  }\n  .fs-sm {\n    font-size: 0.875rem;\n  }\n  .fs-md {\n    font-size: 1rem;\n  }\n  .fs-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  }\n  .fs-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  }\n  .fs-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  }\n  .fs-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  }\n  .fs-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  }\n  .fs-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n  }\n  .fs-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  }\n  .text-xs {\n    font-size: 0.75rem;\n    line-height: 1.25;\n  }\n  .text-sm {\n    font-size: 0.875rem;\n    line-height: 1.5;\n  }\n  .text-md {\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .text-lg {\n    font-size: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n    line-height: 1.5;\n  }\n  .text-xl {\n    font-size: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n    line-height: 1.4285714286;\n  }\n  .text-2xl {\n    font-size: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n    line-height: 1.3333333333;\n  }\n  .text-3xl {\n    font-size: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n    line-height: 1.2;\n  }\n  .text-4xl {\n    font-size: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n    line-height: 1.1;\n  }\n  .text-5xl {\n    font-size: clamp(3rem, 2rem + 5vw, 4rem);\n    line-height: 1.1;\n  }\n  .text-6xl {\n    font-size: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n    line-height: 1;\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-text {\n    user-select: text;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .sm\\:float-start {\n      float: inline-start;\n    }\n    .sm\\:float-end {\n      float: inline-end;\n    }\n    .sm\\:float-none {\n      float: none;\n    }\n    .sm\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .sm\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .sm\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .sm\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .sm\\:object-fit-none {\n      object-fit: none;\n    }\n    .sm\\:d-inline {\n      display: inline;\n    }\n    .sm\\:d-inline-block {\n      display: inline-block;\n    }\n    .sm\\:d-block {\n      display: block;\n    }\n    .sm\\:d-grid {\n      display: grid;\n    }\n    .sm\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .sm\\:d-table {\n      display: table;\n    }\n    .sm\\:d-table-row {\n      display: table-row;\n    }\n    .sm\\:d-table-cell {\n      display: table-cell;\n    }\n    .sm\\:d-flex {\n      display: flex;\n    }\n    .sm\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .sm\\:d-contents {\n      display: contents;\n    }\n    .sm\\:d-flow-root {\n      display: flow-root;\n    }\n    .sm\\:d-none {\n      display: none;\n    }\n    .sm\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .sm\\:flex-row {\n      flex-direction: row;\n    }\n    .sm\\:flex-column {\n      flex-direction: column;\n    }\n    .sm\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .sm\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .sm\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .sm\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .sm\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .sm\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .sm\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .sm\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .sm\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .sm\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .sm\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .sm\\:justify-content-center {\n      justify-content: center;\n    }\n    .sm\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .sm\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .sm\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .sm\\:justify-items-start {\n      justify-items: start;\n    }\n    .sm\\:justify-items-end {\n      justify-items: end;\n    }\n    .sm\\:justify-items-center {\n      justify-items: center;\n    }\n    .sm\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .sm\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .sm\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .sm\\:justify-self-center {\n      justify-self: center;\n    }\n    .sm\\:align-items-start {\n      align-items: flex-start;\n    }\n    .sm\\:align-items-end {\n      align-items: flex-end;\n    }\n    .sm\\:align-items-center {\n      align-items: center;\n    }\n    .sm\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .sm\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .sm\\:align-content-start {\n      align-content: flex-start;\n    }\n    .sm\\:align-content-end {\n      align-content: flex-end;\n    }\n    .sm\\:align-content-center {\n      align-content: center;\n    }\n    .sm\\:align-content-between {\n      align-content: space-between;\n    }\n    .sm\\:align-content-around {\n      align-content: space-around;\n    }\n    .sm\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .sm\\:align-self-auto {\n      align-self: auto;\n    }\n    .sm\\:align-self-start {\n      align-self: flex-start;\n    }\n    .sm\\:align-self-end {\n      align-self: flex-end;\n    }\n    .sm\\:align-self-center {\n      align-self: center;\n    }\n    .sm\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .sm\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .sm\\:place-items-start {\n      place-items: start;\n    }\n    .sm\\:place-items-end {\n      place-items: end;\n    }\n    .sm\\:place-items-center {\n      place-items: center;\n    }\n    .sm\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .sm\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .sm\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .sm\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .sm\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .sm\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .sm\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .sm\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .sm\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .sm\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .sm\\:order-first {\n      order: -1;\n    }\n    .sm\\:order-0 {\n      order: 0;\n    }\n    .sm\\:order-1 {\n      order: 1;\n    }\n    .sm\\:order-2 {\n      order: 2;\n    }\n    .sm\\:order-3 {\n      order: 3;\n    }\n    .sm\\:order-4 {\n      order: 4;\n    }\n    .sm\\:order-5 {\n      order: 5;\n    }\n    .sm\\:order-last {\n      order: 6;\n    }\n    .sm\\:m-0 {\n      margin: 0;\n    }\n    .sm\\:m-1 {\n      margin: 0.25rem;\n    }\n    .sm\\:m-2 {\n      margin: 0.5rem;\n    }\n    .sm\\:m-3 {\n      margin: 0.75rem;\n    }\n    .sm\\:m-4 {\n      margin: 1rem;\n    }\n    .sm\\:m-5 {\n      margin: 1.25rem;\n    }\n    .sm\\:m-6 {\n      margin: 1.5rem;\n    }\n    .sm\\:m-7 {\n      margin: 2rem;\n    }\n    .sm\\:m-8 {\n      margin: 2.5rem;\n    }\n    .sm\\:m-9 {\n      margin: 3rem;\n    }\n    .sm\\:m-auto {\n      margin: auto;\n    }\n    .sm\\:mx-0 {\n      margin-inline: 0;\n    }\n    .sm\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .sm\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .sm\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .sm\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .sm\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .sm\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .sm\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .sm\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .sm\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .sm\\:mx-auto {\n      margin-inline: auto;\n    }\n    .sm\\:my-0 {\n      margin-block: 0;\n    }\n    .sm\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .sm\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .sm\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .sm\\:my-4 {\n      margin-block: 1rem;\n    }\n    .sm\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .sm\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .sm\\:my-7 {\n      margin-block: 2rem;\n    }\n    .sm\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .sm\\:my-9 {\n      margin-block: 3rem;\n    }\n    .sm\\:my-auto {\n      margin-block: auto;\n    }\n    .sm\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .sm\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .sm\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .sm\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .sm\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .sm\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .sm\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .sm\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .sm\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .sm\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .sm\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .sm\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .sm\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .sm\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .sm\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .sm\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .sm\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .sm\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .sm\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .sm\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .sm\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .sm\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .sm\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .sm\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .sm\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .sm\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .sm\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .sm\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .sm\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .sm\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .sm\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .sm\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .sm\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .sm\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .sm\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .sm\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .sm\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .sm\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .sm\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .sm\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .sm\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .sm\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .sm\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .sm\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .sm\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .sm\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .sm\\:p-0 {\n      padding: 0;\n    }\n    .sm\\:p-1 {\n      padding: 0.25rem;\n    }\n    .sm\\:p-2 {\n      padding: 0.5rem;\n    }\n    .sm\\:p-3 {\n      padding: 0.75rem;\n    }\n    .sm\\:p-4 {\n      padding: 1rem;\n    }\n    .sm\\:p-5 {\n      padding: 1.25rem;\n    }\n    .sm\\:p-6 {\n      padding: 1.5rem;\n    }\n    .sm\\:p-7 {\n      padding: 2rem;\n    }\n    .sm\\:p-8 {\n      padding: 2.5rem;\n    }\n    .sm\\:p-9 {\n      padding: 3rem;\n    }\n    .sm\\:px-0 {\n      padding-inline: 0;\n    }\n    .sm\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .sm\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .sm\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .sm\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .sm\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .sm\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .sm\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .sm\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .sm\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .sm\\:py-0 {\n      padding-block: 0;\n    }\n    .sm\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .sm\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .sm\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .sm\\:py-4 {\n      padding-block: 1rem;\n    }\n    .sm\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .sm\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .sm\\:py-7 {\n      padding-block: 2rem;\n    }\n    .sm\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .sm\\:py-9 {\n      padding-block: 3rem;\n    }\n    .sm\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .sm\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .sm\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .sm\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .sm\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .sm\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .sm\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .sm\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .sm\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .sm\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .sm\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .sm\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .sm\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .sm\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .sm\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .sm\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .sm\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .sm\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .sm\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .sm\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .sm\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .sm\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .sm\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .sm\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .sm\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .sm\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .sm\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .sm\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .sm\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .sm\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .sm\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .sm\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .sm\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .sm\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .sm\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .sm\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .sm\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .sm\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .sm\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .sm\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .sm\\:gap-0 {\n      gap: 0;\n    }\n    .sm\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .sm\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .sm\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .sm\\:gap-4 {\n      gap: 1rem;\n    }\n    .sm\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .sm\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .sm\\:gap-7 {\n      gap: 2rem;\n    }\n    .sm\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .sm\\:gap-9 {\n      gap: 3rem;\n    }\n    .sm\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .sm\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .sm\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .sm\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .sm\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .sm\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .sm\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .sm\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .sm\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .sm\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .sm\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .sm\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .sm\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .sm\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .sm\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .sm\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .sm\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .sm\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .sm\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .sm\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .sm\\:text-start {\n      text-align: start;\n    }\n    .sm\\:text-end {\n      text-align: end;\n    }\n    .sm\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .md\\:float-start {\n      float: inline-start;\n    }\n    .md\\:float-end {\n      float: inline-end;\n    }\n    .md\\:float-none {\n      float: none;\n    }\n    .md\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .md\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .md\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .md\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .md\\:object-fit-none {\n      object-fit: none;\n    }\n    .md\\:d-inline {\n      display: inline;\n    }\n    .md\\:d-inline-block {\n      display: inline-block;\n    }\n    .md\\:d-block {\n      display: block;\n    }\n    .md\\:d-grid {\n      display: grid;\n    }\n    .md\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .md\\:d-table {\n      display: table;\n    }\n    .md\\:d-table-row {\n      display: table-row;\n    }\n    .md\\:d-table-cell {\n      display: table-cell;\n    }\n    .md\\:d-flex {\n      display: flex;\n    }\n    .md\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .md\\:d-contents {\n      display: contents;\n    }\n    .md\\:d-flow-root {\n      display: flow-root;\n    }\n    .md\\:d-none {\n      display: none;\n    }\n    .md\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .md\\:flex-row {\n      flex-direction: row;\n    }\n    .md\\:flex-column {\n      flex-direction: column;\n    }\n    .md\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .md\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .md\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .md\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .md\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .md\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .md\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .md\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .md\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .md\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .md\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .md\\:justify-content-center {\n      justify-content: center;\n    }\n    .md\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .md\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .md\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .md\\:justify-items-start {\n      justify-items: start;\n    }\n    .md\\:justify-items-end {\n      justify-items: end;\n    }\n    .md\\:justify-items-center {\n      justify-items: center;\n    }\n    .md\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .md\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .md\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .md\\:justify-self-center {\n      justify-self: center;\n    }\n    .md\\:align-items-start {\n      align-items: flex-start;\n    }\n    .md\\:align-items-end {\n      align-items: flex-end;\n    }\n    .md\\:align-items-center {\n      align-items: center;\n    }\n    .md\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .md\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .md\\:align-content-start {\n      align-content: flex-start;\n    }\n    .md\\:align-content-end {\n      align-content: flex-end;\n    }\n    .md\\:align-content-center {\n      align-content: center;\n    }\n    .md\\:align-content-between {\n      align-content: space-between;\n    }\n    .md\\:align-content-around {\n      align-content: space-around;\n    }\n    .md\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .md\\:align-self-auto {\n      align-self: auto;\n    }\n    .md\\:align-self-start {\n      align-self: flex-start;\n    }\n    .md\\:align-self-end {\n      align-self: flex-end;\n    }\n    .md\\:align-self-center {\n      align-self: center;\n    }\n    .md\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .md\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .md\\:place-items-start {\n      place-items: start;\n    }\n    .md\\:place-items-end {\n      place-items: end;\n    }\n    .md\\:place-items-center {\n      place-items: center;\n    }\n    .md\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .md\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .md\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .md\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .md\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .md\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .md\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .md\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .md\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .md\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .md\\:order-first {\n      order: -1;\n    }\n    .md\\:order-0 {\n      order: 0;\n    }\n    .md\\:order-1 {\n      order: 1;\n    }\n    .md\\:order-2 {\n      order: 2;\n    }\n    .md\\:order-3 {\n      order: 3;\n    }\n    .md\\:order-4 {\n      order: 4;\n    }\n    .md\\:order-5 {\n      order: 5;\n    }\n    .md\\:order-last {\n      order: 6;\n    }\n    .md\\:m-0 {\n      margin: 0;\n    }\n    .md\\:m-1 {\n      margin: 0.25rem;\n    }\n    .md\\:m-2 {\n      margin: 0.5rem;\n    }\n    .md\\:m-3 {\n      margin: 0.75rem;\n    }\n    .md\\:m-4 {\n      margin: 1rem;\n    }\n    .md\\:m-5 {\n      margin: 1.25rem;\n    }\n    .md\\:m-6 {\n      margin: 1.5rem;\n    }\n    .md\\:m-7 {\n      margin: 2rem;\n    }\n    .md\\:m-8 {\n      margin: 2.5rem;\n    }\n    .md\\:m-9 {\n      margin: 3rem;\n    }\n    .md\\:m-auto {\n      margin: auto;\n    }\n    .md\\:mx-0 {\n      margin-inline: 0;\n    }\n    .md\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .md\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .md\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .md\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .md\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .md\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .md\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .md\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .md\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .md\\:mx-auto {\n      margin-inline: auto;\n    }\n    .md\\:my-0 {\n      margin-block: 0;\n    }\n    .md\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .md\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .md\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .md\\:my-4 {\n      margin-block: 1rem;\n    }\n    .md\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .md\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .md\\:my-7 {\n      margin-block: 2rem;\n    }\n    .md\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .md\\:my-9 {\n      margin-block: 3rem;\n    }\n    .md\\:my-auto {\n      margin-block: auto;\n    }\n    .md\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .md\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .md\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .md\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .md\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .md\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .md\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .md\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .md\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .md\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .md\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .md\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .md\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .md\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .md\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .md\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .md\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .md\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .md\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .md\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .md\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .md\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .md\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .md\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .md\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .md\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .md\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .md\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .md\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .md\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .md\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .md\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .md\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .md\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .md\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .md\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .md\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .md\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .md\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .md\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .md\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .md\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .md\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .md\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .md\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .md\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .md\\:p-0 {\n      padding: 0;\n    }\n    .md\\:p-1 {\n      padding: 0.25rem;\n    }\n    .md\\:p-2 {\n      padding: 0.5rem;\n    }\n    .md\\:p-3 {\n      padding: 0.75rem;\n    }\n    .md\\:p-4 {\n      padding: 1rem;\n    }\n    .md\\:p-5 {\n      padding: 1.25rem;\n    }\n    .md\\:p-6 {\n      padding: 1.5rem;\n    }\n    .md\\:p-7 {\n      padding: 2rem;\n    }\n    .md\\:p-8 {\n      padding: 2.5rem;\n    }\n    .md\\:p-9 {\n      padding: 3rem;\n    }\n    .md\\:px-0 {\n      padding-inline: 0;\n    }\n    .md\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .md\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .md\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .md\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .md\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .md\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .md\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .md\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .md\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .md\\:py-0 {\n      padding-block: 0;\n    }\n    .md\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .md\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .md\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .md\\:py-4 {\n      padding-block: 1rem;\n    }\n    .md\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .md\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .md\\:py-7 {\n      padding-block: 2rem;\n    }\n    .md\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .md\\:py-9 {\n      padding-block: 3rem;\n    }\n    .md\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .md\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .md\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .md\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .md\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .md\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .md\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .md\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .md\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .md\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .md\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .md\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .md\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .md\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .md\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .md\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .md\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .md\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .md\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .md\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .md\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .md\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .md\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .md\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .md\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .md\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .md\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .md\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .md\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .md\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .md\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .md\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .md\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .md\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .md\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .md\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .md\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .md\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .md\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .md\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .md\\:gap-0 {\n      gap: 0;\n    }\n    .md\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .md\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .md\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .md\\:gap-4 {\n      gap: 1rem;\n    }\n    .md\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .md\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .md\\:gap-7 {\n      gap: 2rem;\n    }\n    .md\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .md\\:gap-9 {\n      gap: 3rem;\n    }\n    .md\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .md\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .md\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .md\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .md\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .md\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .md\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .md\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .md\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .md\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .md\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .md\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .md\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .md\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .md\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .md\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .md\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .md\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .md\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .md\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .md\\:text-start {\n      text-align: start;\n    }\n    .md\\:text-end {\n      text-align: end;\n    }\n    .md\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .lg\\:float-start {\n      float: inline-start;\n    }\n    .lg\\:float-end {\n      float: inline-end;\n    }\n    .lg\\:float-none {\n      float: none;\n    }\n    .lg\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .lg\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .lg\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .lg\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .lg\\:object-fit-none {\n      object-fit: none;\n    }\n    .lg\\:d-inline {\n      display: inline;\n    }\n    .lg\\:d-inline-block {\n      display: inline-block;\n    }\n    .lg\\:d-block {\n      display: block;\n    }\n    .lg\\:d-grid {\n      display: grid;\n    }\n    .lg\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .lg\\:d-table {\n      display: table;\n    }\n    .lg\\:d-table-row {\n      display: table-row;\n    }\n    .lg\\:d-table-cell {\n      display: table-cell;\n    }\n    .lg\\:d-flex {\n      display: flex;\n    }\n    .lg\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .lg\\:d-contents {\n      display: contents;\n    }\n    .lg\\:d-flow-root {\n      display: flow-root;\n    }\n    .lg\\:d-none {\n      display: none;\n    }\n    .lg\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .lg\\:flex-row {\n      flex-direction: row;\n    }\n    .lg\\:flex-column {\n      flex-direction: column;\n    }\n    .lg\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .lg\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .lg\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .lg\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .lg\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .lg\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .lg\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .lg\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .lg\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .lg\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .lg\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .lg\\:justify-content-center {\n      justify-content: center;\n    }\n    .lg\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .lg\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .lg\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .lg\\:justify-items-start {\n      justify-items: start;\n    }\n    .lg\\:justify-items-end {\n      justify-items: end;\n    }\n    .lg\\:justify-items-center {\n      justify-items: center;\n    }\n    .lg\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .lg\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .lg\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .lg\\:justify-self-center {\n      justify-self: center;\n    }\n    .lg\\:align-items-start {\n      align-items: flex-start;\n    }\n    .lg\\:align-items-end {\n      align-items: flex-end;\n    }\n    .lg\\:align-items-center {\n      align-items: center;\n    }\n    .lg\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .lg\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .lg\\:align-content-start {\n      align-content: flex-start;\n    }\n    .lg\\:align-content-end {\n      align-content: flex-end;\n    }\n    .lg\\:align-content-center {\n      align-content: center;\n    }\n    .lg\\:align-content-between {\n      align-content: space-between;\n    }\n    .lg\\:align-content-around {\n      align-content: space-around;\n    }\n    .lg\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .lg\\:align-self-auto {\n      align-self: auto;\n    }\n    .lg\\:align-self-start {\n      align-self: flex-start;\n    }\n    .lg\\:align-self-end {\n      align-self: flex-end;\n    }\n    .lg\\:align-self-center {\n      align-self: center;\n    }\n    .lg\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .lg\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .lg\\:place-items-start {\n      place-items: start;\n    }\n    .lg\\:place-items-end {\n      place-items: end;\n    }\n    .lg\\:place-items-center {\n      place-items: center;\n    }\n    .lg\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .lg\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .lg\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .lg\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .lg\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .lg\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .lg\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .lg\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .lg\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .lg\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .lg\\:order-first {\n      order: -1;\n    }\n    .lg\\:order-0 {\n      order: 0;\n    }\n    .lg\\:order-1 {\n      order: 1;\n    }\n    .lg\\:order-2 {\n      order: 2;\n    }\n    .lg\\:order-3 {\n      order: 3;\n    }\n    .lg\\:order-4 {\n      order: 4;\n    }\n    .lg\\:order-5 {\n      order: 5;\n    }\n    .lg\\:order-last {\n      order: 6;\n    }\n    .lg\\:m-0 {\n      margin: 0;\n    }\n    .lg\\:m-1 {\n      margin: 0.25rem;\n    }\n    .lg\\:m-2 {\n      margin: 0.5rem;\n    }\n    .lg\\:m-3 {\n      margin: 0.75rem;\n    }\n    .lg\\:m-4 {\n      margin: 1rem;\n    }\n    .lg\\:m-5 {\n      margin: 1.25rem;\n    }\n    .lg\\:m-6 {\n      margin: 1.5rem;\n    }\n    .lg\\:m-7 {\n      margin: 2rem;\n    }\n    .lg\\:m-8 {\n      margin: 2.5rem;\n    }\n    .lg\\:m-9 {\n      margin: 3rem;\n    }\n    .lg\\:m-auto {\n      margin: auto;\n    }\n    .lg\\:mx-0 {\n      margin-inline: 0;\n    }\n    .lg\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .lg\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .lg\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .lg\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .lg\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .lg\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .lg\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .lg\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .lg\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .lg\\:mx-auto {\n      margin-inline: auto;\n    }\n    .lg\\:my-0 {\n      margin-block: 0;\n    }\n    .lg\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .lg\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .lg\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .lg\\:my-4 {\n      margin-block: 1rem;\n    }\n    .lg\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .lg\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .lg\\:my-7 {\n      margin-block: 2rem;\n    }\n    .lg\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .lg\\:my-9 {\n      margin-block: 3rem;\n    }\n    .lg\\:my-auto {\n      margin-block: auto;\n    }\n    .lg\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .lg\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .lg\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .lg\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .lg\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .lg\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .lg\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .lg\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .lg\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .lg\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .lg\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .lg\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .lg\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .lg\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .lg\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .lg\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .lg\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .lg\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .lg\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .lg\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .lg\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .lg\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .lg\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .lg\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .lg\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .lg\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .lg\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .lg\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .lg\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .lg\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .lg\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .lg\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .lg\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .lg\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .lg\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .lg\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .lg\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .lg\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .lg\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .lg\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .lg\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .lg\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .lg\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .lg\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .lg\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .lg\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .lg\\:p-0 {\n      padding: 0;\n    }\n    .lg\\:p-1 {\n      padding: 0.25rem;\n    }\n    .lg\\:p-2 {\n      padding: 0.5rem;\n    }\n    .lg\\:p-3 {\n      padding: 0.75rem;\n    }\n    .lg\\:p-4 {\n      padding: 1rem;\n    }\n    .lg\\:p-5 {\n      padding: 1.25rem;\n    }\n    .lg\\:p-6 {\n      padding: 1.5rem;\n    }\n    .lg\\:p-7 {\n      padding: 2rem;\n    }\n    .lg\\:p-8 {\n      padding: 2.5rem;\n    }\n    .lg\\:p-9 {\n      padding: 3rem;\n    }\n    .lg\\:px-0 {\n      padding-inline: 0;\n    }\n    .lg\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .lg\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .lg\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .lg\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .lg\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .lg\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .lg\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .lg\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .lg\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .lg\\:py-0 {\n      padding-block: 0;\n    }\n    .lg\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .lg\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .lg\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .lg\\:py-4 {\n      padding-block: 1rem;\n    }\n    .lg\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .lg\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .lg\\:py-7 {\n      padding-block: 2rem;\n    }\n    .lg\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .lg\\:py-9 {\n      padding-block: 3rem;\n    }\n    .lg\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .lg\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .lg\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .lg\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .lg\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .lg\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .lg\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .lg\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .lg\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .lg\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .lg\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .lg\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .lg\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .lg\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .lg\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .lg\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .lg\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .lg\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .lg\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .lg\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .lg\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .lg\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .lg\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .lg\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .lg\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .lg\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .lg\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .lg\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .lg\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .lg\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .lg\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .lg\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .lg\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .lg\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .lg\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .lg\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .lg\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .lg\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .lg\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .lg\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .lg\\:gap-0 {\n      gap: 0;\n    }\n    .lg\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .lg\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .lg\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .lg\\:gap-4 {\n      gap: 1rem;\n    }\n    .lg\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .lg\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .lg\\:gap-7 {\n      gap: 2rem;\n    }\n    .lg\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .lg\\:gap-9 {\n      gap: 3rem;\n    }\n    .lg\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .lg\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .lg\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .lg\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .lg\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .lg\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .lg\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .lg\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .lg\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .lg\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .lg\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .lg\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .lg\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .lg\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .lg\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .lg\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .lg\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .lg\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .lg\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .lg\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .lg\\:text-start {\n      text-align: start;\n    }\n    .lg\\:text-end {\n      text-align: end;\n    }\n    .lg\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .xl\\:float-start {\n      float: inline-start;\n    }\n    .xl\\:float-end {\n      float: inline-end;\n    }\n    .xl\\:float-none {\n      float: none;\n    }\n    .xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .xl\\:d-inline {\n      display: inline;\n    }\n    .xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .xl\\:d-block {\n      display: block;\n    }\n    .xl\\:d-grid {\n      display: grid;\n    }\n    .xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .xl\\:d-table {\n      display: table;\n    }\n    .xl\\:d-table-row {\n      display: table-row;\n    }\n    .xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .xl\\:d-flex {\n      display: flex;\n    }\n    .xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .xl\\:d-contents {\n      display: contents;\n    }\n    .xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .xl\\:d-none {\n      display: none;\n    }\n    .xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .xl\\:flex-row {\n      flex-direction: row;\n    }\n    .xl\\:flex-column {\n      flex-direction: column;\n    }\n    .xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .xl\\:align-items-center {\n      align-items: center;\n    }\n    .xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .xl\\:align-content-center {\n      align-content: center;\n    }\n    .xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .xl\\:align-self-center {\n      align-self: center;\n    }\n    .xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .xl\\:place-items-start {\n      place-items: start;\n    }\n    .xl\\:place-items-end {\n      place-items: end;\n    }\n    .xl\\:place-items-center {\n      place-items: center;\n    }\n    .xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .xl\\:order-first {\n      order: -1;\n    }\n    .xl\\:order-0 {\n      order: 0;\n    }\n    .xl\\:order-1 {\n      order: 1;\n    }\n    .xl\\:order-2 {\n      order: 2;\n    }\n    .xl\\:order-3 {\n      order: 3;\n    }\n    .xl\\:order-4 {\n      order: 4;\n    }\n    .xl\\:order-5 {\n      order: 5;\n    }\n    .xl\\:order-last {\n      order: 6;\n    }\n    .xl\\:m-0 {\n      margin: 0;\n    }\n    .xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .xl\\:m-4 {\n      margin: 1rem;\n    }\n    .xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .xl\\:m-7 {\n      margin: 2rem;\n    }\n    .xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .xl\\:m-9 {\n      margin: 3rem;\n    }\n    .xl\\:m-auto {\n      margin: auto;\n    }\n    .xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .xl\\:my-0 {\n      margin-block: 0;\n    }\n    .xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .xl\\:my-auto {\n      margin-block: auto;\n    }\n    .xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .xl\\:p-0 {\n      padding: 0;\n    }\n    .xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .xl\\:p-4 {\n      padding: 1rem;\n    }\n    .xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .xl\\:p-7 {\n      padding: 2rem;\n    }\n    .xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .xl\\:p-9 {\n      padding: 3rem;\n    }\n    .xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .xl\\:py-0 {\n      padding-block: 0;\n    }\n    .xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .xl\\:gap-0 {\n      gap: 0;\n    }\n    .xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .xl\\:text-start {\n      text-align: start;\n    }\n    .xl\\:text-end {\n      text-align: end;\n    }\n    .xl\\:text-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .\\32 xl\\:float-start {\n      float: inline-start;\n    }\n    .\\32 xl\\:float-end {\n      float: inline-end;\n    }\n    .\\32 xl\\:float-none {\n      float: none;\n    }\n    .\\32 xl\\:object-fit-contain {\n      object-fit: contain;\n    }\n    .\\32 xl\\:object-fit-cover {\n      object-fit: cover;\n    }\n    .\\32 xl\\:object-fit-fill {\n      object-fit: fill;\n    }\n    .\\32 xl\\:object-fit-scale {\n      object-fit: scale-down;\n    }\n    .\\32 xl\\:object-fit-none {\n      object-fit: none;\n    }\n    .\\32 xl\\:d-inline {\n      display: inline;\n    }\n    .\\32 xl\\:d-inline-block {\n      display: inline-block;\n    }\n    .\\32 xl\\:d-block {\n      display: block;\n    }\n    .\\32 xl\\:d-grid {\n      display: grid;\n    }\n    .\\32 xl\\:d-inline-grid {\n      display: inline-grid;\n    }\n    .\\32 xl\\:d-table {\n      display: table;\n    }\n    .\\32 xl\\:d-table-row {\n      display: table-row;\n    }\n    .\\32 xl\\:d-table-cell {\n      display: table-cell;\n    }\n    .\\32 xl\\:d-flex {\n      display: flex;\n    }\n    .\\32 xl\\:d-inline-flex {\n      display: inline-flex;\n    }\n    .\\32 xl\\:d-contents {\n      display: contents;\n    }\n    .\\32 xl\\:d-flow-root {\n      display: flow-root;\n    }\n    .\\32 xl\\:d-none {\n      display: none;\n    }\n    .\\32 xl\\:flex-fill {\n      flex: 1 1 auto;\n    }\n    .\\32 xl\\:flex-row {\n      flex-direction: row;\n    }\n    .\\32 xl\\:flex-column {\n      flex-direction: column;\n    }\n    .\\32 xl\\:flex-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .\\32 xl\\:flex-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .\\32 xl\\:flex-grow-0 {\n      flex-grow: 0;\n    }\n    .\\32 xl\\:flex-grow-1 {\n      flex-grow: 1;\n    }\n    .\\32 xl\\:flex-shrink-0 {\n      flex-shrink: 0;\n    }\n    .\\32 xl\\:flex-shrink-1 {\n      flex-shrink: 1;\n    }\n    .\\32 xl\\:flex-wrap {\n      flex-wrap: wrap;\n    }\n    .\\32 xl\\:flex-nowrap {\n      flex-wrap: nowrap;\n    }\n    .\\32 xl\\:flex-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .\\32 xl\\:justify-content-start {\n      justify-content: flex-start;\n    }\n    .\\32 xl\\:justify-content-end {\n      justify-content: flex-end;\n    }\n    .\\32 xl\\:justify-content-center {\n      justify-content: center;\n    }\n    .\\32 xl\\:justify-content-between {\n      justify-content: space-between;\n    }\n    .\\32 xl\\:justify-content-around {\n      justify-content: space-around;\n    }\n    .\\32 xl\\:justify-content-evenly {\n      justify-content: space-evenly;\n    }\n    .\\32 xl\\:justify-items-start {\n      justify-items: start;\n    }\n    .\\32 xl\\:justify-items-end {\n      justify-items: end;\n    }\n    .\\32 xl\\:justify-items-center {\n      justify-items: center;\n    }\n    .\\32 xl\\:justify-items-stretch {\n      justify-items: stretch;\n    }\n    .\\32 xl\\:justify-self-start {\n      justify-self: flex-start;\n    }\n    .\\32 xl\\:justify-self-end {\n      justify-self: flex-end;\n    }\n    .\\32 xl\\:justify-self-center {\n      justify-self: center;\n    }\n    .\\32 xl\\:align-items-start {\n      align-items: flex-start;\n    }\n    .\\32 xl\\:align-items-end {\n      align-items: flex-end;\n    }\n    .\\32 xl\\:align-items-center {\n      align-items: center;\n    }\n    .\\32 xl\\:align-items-baseline {\n      align-items: baseline;\n    }\n    .\\32 xl\\:align-items-stretch {\n      align-items: stretch;\n    }\n    .\\32 xl\\:align-content-start {\n      align-content: flex-start;\n    }\n    .\\32 xl\\:align-content-end {\n      align-content: flex-end;\n    }\n    .\\32 xl\\:align-content-center {\n      align-content: center;\n    }\n    .\\32 xl\\:align-content-between {\n      align-content: space-between;\n    }\n    .\\32 xl\\:align-content-around {\n      align-content: space-around;\n    }\n    .\\32 xl\\:align-content-stretch {\n      align-content: stretch;\n    }\n    .\\32 xl\\:align-self-auto {\n      align-self: auto;\n    }\n    .\\32 xl\\:align-self-start {\n      align-self: flex-start;\n    }\n    .\\32 xl\\:align-self-end {\n      align-self: flex-end;\n    }\n    .\\32 xl\\:align-self-center {\n      align-self: center;\n    }\n    .\\32 xl\\:align-self-baseline {\n      align-self: baseline;\n    }\n    .\\32 xl\\:align-self-stretch {\n      align-self: stretch;\n    }\n    .\\32 xl\\:place-items-start {\n      place-items: start;\n    }\n    .\\32 xl\\:place-items-end {\n      place-items: end;\n    }\n    .\\32 xl\\:place-items-center {\n      place-items: center;\n    }\n    .\\32 xl\\:place-items-stretch {\n      place-items: stretch;\n    }\n    .\\32 xl\\:grid-cols-1 {\n      grid-template-columns: 1fr;\n    }\n    .\\32 xl\\:grid-cols-2 {\n      grid-template-columns: repeat(2, 1fr);\n    }\n    .\\32 xl\\:grid-cols-3 {\n      grid-template-columns: repeat(3, 1fr);\n    }\n    .\\32 xl\\:grid-cols-4 {\n      grid-template-columns: repeat(4, 1fr);\n    }\n    .\\32 xl\\:grid-cols-6 {\n      grid-template-columns: repeat(6, 1fr);\n    }\n    .\\32 xl\\:grid-cols-fill {\n      grid-column: 1 / -1;\n    }\n    .\\32 xl\\:grid-auto-flow-row {\n      grid-auto-flow: row;\n    }\n    .\\32 xl\\:grid-auto-flow-column {\n      grid-auto-flow: column;\n    }\n    .\\32 xl\\:grid-auto-flow-dense {\n      grid-auto-flow: dense;\n    }\n    .\\32 xl\\:order-first {\n      order: -1;\n    }\n    .\\32 xl\\:order-0 {\n      order: 0;\n    }\n    .\\32 xl\\:order-1 {\n      order: 1;\n    }\n    .\\32 xl\\:order-2 {\n      order: 2;\n    }\n    .\\32 xl\\:order-3 {\n      order: 3;\n    }\n    .\\32 xl\\:order-4 {\n      order: 4;\n    }\n    .\\32 xl\\:order-5 {\n      order: 5;\n    }\n    .\\32 xl\\:order-last {\n      order: 6;\n    }\n    .\\32 xl\\:m-0 {\n      margin: 0;\n    }\n    .\\32 xl\\:m-1 {\n      margin: 0.25rem;\n    }\n    .\\32 xl\\:m-2 {\n      margin: 0.5rem;\n    }\n    .\\32 xl\\:m-3 {\n      margin: 0.75rem;\n    }\n    .\\32 xl\\:m-4 {\n      margin: 1rem;\n    }\n    .\\32 xl\\:m-5 {\n      margin: 1.25rem;\n    }\n    .\\32 xl\\:m-6 {\n      margin: 1.5rem;\n    }\n    .\\32 xl\\:m-7 {\n      margin: 2rem;\n    }\n    .\\32 xl\\:m-8 {\n      margin: 2.5rem;\n    }\n    .\\32 xl\\:m-9 {\n      margin: 3rem;\n    }\n    .\\32 xl\\:m-auto {\n      margin: auto;\n    }\n    .\\32 xl\\:mx-0 {\n      margin-inline: 0;\n    }\n    .\\32 xl\\:mx-1 {\n      margin-inline: 0.25rem;\n    }\n    .\\32 xl\\:mx-2 {\n      margin-inline: 0.5rem;\n    }\n    .\\32 xl\\:mx-3 {\n      margin-inline: 0.75rem;\n    }\n    .\\32 xl\\:mx-4 {\n      margin-inline: 1rem;\n    }\n    .\\32 xl\\:mx-5 {\n      margin-inline: 1.25rem;\n    }\n    .\\32 xl\\:mx-6 {\n      margin-inline: 1.5rem;\n    }\n    .\\32 xl\\:mx-7 {\n      margin-inline: 2rem;\n    }\n    .\\32 xl\\:mx-8 {\n      margin-inline: 2.5rem;\n    }\n    .\\32 xl\\:mx-9 {\n      margin-inline: 3rem;\n    }\n    .\\32 xl\\:mx-auto {\n      margin-inline: auto;\n    }\n    .\\32 xl\\:my-0 {\n      margin-block: 0;\n    }\n    .\\32 xl\\:my-1 {\n      margin-block: 0.25rem;\n    }\n    .\\32 xl\\:my-2 {\n      margin-block: 0.5rem;\n    }\n    .\\32 xl\\:my-3 {\n      margin-block: 0.75rem;\n    }\n    .\\32 xl\\:my-4 {\n      margin-block: 1rem;\n    }\n    .\\32 xl\\:my-5 {\n      margin-block: 1.25rem;\n    }\n    .\\32 xl\\:my-6 {\n      margin-block: 1.5rem;\n    }\n    .\\32 xl\\:my-7 {\n      margin-block: 2rem;\n    }\n    .\\32 xl\\:my-8 {\n      margin-block: 2.5rem;\n    }\n    .\\32 xl\\:my-9 {\n      margin-block: 3rem;\n    }\n    .\\32 xl\\:my-auto {\n      margin-block: auto;\n    }\n    .\\32 xl\\:mt-0 {\n      margin-block-start: 0;\n    }\n    .\\32 xl\\:mt-1 {\n      margin-block-start: 0.25rem;\n    }\n    .\\32 xl\\:mt-2 {\n      margin-block-start: 0.5rem;\n    }\n    .\\32 xl\\:mt-3 {\n      margin-block-start: 0.75rem;\n    }\n    .\\32 xl\\:mt-4 {\n      margin-block-start: 1rem;\n    }\n    .\\32 xl\\:mt-5 {\n      margin-block-start: 1.25rem;\n    }\n    .\\32 xl\\:mt-6 {\n      margin-block-start: 1.5rem;\n    }\n    .\\32 xl\\:mt-7 {\n      margin-block-start: 2rem;\n    }\n    .\\32 xl\\:mt-8 {\n      margin-block-start: 2.5rem;\n    }\n    .\\32 xl\\:mt-9 {\n      margin-block-start: 3rem;\n    }\n    .\\32 xl\\:mt-auto {\n      margin-block-start: auto;\n    }\n    .\\32 xl\\:me-0 {\n      margin-inline-end: 0;\n    }\n    .\\32 xl\\:me-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:me-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:me-3 {\n      margin-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:me-4 {\n      margin-inline-end: 1rem;\n    }\n    .\\32 xl\\:me-5 {\n      margin-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:me-6 {\n      margin-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:me-7 {\n      margin-inline-end: 2rem;\n    }\n    .\\32 xl\\:me-8 {\n      margin-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:me-9 {\n      margin-inline-end: 3rem;\n    }\n    .\\32 xl\\:me-auto {\n      margin-inline-end: auto;\n    }\n    .\\32 xl\\:mb-0 {\n      margin-block-end: 0;\n    }\n    .\\32 xl\\:mb-1 {\n      margin-block-end: 0.25rem;\n    }\n    .\\32 xl\\:mb-2 {\n      margin-block-end: 0.5rem;\n    }\n    .\\32 xl\\:mb-3 {\n      margin-block-end: 0.75rem;\n    }\n    .\\32 xl\\:mb-4 {\n      margin-block-end: 1rem;\n    }\n    .\\32 xl\\:mb-5 {\n      margin-block-end: 1.25rem;\n    }\n    .\\32 xl\\:mb-6 {\n      margin-block-end: 1.5rem;\n    }\n    .\\32 xl\\:mb-7 {\n      margin-block-end: 2rem;\n    }\n    .\\32 xl\\:mb-8 {\n      margin-block-end: 2.5rem;\n    }\n    .\\32 xl\\:mb-9 {\n      margin-block-end: 3rem;\n    }\n    .\\32 xl\\:mb-auto {\n      margin-block-end: auto;\n    }\n    .\\32 xl\\:ms-0 {\n      margin-inline-start: 0;\n    }\n    .\\32 xl\\:ms-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ms-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ms-3 {\n      margin-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ms-4 {\n      margin-inline-start: 1rem;\n    }\n    .\\32 xl\\:ms-5 {\n      margin-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ms-6 {\n      margin-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ms-7 {\n      margin-inline-start: 2rem;\n    }\n    .\\32 xl\\:ms-8 {\n      margin-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ms-9 {\n      margin-inline-start: 3rem;\n    }\n    .\\32 xl\\:ms--1 {\n      margin-inline-start: -0.25rem;\n    }\n    .\\32 xl\\:ms--2 {\n      margin-inline-start: -0.5rem;\n    }\n    .\\32 xl\\:ms-auto {\n      margin-inline-start: auto;\n    }\n    .\\32 xl\\:p-0 {\n      padding: 0;\n    }\n    .\\32 xl\\:p-1 {\n      padding: 0.25rem;\n    }\n    .\\32 xl\\:p-2 {\n      padding: 0.5rem;\n    }\n    .\\32 xl\\:p-3 {\n      padding: 0.75rem;\n    }\n    .\\32 xl\\:p-4 {\n      padding: 1rem;\n    }\n    .\\32 xl\\:p-5 {\n      padding: 1.25rem;\n    }\n    .\\32 xl\\:p-6 {\n      padding: 1.5rem;\n    }\n    .\\32 xl\\:p-7 {\n      padding: 2rem;\n    }\n    .\\32 xl\\:p-8 {\n      padding: 2.5rem;\n    }\n    .\\32 xl\\:p-9 {\n      padding: 3rem;\n    }\n    .\\32 xl\\:px-0 {\n      padding-inline: 0;\n    }\n    .\\32 xl\\:px-1 {\n      padding-inline: 0.25rem;\n    }\n    .\\32 xl\\:px-2 {\n      padding-inline: 0.5rem;\n    }\n    .\\32 xl\\:px-3 {\n      padding-inline: 0.75rem;\n    }\n    .\\32 xl\\:px-4 {\n      padding-inline: 1rem;\n    }\n    .\\32 xl\\:px-5 {\n      padding-inline: 1.25rem;\n    }\n    .\\32 xl\\:px-6 {\n      padding-inline: 1.5rem;\n    }\n    .\\32 xl\\:px-7 {\n      padding-inline: 2rem;\n    }\n    .\\32 xl\\:px-8 {\n      padding-inline: 2.5rem;\n    }\n    .\\32 xl\\:px-9 {\n      padding-inline: 3rem;\n    }\n    .\\32 xl\\:py-0 {\n      padding-block: 0;\n    }\n    .\\32 xl\\:py-1 {\n      padding-block: 0.25rem;\n    }\n    .\\32 xl\\:py-2 {\n      padding-block: 0.5rem;\n    }\n    .\\32 xl\\:py-3 {\n      padding-block: 0.75rem;\n    }\n    .\\32 xl\\:py-4 {\n      padding-block: 1rem;\n    }\n    .\\32 xl\\:py-5 {\n      padding-block: 1.25rem;\n    }\n    .\\32 xl\\:py-6 {\n      padding-block: 1.5rem;\n    }\n    .\\32 xl\\:py-7 {\n      padding-block: 2rem;\n    }\n    .\\32 xl\\:py-8 {\n      padding-block: 2.5rem;\n    }\n    .\\32 xl\\:py-9 {\n      padding-block: 3rem;\n    }\n    .\\32 xl\\:pt-0 {\n      padding-block-start: 0;\n    }\n    .\\32 xl\\:pt-1 {\n      padding-block-start: 0.25rem;\n    }\n    .\\32 xl\\:pt-2 {\n      padding-block-start: 0.5rem;\n    }\n    .\\32 xl\\:pt-3 {\n      padding-block-start: 0.75rem;\n    }\n    .\\32 xl\\:pt-4 {\n      padding-block-start: 1rem;\n    }\n    .\\32 xl\\:pt-5 {\n      padding-block-start: 1.25rem;\n    }\n    .\\32 xl\\:pt-6 {\n      padding-block-start: 1.5rem;\n    }\n    .\\32 xl\\:pt-7 {\n      padding-block-start: 2rem;\n    }\n    .\\32 xl\\:pt-8 {\n      padding-block-start: 2.5rem;\n    }\n    .\\32 xl\\:pt-9 {\n      padding-block-start: 3rem;\n    }\n    .\\32 xl\\:pe-0 {\n      padding-inline-end: 0;\n    }\n    .\\32 xl\\:pe-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .\\32 xl\\:pe-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .\\32 xl\\:pe-3 {\n      padding-inline-end: 0.75rem;\n    }\n    .\\32 xl\\:pe-4 {\n      padding-inline-end: 1rem;\n    }\n    .\\32 xl\\:pe-5 {\n      padding-inline-end: 1.25rem;\n    }\n    .\\32 xl\\:pe-6 {\n      padding-inline-end: 1.5rem;\n    }\n    .\\32 xl\\:pe-7 {\n      padding-inline-end: 2rem;\n    }\n    .\\32 xl\\:pe-8 {\n      padding-inline-end: 2.5rem;\n    }\n    .\\32 xl\\:pe-9 {\n      padding-inline-end: 3rem;\n    }\n    .\\32 xl\\:pb-0 {\n      padding-block-end: 0;\n    }\n    .\\32 xl\\:pb-1 {\n      padding-block-end: 0.25rem;\n    }\n    .\\32 xl\\:pb-2 {\n      padding-block-end: 0.5rem;\n    }\n    .\\32 xl\\:pb-3 {\n      padding-block-end: 0.75rem;\n    }\n    .\\32 xl\\:pb-4 {\n      padding-block-end: 1rem;\n    }\n    .\\32 xl\\:pb-5 {\n      padding-block-end: 1.25rem;\n    }\n    .\\32 xl\\:pb-6 {\n      padding-block-end: 1.5rem;\n    }\n    .\\32 xl\\:pb-7 {\n      padding-block-end: 2rem;\n    }\n    .\\32 xl\\:pb-8 {\n      padding-block-end: 2.5rem;\n    }\n    .\\32 xl\\:pb-9 {\n      padding-block-end: 3rem;\n    }\n    .\\32 xl\\:ps-0 {\n      padding-inline-start: 0;\n    }\n    .\\32 xl\\:ps-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .\\32 xl\\:ps-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .\\32 xl\\:ps-3 {\n      padding-inline-start: 0.75rem;\n    }\n    .\\32 xl\\:ps-4 {\n      padding-inline-start: 1rem;\n    }\n    .\\32 xl\\:ps-5 {\n      padding-inline-start: 1.25rem;\n    }\n    .\\32 xl\\:ps-6 {\n      padding-inline-start: 1.5rem;\n    }\n    .\\32 xl\\:ps-7 {\n      padding-inline-start: 2rem;\n    }\n    .\\32 xl\\:ps-8 {\n      padding-inline-start: 2.5rem;\n    }\n    .\\32 xl\\:ps-9 {\n      padding-inline-start: 3rem;\n    }\n    .\\32 xl\\:gap-0 {\n      gap: 0;\n    }\n    .\\32 xl\\:gap-1 {\n      gap: 0.25rem;\n    }\n    .\\32 xl\\:gap-2 {\n      gap: 0.5rem;\n    }\n    .\\32 xl\\:gap-3 {\n      gap: 0.75rem;\n    }\n    .\\32 xl\\:gap-4 {\n      gap: 1rem;\n    }\n    .\\32 xl\\:gap-5 {\n      gap: 1.25rem;\n    }\n    .\\32 xl\\:gap-6 {\n      gap: 1.5rem;\n    }\n    .\\32 xl\\:gap-7 {\n      gap: 2rem;\n    }\n    .\\32 xl\\:gap-8 {\n      gap: 2.5rem;\n    }\n    .\\32 xl\\:gap-9 {\n      gap: 3rem;\n    }\n    .\\32 xl\\:row-gap-0 {\n      row-gap: 0;\n    }\n    .\\32 xl\\:row-gap-1 {\n      row-gap: 0.25rem;\n    }\n    .\\32 xl\\:row-gap-2 {\n      row-gap: 0.5rem;\n    }\n    .\\32 xl\\:row-gap-3 {\n      row-gap: 0.75rem;\n    }\n    .\\32 xl\\:row-gap-4 {\n      row-gap: 1rem;\n    }\n    .\\32 xl\\:row-gap-5 {\n      row-gap: 1.25rem;\n    }\n    .\\32 xl\\:row-gap-6 {\n      row-gap: 1.5rem;\n    }\n    .\\32 xl\\:row-gap-7 {\n      row-gap: 2rem;\n    }\n    .\\32 xl\\:row-gap-8 {\n      row-gap: 2.5rem;\n    }\n    .\\32 xl\\:row-gap-9 {\n      row-gap: 3rem;\n    }\n    .\\32 xl\\:column-gap-0 {\n      column-gap: 0;\n    }\n    .\\32 xl\\:column-gap-1 {\n      column-gap: 0.25rem;\n    }\n    .\\32 xl\\:column-gap-2 {\n      column-gap: 0.5rem;\n    }\n    .\\32 xl\\:column-gap-3 {\n      column-gap: 0.75rem;\n    }\n    .\\32 xl\\:column-gap-4 {\n      column-gap: 1rem;\n    }\n    .\\32 xl\\:column-gap-5 {\n      column-gap: 1.25rem;\n    }\n    .\\32 xl\\:column-gap-6 {\n      column-gap: 1.5rem;\n    }\n    .\\32 xl\\:column-gap-7 {\n      column-gap: 2rem;\n    }\n    .\\32 xl\\:column-gap-8 {\n      column-gap: 2.5rem;\n    }\n    .\\32 xl\\:column-gap-9 {\n      column-gap: 3rem;\n    }\n    .\\32 xl\\:text-start {\n      text-align: start;\n    }\n    .\\32 xl\\:text-end {\n      text-align: end;\n    }\n    .\\32 xl\\:text-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// Easily convert colors to oklch() with https://oklch.com/\n\n$white: #fff !default;\n$black: #000 !default;\n\n// scss-docs-start colors-list\n$blue: oklch(60% 0.24 240) !default;\n$indigo: oklch(56% 0.26 288) !default;\n$violet: oklch(56% 0.24 300) !default;\n$purple: oklch(56% 0.24 320) !default;\n$pink: oklch(60% 0.22 4) !default;\n$red: oklch(60% 0.22 20) !default;\n$orange: oklch(70% 0.22 52) !default;\n$amber: oklch(79% 0.2 78) !default;\n$yellow: oklch(88% 0.24 88) !default;\n$lime: oklch(65% 0.24 135) !default;\n$green: oklch(64% 0.22 160) !default;\n$teal: oklch(68% 0.22 190) !default;\n$cyan: oklch(69% 0.22 220) !default;\n$brown: oklch(60% 0.12 54) !default;\n$gray: oklch(60% 0.02 245) !default;\n$pewter: oklch(65% 0.01 290) !default;\n// scss-docs-end colors-list\n\n// scss-docs-start colors-map\n$colors: () !default;\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: defaults(\n  (\n    \"blue\": $blue,\n    \"indigo\": $indigo,\n    \"violet\": $violet,\n    \"purple\": $purple,\n    \"pink\": $pink,\n    \"red\": $red,\n    \"orange\": $orange,\n    \"amber\": $amber,\n    \"yellow\": $yellow,\n    \"lime\": $lime,\n    \"green\": $green,\n    \"teal\": $teal,\n    \"cyan\": $cyan,\n    \"brown\": $brown,\n    \"gray\": $gray,\n    \"pewter\": $pewter,\n  ),\n  $colors\n);\n// scss-docs-end colors-map\n\n// scss-docs-start color-mix-options\n$color-mix-space: lab !default;\n$tint-color: var(--white) !default;\n$shade-color: var(--black) !default;\n\n$color-tints: (\n  \"025\": 94%,\n  \"050\": 90%,\n  \"100\": 80%,\n  \"200\": 60%,\n  \"300\": 40%,\n  \"400\": 20%,\n) !default;\n\n$color-shades: (\n  \"600\": 16%,\n  \"700\": 32%,\n  \"800\": 48%,\n  \"900\": 64%,\n  \"950\": 76%,\n  \"975\": 88%,\n) !default;\n// scss-docs-end color-mix-options\n\n// scss-docs-start color-tokens\n$color-tokens: () !default;\n\n$-color-defaults: () !default;\n@each $color, $value in $colors {\n  @each $stop, $percent in $color-tints {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$tint-color} #{$percent}, #{$value}));\n  }\n  $-color-defaults: map.set($-color-defaults, --#{$color}-500, #{$value});\n  @each $stop, $percent in $color-shades {\n    $-color-defaults: map.set($-color-defaults, --#{$color}-#{$stop}, color-mix(in #{$color-mix-space}, #{$shade-color} #{$percent}, #{$value}));\n  }\n}\n\n// stylelint-disable-next-line scss/dollar-variable-default\n$color-tokens: defaults($-color-defaults, $color-tokens);\n// scss-docs-end color-tokens\n\n:root {\n  @include tokens($color-tokens);\n}\n","// Mixin to output tokens as CSS custom properties\n\n// scss-docs-start mixin-tokens\n@mixin tokens($map) {\n  @each $prop, $value in $map {\n    #{$prop}: #{$value};\n  }\n}\n// scss-docs-end mixin-tokens\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"theme\" as *;\n@use \"mixins/tokens\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n$root-tokens: () !default;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// stylelint-disable-next-line scss/dollar-variable-default\n$root-tokens: defaults(\n  (\n    --black: #{$black},\n    --white: #{$white},\n\n    --gradient: #{$gradient},\n\n    // scss-docs-start root-font-weight-variables\n    --font-weight-lighter: lighter,\n    --font-weight-light: 300,\n    --font-weight-normal: 400,\n    --font-weight-medium: 500,\n    --font-weight-semibold: 600,\n    --font-weight-bold: 700,\n    --font-weight-bolder: bolder,\n    // scss-docs-end root-font-weight-variables\n\n    // scss-docs-start root-body-variables\n    --body-font-family: system-ui,\n    --body-font-size: var(--font-size-base),\n    --body-font-weight: #{$font-weight-base},\n    --body-line-height: #{$line-height-base},\n\n    --heading-color: #{$headings-color},\n\n    --hr-border-color: var(--border-color),\n\n    --link-color: light-dark(var(--primary-base), var(--primary-text)),\n    --link-decoration: #{$link-decoration},\n    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n    --font-mono: \"SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace\",\n    --code-font-size: 95%,\n    --code-color: var(--fg-2),\n\n    // scss-docs-start root-border-var\n    --border-width: #{$border-width},\n    --border-style: #{$border-style},\n    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    // scss-docs-end root-border-var\n\n    // scss-docs-start root-border-radius-var\n    --border-radius: .5rem,\n    --border-radius-xs: .375rem,\n    --border-radius-sm: .5rem,\n    --border-radius-lg: .75rem,\n    --border-radius-xl: 1rem,\n    --border-radius-2xl: 2rem,\n    --border-radius-pill: 50rem,\n    // scss-docs-end root-border-radius-var\n\n    // scss-docs-start root-box-shadow-variables\n    --box-shadow: 0 .5rem 1rem rgb(0 0 0 / 15%),\n    --box-shadow-sm: 0 .125rem .25rem rgb(0 0 0 / 7.5%),\n    --box-shadow-lg: 0 1rem 3rem rgb(0 0 0 / 17.5%),\n    --box-shadow-inset: inset 0 1px 2px rgb(0 0 0 / 7.5%),\n    // scss-docs-end root-box-shadow-variables\n\n    --spacer: 1rem,\n\n    // scss-docs-start root-focus-variables\n    --focus-ring-width: 3px,\n    --focus-ring-offset: 1px,\n    --focus-ring-color: var(--primary-focus-ring),\n    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n    // scss-docs-end root-focus-variables\n\n    // scss-docs-start root-form-variables\n    --control-checked-bg: var(--primary-base),\n    --control-checked-border-color: var(--control-checked-bg),\n    --control-active-bg: var(--primary-base),\n    --control-active-border-color: var(--control-active-bg),\n    --control-disabled-bg: var(--bg-3),\n    --control-disabled-opacity: .65,\n\n    --btn-input-fg: var(--fg-body),\n    --btn-input-bg: var(--bg-body),\n\n    --btn-input-min-height: 2.375rem,\n    --btn-input-padding-y: .375rem,\n    --btn-input-padding-x: .75rem,\n    --btn-input-font-size: var(--font-size-base),\n    --btn-input-line-height: var(--line-height-base),\n    --btn-input-border-radius: var(--border-radius),\n\n    --btn-input-xs-min-height: 1.5rem,\n    --btn-input-xs-padding-y: .125rem,\n    --btn-input-xs-padding-x: .5rem,\n    --btn-input-xs-font-size: var(--font-size-xs),\n    --btn-input-xs-line-height: 1.125,\n    --btn-input-xs-border-radius: var(--border-radius-xs),\n\n    --btn-input-sm-min-height: 2rem,\n    --btn-input-sm-padding-y: .25rem,\n    --btn-input-sm-padding-x: .625rem,\n    --btn-input-sm-font-size: var(--font-size-sm),\n    --btn-input-sm-line-height: var(--line-height-sm),\n    --btn-input-sm-border-radius: var(--border-radius-sm),\n\n    --btn-input-lg-min-height: 2.75rem,\n    --btn-input-lg-padding-y: .5rem,\n    --btn-input-lg-padding-x: 1rem,\n    --btn-input-lg-font-size: var(--font-size-md),\n    --btn-input-lg-line-height: var(--line-height-md),\n    --btn-input-lg-border-radius: var(--border-radius-lg),\n    // scss-docs-end root-form-variables\n\n    // scss-docs-start root-form-validation-variables\n    --form-valid-color: #{$form-valid-color},\n    --form-valid-border-color: #{$form-valid-border-color},\n    --form-invalid-color: #{$form-invalid-color},\n    --form-invalid-border-color: #{$form-invalid-border-color},\n    // scss-docs-end root-form-validation-variables\n  ),\n  $root-tokens\n);\n// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines\n// scss-docs-end root-tokens\n\n// scss-docs-start root-font-size-loop\n// Generate font-size and line-height tokens\n@each $name, $props in $font-sizes {\n  $root-tokens: map.set($root-tokens, --font-size-#{$name}, map.get($props, \"font-size\"));\n  $root-tokens: map.set($root-tokens, --line-height-#{$name}, map.get($props, \"line-height\"));\n}\n// scss-docs-end root-font-size-loop\n\n// scss-docs-start root-theme-tokens\n// Generate semantic theme colors\n@each $color-name, $color-map in $theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-theme-tokens\n\n// Generate breakpoint tokens\n@each $name, $value in $breakpoints {\n  $root-tokens: map.set($root-tokens, --breakpoint-#{$name}, $value);\n}\n\n:root {\n  @include tokens($root-tokens);\n\n  color-scheme: light dark;\n}\n\n[data-bs-theme=\"dark\"] {\n  color-scheme: dark;\n}\n\n[data-bs-theme=\"light\"] {\n  color-scheme: light;\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n$reboot-kbd-tokens: () !default;\n$reboot-mark-tokens: () !default;\n\n// scss-docs-start reboot-kbd-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-kbd-tokens: defaults(\n  (\n    --kbd-padding-y: .125rem,\n    --kbd-padding-x: .25rem,\n    --kbd-font-size: var(--font-size-xs),\n    --kbd-color: var(--bg-body),\n    --kbd-bg: var(--fg-2),\n    --kbd-border-radius: var(--border-radius-sm),\n  ),\n  $reboot-kbd-tokens\n);\n// scss-docs-end reboot-kbd-tokens\n\n// scss-docs-start reboot-mark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$reboot-mark-tokens: defaults(\n  (\n    --mark-padding: .1875em,\n    --mark-color: var(--fg-body),\n    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),\n  ),\n  $reboot-mark-tokens\n);\n// scss-docs-end reboot-mark-tokens\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    // Assume browser default font-size of 16px, or a user's preference\n    accent-color: var(--primary-base);\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n  }\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: var(--hr-margin-y, var(--spacer)) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: var(--font-size-3xl);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: var(--font-size-2xl);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: var(--font-size-xl);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: var(--font-size-lg);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: var(--font-size-md);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: var(--font-size-sm);\n  }\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: var(--small-font-size, 87.5%);\n  }\n\n  // Mark\n\n  mark,\n  .mark {\n    @include tokens($reboot-mark-tokens);\n    padding: var(--mark-padding);\n    color: var(--mark-color);\n    background-color: var(--mark-bg);\n  }\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: var(--sub-sup-font-size, .75em);\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-mono);\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: var(--code-font-size);\n    color: var(--code-color, inherit);\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: var(--code-font-size);\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    @include tokens($reboot-kbd-tokens);\n    padding: var(--kbd-padding-y) var(--kbd-padding-x);\n    font-size: var(--kbd-font-size);\n    color: var(--kbd-color);\n    background-color: var(--kbd-bg);\n    @include border-radius(var(--kbd-border-radius));\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--fg-3);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-millisecond-field,\n  ::-webkit-datetime-edit-second-field,\n  ::-webkit-datetime-edit-minute-field,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-ampm-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-week-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button,\n  ::-webkit-outer-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n\n// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n// Merge overrides on top of defaults, stripping null entries.\n// Null values let users remove map keys via @use ... with().\n// Accepts a list as $defaults (converted to a map with `true` values).\n@function defaults($defaults, $overrides) {\n  @if meta.type-of($defaults) == \"list\" {\n    $map: ();\n    @each $key in $defaults {\n      $map: map.merge($map, ($key: true));\n    }\n    $defaults: $map;\n  }\n  $merged: map.merge($defaults, $overrides);\n  @each $key, $value in $merged {\n    @if $value == null {\n      $merged: map.remove($merged, $key);\n    }\n  }\n  @return $merged;\n}\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            true !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer * .75,\n  4: $spacer,\n  5: $spacer * 1.25,\n  6: $spacer * 1.5,\n  7: $spacer * 2,\n  8: $spacer * 2.5,\n  9: $spacer * 3,\n) !default;\n\n$negative-spacers: (\n  \"-1\": $spacer * -.25,\n  \"-2\": $spacer * -.5,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start breakpoints\n$breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end breakpoints\n\n// @include _assert-ascending($breakpoints, \"$breakpoints\");\n// @include _assert-starts-at-zero($breakpoints, \"$breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-x: 1.5rem !default;\n$grid-gutter-y: 0 !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-x !default;\n\n$utilities: () !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\", \"%3c\"),\n  (\">\", \"%3e\"),\n  (\"#\", \"%23\"),\n  (\"(\", \"%28\"),\n  (\")\", \"%29\"),\n) !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, color-mix(var(--white) 15%, transparent), color-mix(var(--white) 0%, transparent)) !default;\n// scss-docs-end variable-gradient\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Links\n//\n// Style anchor elements.\n\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n// scss-docs-end border-variables\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$font-sizes: defaults(\n  (\n    \"xs\": (\n      \"font-size\": .75rem,\n      \"line-height\": 1.25\n    ),\n    \"sm\": (\n      \"font-size\": .875rem,\n      \"line-height\": 1.5\n    ),\n    \"md\": (\n      \"font-size\": 1rem,\n      \"line-height\": 1.5\n    ),\n    \"lg\": (\n      \"font-size\": clamp(1.25rem, 1rem + .625vw, 1.5rem),\n      \"line-height\": 1.5\n    ),\n    \"xl\": (\n      \"font-size\": clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n      \"line-height\": calc(2.5 / 1.75)\n    ),\n    \"2xl\": (\n      \"font-size\": clamp(1.75rem, 1.3rem + 1vw, 2rem),\n      \"line-height\": calc(3 / 2.25)\n    ),\n    \"3xl\": (\n      \"font-size\": clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n      \"line-height\": 1.2\n    ),\n    \"4xl\": (\n      \"font-size\": clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n      \"line-height\": 1.1\n    ),\n    \"5xl\": (\n      \"font-size\": clamp(3rem, 2rem + 5vw, 4rem),\n      \"line-height\": 1.1\n    ),\n    \"6xl\": (\n      \"font-size\": clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n      \"line-height\": 1\n    ),\n  ),\n  $font-sizes\n);\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-menu:                       1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n// $zindex-drawer-backdrop:         1040 !default;\n$zindex-drawer:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: var(--border-radius)) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/lists\" as *;\n@use \"../mixins/tokens\" as *;\n\n$blockquote-tokens: () !default;\n\n// scss-docs-start blockquote-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$blockquote-tokens: defaults(\n  (\n    --blockquote-gap: calc(var(--spacer) / 2),\n    --blockquote-padding-x: var(--spacer),\n    --blockquote-margin-y: 1rem,\n    --blockquote-font-size: var(--font-size-md),\n    --blockquote-border-width: .25rem,\n    --blockquote-border-color: var(--border-color),\n    --blockquote-footer-font-size: var(--font-size-sm),\n    --blockquote-footer-color: var(--fg-3),\n  ),\n  $blockquote-tokens\n);\n// scss-docs-end blockquote-tokens\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);\n    }\n  }\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: var(--initialism-font-size, var(--font-size-xs));\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    @include tokens($blockquote-tokens);\n    display: flex;\n    flex-direction: column;\n    gap: var(--blockquote-gap);\n    padding-inline-start: var(--blockquote-padding-x);\n    margin-bottom: var(--blockquote-margin-y);\n    font-size: var(--blockquote-font-size);\n    border-inline-start: var(--blockquote-border-width) solid var(--blockquote-border-color);\n\n    > * {\n      margin-bottom: 0;\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  figure.blockquote {\n    blockquote {\n      margin-bottom: 0;\n    }\n  }\n\n  .blockquote-footer {\n    font-size: var(--blockquote-footer-font-size);\n    color: var(--blockquote-footer-color);\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$table-tokens: () !default;\n\n// scss-docs-start table-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$table-tokens: defaults(\n  (\n    --table-cell-padding-y: .5rem,\n    --table-cell-padding-x: .5rem,\n    --table-cell-vertical-align: top,\n    --table-color: var(--fg-body),\n    --table-bg: var(--bg-body),\n    --table-accent-bg: transparent,\n    --table-border-width: var(--border-width),\n    --table-border-color: var(--border-color),\n    --table-group-separator-color: currentcolor,\n    --table-striped-color: var(--table-color),\n    --table-striped-bg-factor: 5%,\n    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),\n    --table-active-color: var(--table-color),\n    --table-active-bg-factor: 10%,\n    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),\n    --table-hover-color: var(--table-color),\n    --table-hover-bg-factor: 7.5%,\n    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),\n  ),\n  $table-tokens\n);\n// scss-docs-end table-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    @include tokens($table-tokens);\n\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: var(--table-cell-vertical-align);\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: var(--table-cell-padding-y) var(--table-cell-padding-x);\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: var(--table-border-width);\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      --table-cell-padding-y: .25rem;\n      --table-cell-padding-x: .25rem;\n    }\n  }\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: var(--table-border-width) 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 var(--table-border-width);\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate `.table-responsive` classes that act as container query contexts\n  // and enable horizontal scrolling when table content overflows.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    .#{$prefix}table-responsive {\n      container-type: inline-size;\n\n      @include media-breakpoint-down($breakpoint) {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n\n  // Stacked tables\n  //\n  // Generate `.table-stacked` classes that convert table rows into stacked\n  // blocks using container queries. Requires a `.table-responsive` ancestor\n  // and `data-cell` attributes on `<td>` elements for column labels.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include container-breakpoint-down($breakpoint) {\n      .#{$prefix}table-stacked {\n        > thead {\n          position: absolute;\n          width: 1px;\n          height: 1px;\n          padding: 0;\n          margin: -1px;\n          overflow: hidden;\n          clip: rect(0, 0, 0, 0);\n          white-space: nowrap;\n          border: 0;\n        }\n\n        > tbody > tr {\n          display: block;\n          padding-block: var(--table-cell-padding-y);\n\n          + tr {\n            border-block-start: var(--table-border-width) solid var(--table-border-color);\n          }\n\n          > td {\n            display: block;\n            padding: calc(var(--table-cell-padding-y) * .25) calc(var(--table-cell-padding-x) * 2);\n            border: 0;\n\n            &:first-child {\n              font-weight: var(--font-weight-bold);\n            }\n\n            // + td::before {\n            //   margin-block-start: .25rem;\n            // }\n\n            &[data-cell]:not(:first-child)::before {\n              display: block;\n              font-weight: var(--font-weight-semibold);\n              content: attr(data-cell);\n            }\n          }\n\n          > td:not(:first-child) + td::before {\n            margin-block-start: .25rem;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px)\n//\n// The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: null);\n}\n\n// Escape a name for use at the start of a CSS identifier.\n// Leading digits are hex-escaped (e.g., 2xl becomes \\32 xl).\n@function css-escape-ident($name) {\n  $name-str: \"#{$name}\";\n  $digits: \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\";\n  $first: string.slice($name-str, 1, 1);\n\n  @if list.index($digits, $first) {\n    @return \"\\\\3#{$first} #{string.slice($name-str, 2)}\";\n  }\n\n  @return $name-str;\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name\n// with an escaped colon as a Tailwind-style prefix for responsive class names.\n// Leading digits are CSS-escaped (e.g., 2xl becomes \\32 xl) for valid identifiers.\n//\n//    >> breakpoint-prefix(xs, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-prefix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"sm\\:\"\n//    >> breakpoint-prefix(2xl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\\32 xl\\:\"\n@function breakpoint-prefix($name, $breakpoints: $breakpoints) {\n  @if breakpoint-min($name, $breakpoints) == null {\n    @return \"\";\n  }\n\n  @return \"#{css-escape-ident($name)}\\\\:\";\n}\n\n// Iterate all breakpoints and provide the current name and prefix.\n//\n//    @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-up($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n    @content($breakpoint, $prefix);\n  }\n}\n\n// Iterate all breakpoints and provide the current name, next name, and next prefix.\n//\n//    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n//      // ...\n//    }\n@mixin loop-breakpoints-down($breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $next: breakpoint-next($breakpoint, $breakpoints);\n    $prefix: breakpoint-prefix($next, $breakpoints);\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Backwards-compatible alias for next/down breakpoint loops.\n@mixin loop-breakpoints($breakpoints: $breakpoints) {\n  @include loop-breakpoints-down($breakpoints) using ($breakpoint, $next, $prefix) {\n    @content($breakpoint, $next, $prefix);\n  }\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (width >= $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (width < $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (width < $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n\n// Container queries\n//\n// Container queries allow elements to respond to the size of a containing element\n// rather than the viewport. These mixins mirror the media-breakpoint-* mixins above.\n//\n// scss-docs-start container-query-mixins\n\n// Set an element as a query container.\n//\n//    @include set-container();                    // container-type: inline-size\n//    @include set-container(size);                // container-type: size\n//    @include set-container(inline-size, sidebar); // container: sidebar / inline-size\n//\n@mixin set-container($type: inline-size, $name: null) {\n  @if $name {\n    container: #{$name} / #{$type};\n  } @else {\n    container-type: #{$type};\n  }\n}\n\n// Container query of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider within the container.\n//\n//    @include container-breakpoint-up(md) { ... }\n//    @include container-breakpoint-up(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-up($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower within the container.\n//\n//    @include container-breakpoint-down(lg) { ... }\n//    @include container-breakpoint-down(lg, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-down($name, $container-name: null, $breakpoints: $breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @if $container-name {\n      @container #{$container-name} (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Container query that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints within the container.\n//\n//    @include container-breakpoint-between(md, xl) { ... }\n//    @include container-breakpoint-between(md, xl, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-between($lower, $upper, $container-name: null, $breakpoints: $breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($lower, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($upper, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Container query between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint within the container.\n//\n//    @include container-breakpoint-only(md) { ... }\n//    @include container-breakpoint-only(md, sidebar) { ... }  // Query named container\n//\n@mixin container-breakpoint-only($name, $container-name: null, $breakpoints: $breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @if $container-name {\n      @container #{$container-name} (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    } @else {\n      @container (width >= #{$min}) and (width < #{$max}) {\n        @content;\n      }\n    }\n  } @else if $max == null {\n    @include container-breakpoint-up($name, $container-name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include container-breakpoint-down($next, $container-name, $breakpoints) {\n      @content;\n    }\n  }\n}\n// scss-docs-end container-query-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/tokens\" as *;\n\n$thumbnail-tokens: () !default;\n\n// scss-docs-start thumbnail-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$thumbnail-tokens: defaults(\n  (\n    --thumbnail-padding: .25rem,\n    --thumbnail-bg: var(--bg-body),\n    --thumbnail-border-width: var(--border-width),\n    --thumbnail-border-color: var(--border-color),\n    --thumbnail-border-radius: var(--border-radius),\n    --thumbnail-box-shadow: var(--box-shadow-sm),\n  ),\n  $thumbnail-tokens\n);\n// scss-docs-end thumbnail-tokens\n\n$figure-tokens: () !default;\n\n// scss-docs-start figure-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$figure-tokens: defaults(\n  (\n    --figure-gap: calc(var(--spacer) * .5),\n    --figure-caption-font-size: var(--font-size-sm),\n    --figure-caption-color: var(--fg-3),\n  ),\n  $figure-tokens\n);\n// scss-docs-end figure-tokens\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n  .img-thumbnail {\n    @include tokens($thumbnail-tokens);\n    padding: var(--thumbnail-padding);\n    background-color: var(--thumbnail-bg);\n    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);\n    @include border-radius(var(--thumbnail-border-radius));\n    @include box-shadow(var(--thumbnail-box-shadow));\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  .figure {\n    @include tokens($figure-tokens);\n    // Ensures the caption's text aligns with the image.\n    display: flex;\n    flex-direction: column;\n    gap: var(--figure-gap);\n  }\n\n  .figure-caption {\n    font-size: var(--figure-caption-font-size);\n    color: var(--figure-caption-color);\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$prose-tokens: () !default;\n\n// scss-docs-start prose-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$prose-tokens: defaults(\n  (\n    --content-font-size: 1rem,\n    --content-gap: 20px,\n    --heading-color: light-dark(var(--gray-900), var(--white)),\n  ),\n  $prose-tokens\n);\n// scss-docs-end prose-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer content {\n  .prose {\n    @include tokens($prose-tokens);\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    :where(p, ul, ol, dl, pre, table, blockquote):not(:where(.not-prose, .not-prose *)) {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]):not(:where(.not-prose, .not-prose *)) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    :where(li ul, li ol):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    :where(hr):not(:where(.not-prose, .not-prose *)) {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    :where(h1, h2, h3, h4, h5, h6):not([class]):not(:where(.not-prose, .not-prose *)) {\n      margin-top: 0;\n      margin-bottom: calc(var(--content-gap) / -2);\n      font-weight: 500;\n      line-height: 1.25;\n\n      code {\n        font-weight: 600;\n        color: inherit;\n      }\n    }\n\n    :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .75);\n    }\n\n    :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {\n      margin-top: calc(var(--content-gap) * .5);\n    }\n\n    :where(h1):not(:where(.not-prose, .not-prose *)) {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    :where(h2):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.75em;\n    }\n    :where(h3):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.5em;\n    }\n    :where(h4):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.25em;\n    }\n    :where(h5):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1.125em;\n    }\n    :where(h6):not(:where(.not-prose, .not-prose *)) {\n      font-size: 1em;\n    }\n\n    :where(a:not([class])):not(:where(.not-prose, .not-prose *)) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n\n      &:hover {\n        text-decoration-color: var(--link-hover-color);\n      }\n    }\n\n    :where(img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n\n    :where(blockquote):not(:where(.not-prose, .not-prose *)) {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    :where(table):not(:where(.not-prose, .not-prose *)) {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])):not(:where(.not-prose, .not-prose *)) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    :where(dt):not(:where(.not-prose, .not-prose *)) {\n      font-weight: 500;\n    }\n\n    :where(video, img):not(:where(.not-prose, .not-prose *)) {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .#{breakpoint-prefix($breakpoint, $breakpoints)}container {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $breakpoints {\n          @if ($extend-breakpoint) {\n            .#{breakpoint-prefix($name, $breakpoints)}container {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-x};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-x};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter-x: $grid-gutter-x, $gutter-y: $grid-gutter-y) {\n  --gutter-x: #{$gutter-x};\n  --gutter-y: #{$gutter-y};\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-x, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      .#{$prefix}col {\n        flex: 1 0 0;\n      }\n\n      .#{$prefix}row-cols-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .#{$prefix}row-cols-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .#{$prefix}col-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}col-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($prefix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .#{$prefix}offset-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gx-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .#{$prefix}g-#{$key},\n        .#{$prefix}gy-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .#{$prefix}g-col-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .#{$prefix}g-start-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n\n$form-label-tokens: () !default;\n\n// scss-docs-start form-label-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-label-tokens: defaults(\n  (\n    --label-margin-bottom: calc(var(--spacer) / 2),\n    --label-font-size: null,\n    --label-font-style: null,\n    --label-font-weight: null,\n    --label-color: null,\n  ),\n  $form-label-tokens\n);\n// scss-docs-end form-label-tokens\n\n@layer forms {\n  .form-label,\n  .col-form-label {\n    font-size: var(--label-font-size, var(--font-size-sm));\n    font-style: var(--label-font-style, inherit);\n    font-weight: var(--label-font-weight, inherit);\n    color: var(--label-color, var(--fg-body));\n  }\n\n  .form-label {\n    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));\n  }\n\n  // For use with horizontal and inline forms, when you need the label (or legend)\n  // text to align with the form controls.\n  .col-form-label {\n    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));\n    padding-block: var(--label-padding-y);\n    margin-bottom: 0; // Override the `<legend>` default\n  }\n\n  .col-form-label-lg {\n    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));\n    font-size: var(--btn-input-lg-font-size);\n  }\n\n  .col-form-label-sm {\n    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));\n    font-size: var(--btn-input-sm-font-size);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-text-tokens: () !default;\n\n// scss-docs-start form-text-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-text-tokens: defaults(\n  (\n    --form-text-margin-top: .25rem,\n    --form-text-font-size: var(--font-size-sm),\n    --form-text-font-style: null,\n    --form-text-font-weight: null,\n    --form-text-color: var(--fg-3),\n  ),\n  $form-text-tokens\n);\n// scss-docs-end form-text-tokens\n\n@layer forms {\n  .form-text {\n    @include tokens($form-text-tokens);\n\n    margin-top: var(--form-text-margin-top);\n    font-size: var(--form-text-font-size);\n    font-style: var(--form-text-font-style);\n    font-weight: var(--form-text-font-weight);\n    color: var(--form-text-color);\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-control-tokens: () !default;\n\n// scss-docs-start form-control-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-tokens: defaults(\n  (\n    --control-min-height: var(--btn-input-min-height),\n    --control-padding-y: var(--btn-input-padding-y),\n    --control-padding-x: var(--btn-input-padding-x),\n    --control-font-size: var(--btn-input-font-size),\n    --control-line-height: var(--btn-input-line-height),\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n    --control-box-shadow: var(--box-shadow-inset),\n    --control-action-bg: var(--bg-1),\n    --control-action-hover-bg: var(--bg-2),\n    --control-transition-property: \"border-color, box-shadow\",\n    --control-transition-timing: .15s ease-in-out,\n    --control-transition: var(--control-transition-property) var(--control-transition-timing),\n    --control-placeholder-color: var(--fg-3),\n    --control-disabled-color: var(--control-fg),\n    --control-disabled-bg: var(--bg-2),\n    --control-disabled-border-color: var(--control-border-color),\n    --control-select-bg: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n    --control-select-bg-position: right .75rem center,\n    --control-select-bg-size: 16px 12px,\n    --control-select-bg-dark: #{escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\"))},\n  ),\n  $form-control-tokens\n);\n// scss-docs-end form-control-tokens\n\n// scss-docs-start form-control-sizes\n$form-control-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-control-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $form-control-sizes\n);\n// scss-docs-end form-control-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .form-control {\n    @include tokens($form-control-tokens);\n\n    display: flex;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow(var(--control-box-shadow));\n    @include transition(var(--control-transition));\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      @include focus-ring(true);\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: var(--control-placeholder-color);\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled inputs\n    //\n    // HTML5 says that controls under a fieldset > legend:first-child won't be\n    // disabled if the fieldset is disabled. Due to implementation difficulty, we\n    // don't honor that edge case; we style them as disabled anyway.\n    &:disabled {\n      color: var(--control-disabled-color);\n      background-color: var(--control-disabled-bg);\n      border-color: var(--control-disabled-border-color);\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // Date and time inputs\n    // &::-webkit-date-and-time-value {\n    //   // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   //\n    //   // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n    //   // Tested under iOS 16.2 / Safari 16.2\n    //   min-width: 85px; // Seems to be a good minimum safe width\n\n    //   // Add some height to date inputs on iOS\n    //   // https://github.com/twbs/bootstrap/issues/23307\n    //   // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n    //   // Multiply line-height by 1em if it has no unit\n    //   height: 1.5em;\n\n    //   // Android Chrome type=\"date\" is taller than the other inputs\n    //   // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n    //   margin: 0;\n    //   background-color: var(--red-500);\n    // }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n\n    // mdo-do: need to check this stuff out across browsers\n    &::-webkit-datetime-edit {\n      display: block;\n      height: 1.5rem;\n      padding: 0;\n      margin-bottom: -.125rem;\n    }\n    &::-webkit-datetime-edit-fields-wrapper {\n      height: 1.5rem;\n    }\n\n    // File inputs\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: var(--control-fg);\n      @include gradient-bg(var(--control-action-bg));\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition(var(--control-transition));\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: var(--control-action-hover-bg);\n    }\n  }\n\n  // Readonly controls as plain text\n  //\n  // Apply class to a readonly input to make it appear like regular plain\n  // text (without any border, background color, focus indicator)\n\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: var(--control-padding-y) 0;\n    margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n    line-height: var(--control-line-height);\n    color: var(--control-fg);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--control-border-width) 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n  }\n\n  @media (prefers-color-scheme: dark) {\n    select.form-control {\n      background-image: var(--control-select-bg-dark);\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n  @each $size, $_ in $form-control-sizes {\n    .form-control-#{$size} {\n      --control-min-height: var(--btn-input-#{$size}-min-height);\n      --control-padding-y: var(--btn-input-#{$size}-padding-y);\n      --control-padding-x: var(--btn-input-#{$size}-padding-x);\n      --control-font-size: var(--btn-input-#{$size}-font-size);\n      --control-line-height: var(--btn-input-#{$size}-line-height);\n      --control-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n\n  .form-control-color {\n    width: var(--control-min-height);\n    padding: var(--control-padding-y);\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius(var(--border-radius-sm));\n    }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$check-tokens: () !default;\n\n// scss-docs-start check-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$check-tokens: defaults(\n  (\n    --check-size: 1.25rem,\n    --check-margin-block: .125rem,\n    --check-bg: transparent,\n    --check-border-color: var(--border-color),\n    --check-border-radius: .375rem,\n    --check-checked-bg: var(--control-checked-bg),\n    --check-checked-border-color: var(--control-checked-border-color),\n    --check-indeterminate-bg: var(--control-checked-bg),\n    --check-indeterminate-border-color: var(--control-checked-border-color),\n    --check-active-bg: var(--control-active-bg),\n    --check-active-border-color: var(--control-active-border-color),\n    --check-disabled-bg: var(--control-disabled-bg),\n    --check-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $check-tokens\n);\n// scss-docs-end check-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .check {\n    @include tokens($check-tokens);\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: var(--check-margin-block);\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: var(--check-size);\n      height: var(--check-size);\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .3em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--theme-contrast, var(--primary-contrast));\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--fg-3);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n\n  .check-sm {\n    --check-size: 1rem;\n  }\n  .check-lg {\n    --check-size: 1.5rem;\n    --check-margin-block: 0;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$radio-tokens: () !default;\n\n// scss-docs-start radio-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$radio-tokens: defaults(\n  (\n    --radio-size: 1.25rem,\n    --radio-margin-block: .125rem,\n    --radio-bg: transparent,\n    --radio-border-color: var(--border-color),\n    --radio-checked-bg: var(--control-checked-bg),\n    --radio-checked-border-color: var(--control-checked-border-color),\n    --radio-disabled-bg: var(--control-disabled-bg),\n    --radio-disabled-opacity: var(--control-disabled-opacity),\n  ),\n  $radio-tokens\n);\n// scss-docs-end radio-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--fg-3);\n    }\n  }\n\n  .radio {\n    @include tokens($radio-tokens);\n\n    position: relative;\n    flex-shrink: 0;\n    width: var(--radio-size);\n    height: var(--radio-size);\n    margin-block: var(--radio-margin-block);\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n  }\n\n  .radio-sm {\n    --radio-size: 1rem;\n  }\n  .radio-lg {\n    --radio-size: 1.5rem;\n    --radio-margin-block: 0;\n  }\n}\n","@use \"../colors\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$switch-tokens: () !default;\n\n// scss-docs-start switch-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$switch-tokens: defaults(\n  (\n    --switch-height: 1.25rem,\n    --switch-width: calc(var(--switch-height) * 1.5),\n    --switch-padding: .0625rem,\n    --switch-margin-block: .125rem,\n    --switch-bg: var(--bg-3),\n    --switch-border-width: var(--border-width),\n    --switch-border-color: var(--border-color),\n    --switch-indicator-bg: var(--white),\n    --switch-checked-bg: var(--control-checked-bg),\n    --switch-checked-border-color: var(--switch-checked-bg),\n    --switch-checked-indicator-bg: var(--white),\n    --switch-disabled-bg: var(--control-disabled-bg),\n    --switch-disabled-indicator-bg: var(--fg-3),\n  ),\n  $switch-tokens\n);\n// scss-docs-end switch-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer forms {\n  .switch {\n    @include tokens($switch-tokens);\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    margin-block: var(--switch-margin-block);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--theme-contrast, var(--switch-indicator-bg));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1rem;\n  }\n  .switch-lg {\n    --switch-height: 1.5rem;\n    --switch-margin-block: 0;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/tokens\" as *;\n\n$range-tokens: () !default;\n\n// scss-docs-start range-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$range-tokens: defaults(\n  (\n    --range-track-width: 100%,\n    --range-track-height: .5rem,\n    --range-track-cursor: pointer,\n    --range-track-bg: var(--bg-3),\n    --range-track-border-radius: 1rem,\n    --range-track-box-shadow: var(--box-shadow-inset),\n    --range-thumb-width: 1rem,\n    --range-thumb-height: var(--range-thumb-width),\n    --range-thumb-bg: var(--primary-base),\n    --range-thumb-border: var(--range-thumb-bg) solid var(--border-color),\n    --range-thumb-border-radius: 1rem,\n    --range-thumb-box-shadow: \"0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%)\",\n    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),\n    --range-thumb-disabled-bg: var(--fg-3),\n    --range-thumb-transition-property: \"background-color, border-color, box-shadow\",\n    --range-thumb-transition-timing: .15s ease-in-out,\n    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),\n  ),\n  $range-tokens\n);\n// scss-docs-end range-tokens\n\n// scss-docs-start range-mixins\n@mixin range-thumb() {\n  width: var(--range-thumb-width);\n  height: var(--range-thumb-height);\n  appearance: none;\n  @include gradient-bg(var(--range-thumb-bg));\n  border: var(--range-thumb-border);\n  @include border-radius(var(--range-thumb-border-radius));\n  @include box-shadow(var(--range-thumb-box-shadow));\n  @include transition(var(--range-thumb-transition));\n\n  &:active {\n    @include gradient-bg(var(--range-thumb-active-bg));\n  }\n}\n\n@mixin range-track() {\n  width: var(--range-track-width);\n  height: var(--range-track-height);\n  color: transparent; // Why?\n  cursor: var(--range-track-cursor);\n  background-color: var(--range-track-bg);\n  border-color: transparent; // Firefox specific?\n  @include border-radius(var(--range-track-border-radius));\n  @include box-shadow(var(--range-track-box-shadow));\n}\n// scss-docs-end range-mixins\n\n@layer forms {\n  .form-range {\n    @include tokens($range-tokens);\n\n    width: 100%;\n    height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:hover {\n      &::-webkit-slider-thumb {\n        @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));\n      }\n    }\n\n    &:focus-visible {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 0;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 0;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      @include range-thumb();\n      margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific\n    }\n\n    &::-moz-range-thumb {\n      @include range-thumb();\n    }\n\n    &::-webkit-slider-runnable-track {\n      @include range-track();\n    }\n\n    &::-moz-range-track {\n      @include range-track();\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n\n      &::-moz-range-thumb {\n        background-color: var(--range-thumb-disabled-bg);\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n$form-floating-tokens: () !default;\n\n// scss-docs-start form-floating-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-floating-tokens: defaults(\n  (\n    --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),\n    --form-floating-line-height: 1.25,\n    --form-floating-padding-x: var(--btn-input-padding-x),\n    --form-floating-padding-y: 1rem,\n    --form-floating-input-padding-t: 1.625rem,\n    --form-floating-input-padding-b: .625rem,\n    --form-floating-label-height: 1.5em,\n    --form-floating-label-opacity: .65,\n    --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),\n    --form-floating-label-disabled-color: var(--fg-3),\n    --form-floating-transition-property: \"opacity, transform\",\n    --form-floating-transition-timing: .1s ease-in-out,\n    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),\n  ),\n  $form-floating-tokens\n);\n// scss-docs-end form-floating-tokens\n\n@layer forms {\n  .form-floating {\n    @include tokens($form-floating-tokens);\n\n    position: relative;\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      display: flex;\n      align-items: center;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      overflow: hidden;\n      color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: var(--input-btn-border-width) solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition(var(--form-floating-transition));\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      height: var(--form-floating-height);\n      min-height: var(--form-floating-height);\n      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);\n      line-height: var(--form-floating-line-height);\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: var(--form-floating-input-padding-t);\n        padding-bottom: var(--form-floating-input-padding-b);\n      }\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: var(--form-floating-label-transform);\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);\n        z-index: -1;\n        height: var(--form-floating-label-height);\n        content: \"\";\n        background-color: var(--control-bg);\n        @include border-radius(var(--btn-input-border-radius));\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: var(--control-disabled-bg);\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: var(--control-border-width) 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: var(--form-floating-label-disabled-color);\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"form-variables\" as *;\n\n$input-group-addon-tokens: () !default;\n\n// scss-docs-start input-group-addon-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-addon-tokens: defaults(\n  (\n    --input-group-addon-padding-y: var(--btn-input-padding-y),\n    --input-group-addon-padding-x: var(--btn-input-padding-x),\n    --input-group-addon-font-size: var(--btn-input-font-size),\n    --input-group-addon-line-height: var(--btn-input-line-height),\n    --input-group-addon-color: var(--fg-body),\n    --input-group-addon-bg: var(--bg-2),\n    --input-group-addon-border-color: var(--border-color),\n  ),\n  $input-group-addon-tokens\n);\n// scss-docs-end input-group-addon-tokens\n\n// scss-docs-start input-group-sizes\n$input-group-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$input-group-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $input-group-sizes\n);\n// scss-docs-end input-group-sizes\n\n@layer components {\n  .input-group {\n    @include tokens($input-group-addon-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    > .input-group-btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);\n    font-size: var(--input-group-addon-font-size); // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: var(--input-group-addon-line-height);\n    color: var(--input-group-addon-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--input-group-addon-bg);\n    border: var(--border-width) solid var(--input-group-addon-border-color);\n    @include border-radius(var(--btn-input-border-radius));\n  }\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  @each $size, $_ in $input-group-sizes {\n    .input-group-#{$size} {\n      > .form-control,\n      > .input-group-text,\n      > .btn {\n        min-height: var(--btn-input-#{$size}-min-height);\n        padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);\n        font-size: var(--btn-input-#{$size}-font-size);\n        @include border-radius(var(--btn-input-#{$size}-border-radius));\n      }\n    }\n  }\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.menu-toggle-split):not(.menu):not(.form-floating),\n      > .menu-toggle-split:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * var(--border-width));\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$strength-tokens: () !default;\n\n// scss-docs-start strength-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$strength-tokens: defaults(\n  (\n    --strength-height: .375rem,\n    --strength-gap: .25rem,\n    --strength-margin-top: .25rem,\n    --strength-border-radius: var(--border-radius-pill),\n    --strength-bg: var(--bg-2),\n    --strength-color: var(--bg-2),\n    --strength-weak-color: var(--danger-bg),\n    --strength-fair-color: var(--warning-bg),\n    --strength-good-color: var(--info-bg),\n    --strength-strong-color: var(--success-bg),\n  ),\n  $strength-tokens\n);\n// scss-docs-end strength-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start strength-levels\n$strength-levels: weak, fair, good, strong !default;\n// scss-docs-end strength-levels\n\n$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    @include tokens($strength-tokens);\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: var(--strength-margin-top);\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  @each $level in $strength-levels {\n    .strength[data-bs-strength=\"#{$level}\"] {\n      --strength-color: var(--strength-#{$level}-color);\n    }\n  }\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: var(--strength-margin-top);\n    font-size: var(--font-size-xs);\n    color: var(--strength-color, var(--fg-3));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    @include tokens($strength-tokens);\n\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: var(--strength-margin-top);\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    @each $level in $strength-levels {\n      &[data-bs-strength=\"#{$level}\"] {\n        --strength-color: var(--strength-#{$level}-color);\n        --strength-width: #{list.index($strength-levels, $level) * 25%};\n      }\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$otp-tokens: () !default;\n\n// scss-docs-start otp-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-tokens: defaults(\n  (\n    --otp-size: var(--btn-input-lg-min-height),\n    --otp-font-size: var(--btn-input-font-size),\n    --otp-gap: .5rem,\n  ),\n  $otp-tokens\n);\n// scss-docs-end otp-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start otp-sizes\n$otp-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$otp-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $otp-sizes\n);\n// scss-docs-end otp-sizes\n\n@layer components {\n  .otp {\n    @include tokens($otp-tokens);\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n      @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  @each $size, $_ in $otp-sizes {\n    .otp-#{$size} {\n      --otp-size: var(--btn-input-#{$size}-min-height);\n      --otp-font-size: var(--btn-input-#{$size}-font-size);\n      --otp-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$form-adorn-tokens: () !default;\n\n// scss-docs-start form-adorn-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-adorn-tokens: defaults(\n  (\n    --form-adorn-gap: .375rem,\n    --form-adorn-icon-size: 1rem,\n    --form-adorn-icon-color: var(--fg-2),\n  ),\n  $form-adorn-tokens\n);\n// scss-docs-end form-adorn-tokens\n\n@layer forms {\n  .form-adorn {\n    @include tokens($form-adorn-tokens);\n\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Prevent default `.form-control` focus\n    &:focus-visible {\n      outline: 0;\n    }\n\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$chip-input-tokens: () !default;\n\n// scss-docs-start chip-input-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-input-tokens: defaults(\n  (\n    --chip-input-padding-y: .75rem,\n    --chip-input-padding-x: .75rem,\n    --chip-input-gap: .375rem,\n    --chip-input-ghost-min-width: 5rem,\n    --control-fg: var(--btn-input-fg),\n    --control-bg: var(--btn-input-bg),\n    --control-border-width: var(--border-width),\n    --control-border-color: var(--border-color),\n    --control-border-radius: var(--border-radius),\n  ),\n  $chip-input-tokens\n);\n// scss-docs-end chip-input-tokens\n\n@layer forms {\n  .chip-input {\n    @include tokens($chip-input-tokens);\n\n    // Flexbox wrapping layout\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n    color: var(--control-fg);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: var(--focus-ring-color);\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1 1 0;\n      min-width: var(--chip-input-ghost-min-width);\n      min-height: 1.75rem;\n    }\n\n    // Disabled state\n    &.disabled,\n    &:has(.form-ghost:disabled) {\n      background-color: var(--bg-2);\n      opacity: 1;\n\n      > .chip {\n        opacity: var(--control-disabled-opacity);\n\n        .chip-dismiss {\n          pointer-events: none;\n        }\n      }\n\n      > .form-ghost {\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Theme cascade: .chip-input.theme-* passes theme to child chips\n  // Chips inherit theme variables from parent\n  // @each $color-name, $theme-props in $theme-map {\n  //   .chip-input.theme-#{$color-name} > .chip {\n  //     // Subtle default state\n  //     --chip-color: var(--theme-text);\n  //     --chip-bg: var(--theme-bg-subtle);\n\n  //     // Selected/active solid state\n  //     --chip-selected-color: var(--theme-contrast);\n  //     --chip-selected-bg: var(--theme-bg);\n  //     --chip-selected-border-color: var(--theme-bg);\n  //   }\n  // }\n\n  // // Sizing variants\n  // .chip-input-sm {\n  //   --control-min-height: #{$control-min-height-sm};\n  //   --control-padding-y: #{$control-padding-y-sm};\n  //   --control-padding-x: #{$control-padding-x-sm};\n  //   --control-font-size: #{$control-font-size-sm};\n  //   --control-line-height: #{$control-line-height-sm};\n  //   --control-border-radius: #{$control-border-radius-sm};\n  //   --chip-input-gap: .25rem;\n  //   --chip-input-chip-font-size: .8125em;\n  // }\n\n  // .chip-input-lg {\n  //   --control-min-height: #{$control-min-height-lg};\n  //   --control-padding-y: #{$control-padding-y-lg};\n  //   --control-padding-x: #{$control-padding-x-lg};\n  //   --control-font-size: #{$control-font-size-lg};\n  //   --control-line-height: #{$control-line-height-lg};\n  //   --control-border-radius: #{$control-border-radius-lg};\n  //   --chip-input-gap: .5rem;\n  //   --chip-input-chip-font-size: .9375em;\n  // }\n}\n","@use \"../mixins/transition\" as *;\n\n@layer components {\n  .combobox-toggle {\n    display: inline-flex;\n    gap: .5rem;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding-inline-end: var(--control-padding-x);\n    text-align: start;\n    cursor: pointer;\n\n    &.show {\n      background-color: var(--bg-1);\n    }\n\n    &:disabled,\n    &.disabled {\n      cursor: not-allowed;\n      opacity: .65;\n    }\n  }\n\n  .combobox-value {\n    display: flex;\n    flex: 1;\n    gap: .5rem;\n    align-items: center;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .combobox-placeholder {\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .combobox-caret {\n    flex-shrink: 0;\n    @include transition(transform .2s ease-in-out);\n\n    .show > & {\n      transform: rotate(180deg);\n    }\n  }\n\n  .combobox-toggle + .menu {\n    --menu-max-height: 300px;\n    --menu-overflow-y: auto;\n  }\n\n  .combobox-search {\n    position: sticky;\n    top: 0;\n    z-index: 1;\n    padding: var(--menu-padding-x, .25rem);\n    background-color: var(--menu-bg, var(--bg-body));\n  }\n\n  .combobox-search-input {\n    width: 100%;\n  }\n\n  .combobox-no-results {\n    padding: 1rem;\n    font-size: var(--font-size-sm);\n    color: var(--fg-3);\n    text-align: center;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$tooltip-tokens: () !default;\n\n// scss-docs-start tooltip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$tooltip-tokens: defaults(\n  (\n    --tooltip-zindex: #{$zindex-tooltip},\n    --tooltip-max-width: 200px,\n    --tooltip-padding-x: #{$spacer * .75},\n    --tooltip-padding-y: #{$spacer * .375},\n    --tooltip-font-size: var(--font-size-sm),\n    --tooltip-color: var(--bg-body),\n    --tooltip-bg: var(--fg-body),\n    --tooltip-border-radius: var(--border-radius),\n    --tooltip-opacity: .95,\n    --tooltip-arrow-width: .8rem,\n    --tooltip-arrow-height: .4rem,\n  ),\n  $tooltip-tokens\n);\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x:     var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size:     var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n  .tooltip {\n    @include tokens($tooltip-tokens);\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@mixin reset-text {\n  font-family: var(--body-font-family);\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: var(--body-font-weight);\n  line-height: var(--body-line-height);\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server-side validation.\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-ring-color: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: calc(var(--control-padding-x) * 3.5);\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right var(--control-padding-x) center;\n        background-size: 1rem;\n      }\n\n      &:focus-visible {\n        @include focus-ring(true, $color: $focus-ring-color);\n        border-color: $border-color;\n      }\n    }\n\n    &::-webkit-contacts-auto-fill-button {\n      @if $enable-validation-icons {\n        // margin-inline-end: calc(var(--control-padding-x) * 3);\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // padding-inline-end: $input-height-inner;\n        background-position: right var(--control-padding-x) top var(--control-padding-x);\n        // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        // width: calc($form-color-width + $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        // box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer components {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           var(--font-size-xs) !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success-text) !default;\n$form-feedback-invalid-color:       var(--danger-text) !default;\n\n$form-feedback-icon-valid-color:    #00a748 !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  #dd0d37 !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": var(--success-contrast),\n    \"tooltip-bg-color\": var(--success-bg),\n    \"focus-ring-color\": var(--success-focus-ring),\n    \"border-color\": var(--success-border),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": var(--danger-contrast),\n    \"tooltip-bg-color\": var(--danger-bg),\n    \"focus-ring-color\": var(--danger-focus-ring),\n    \"border-color\": var(--danger-border),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n@use \"../mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n$button-tokens: () !default;\n\n// scss-docs-start btn-tokens\n$button-tokens: defaults(\n  (\n    --btn-min-height: var(--btn-input-min-height),\n    --btn-padding-x: var(--btn-input-padding-x),\n    --btn-padding-y: var(--btn-input-padding-y),\n    --btn-font-size: var(--btn-input-font-size),\n    --btn-font-weight: var(--btn-input-font-weight),\n    --btn-line-height: var(--btn-input-line-height),\n    --btn-color: var(--fg-body),\n    --btn-white-space: nowrap,\n    --btn-border-width: var(--border-width),\n    --btn-border-color: transparent,\n    --btn-border-radius: var(--border-radius),\n    --btn-hover-border-color: transparent,\n    --btn-disabled-opacity: .65,\n    --btn-transition-timing: .15s ease-in-out,\n    --btn-transition-property: \"color, background-color, border-color, box-shadow\",\n    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),\n  ),\n  $button-tokens\n);\n// scss-docs-end btn-tokens\n\n$button-link-tokens: () !default;\n\n// scss-docs-start button-link-tokens\n$button-link-tokens: defaults(\n  (\n    --btn-font-weight: var(--font-weight-normal),\n    --btn-color: var(--link-color),\n    --btn-bg: transparent,\n    --btn-border-color: transparent,\n    --btn-hover-color: var(--link-hover-color),\n    --btn-hover-bg: transparent,\n    --btn-hover-border-color: transparent,\n    --btn-active-color: var(--link-hover-color),\n    --btn-active-bg: transparent,\n    --btn-active-border-color: transparent,\n    --btn-disabled-color: var(--fg-3),\n    --btn-disabled-border-color: transparent,\n  ),\n  $button-link-tokens\n);\n// scss-docs-end button-link-tokens\n\n$button-styled-tokens: () !default;\n\n// scss-docs-start button-styled-tokens\n$button-styled-tokens: defaults(\n  (\n    --btn-gradient-start: rgb(255 255 255 / 12.5%),\n    --btn-gradient-end: rgb(0 0 0 / 7.5%) ,\n    --btn-border-mix-color: #000,\n    --btn-border-mix-amount: 10%,\n    --btn-border-hover-mix-amount: 12.5%,\n    --btn-border-active-mix-amount: 20%,\n    --btn-shadow: \"0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)\",\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,\n  ),\n  $button-styled-tokens\n);\n// scss-docs-end button-styled-tokens\n\n// scss-docs-start button-sizes\n$button-sizes: () !default;\n$button-sizes: defaults(\n  (\"xs\", \"sm\", \"lg\"),\n  $button-sizes\n);\n// scss-docs-end button-sizes\n\n$button-variants: () !default;\n\n// scss-docs-start btn-variants\n$button-variants: defaults(\n  (\n    \"solid\": (\n      \"base\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"border-color\": \"bg\",\n        \"color\": \"contrast\"\n      )\n    ),\n    \"outline\": (\n      \"base\": (\n        \"bg\": \"transparent\",\n        \"color\": \"text\",\n        \"border-color\": \"border\"\n      ),\n      \"hover\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      ),\n      \"active\": (\n        \"bg\": \"bg\",\n        \"color\": \"contrast\",\n        \"border-color\": \"bg\"\n      )\n    ),\n    \"subtle\": (\n      \"base\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"bg\": (\"bg-muted\", \"bg-subtle\"),\n        \"color\": \"text-emphasis\"\n      ),\n      \"active\": (\n        \"bg\": \"bg-subtle\",\n        \"color\": \"text-emphasis\"\n      )\n    ),\n    \"text\": (\n      \"base\": (\n        \"color\": \"text\",\n        \"bg\": \"transparent\",\n        \"border-color\": \"transparent\"\n      ),\n      \"hover\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      ),\n      \"active\": (\n        \"color\": \"text\",\n        \"bg\": \"bg-subtle\"\n      )\n    )\n  ),\n  $button-variants\n);\n// scss-docs-end btn-variants\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n//\n// Base styles\n//\n\n// scss-docs-start btn-variant-selectors\n$btn-variant-selectors: (string.unquote(\".btn\"), string.unquote(\".btn-link\"), string.unquote(\".btn-icon\")) !default;\n@each $variant, $config in $button-variants {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n// scss-docs-end btn-variant-selectors\n\n@layer components {\n  #{$btn-variant-selectors} {\n    @include tokens($button-tokens);\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: var(--btn-white-space);\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition(var(--btn-transition));\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $config in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    @include tokens($button-link-tokens);\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n\n  // scss-docs-start btn-sizes-loop\n  @each $size, $_ in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: var(--btn-input-#{$size}-min-height);\n      --btn-padding-y: var(--btn-input-#{$size}-padding-y);\n      --btn-padding-x: var(--btn-input-#{$size}-padding-x);\n      --btn-font-size: var(--btn-input-#{$size}-font-size);\n      --btn-line-height: var(--btn-input-#{$size}-line-height);\n      --btn-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end btn-sizes-loop\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    @include tokens($button-styled-tokens);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../mixins/border-radius\" as *;\n\n@layer components {\n  // Make the div behave like a button\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle; // match .btn alignment given font-size hack above\n\n    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius(var(--btn-border-radius));\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * var(--btn-border-width));\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(:has(+ .menu)),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/tokens\" as *;\n\n$btn-close-tokens: () !default;\n\n// scss-docs-start btn-close-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$btn-close-tokens: defaults(\n  (\n    --btn-close-size: 1.25rem,\n    --btn-close-color: inherit,\n    --btn-close-opacity: .5,\n    --btn-close-hover-opacity: .75,\n    --btn-close-focus-opacity: .85,\n    --btn-close-disabled-opacity: .25,\n  ),\n  $btn-close-tokens\n);\n// scss-docs-end btn-close-tokens\n\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    @include tokens($btn-close-tokens);\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent; // for button elements\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus-visible {\n      opacity: var(--btn-close-focus-opacity);\n      @include focus-ring();\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$accordion-tokens: () !default;\n\n// scss-docs-start accordion-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$accordion-tokens: defaults(\n  (\n    --accordion-padding-x: 1.25rem,\n    --accordion-padding-y: 1rem,\n    --accordion-color: var(--fg-body),\n    --accordion-bg: var(--bg-body),\n    --accordion-transition-property: \"color, background-color, border-radius\",\n    --accordion-transition-timing: \".15s ease-in-out\",\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n    --accordion-border-color: var(--border-color),\n    --accordion-border-width: var(--border-width),\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n    --accordion-btn-color: var(--fg-2),\n    --accordion-btn-bg: var(--bg-body),\n    --accordion-btn-icon-width: 1rem,\n    --accordion-btn-icon-transform: rotate(-180deg),\n    --accordion-btn-icon-transition: transform .2s ease-in-out,\n    --accordion-active-color: var(--fg),\n    --accordion-active-bg: var(--bg-2),\n  ),\n  $accordion-tokens\n);\n// scss-docs-end accordion-tokens\n\n@layer components {\n  .accordion {\n    @include tokens($accordion-tokens);\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    @include transition(var(--accordion-transition));\n\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$alert-tokens: () !default;\n\n// scss-docs-start alert-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$alert-tokens: defaults(\n  (\n    --alert-gap: #{$spacer * .75},\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n    --alert-padding-x: #{$spacer},\n    --alert-padding-y: #{$spacer},\n    --alert-color: var(--theme-text, inherit),\n    --alert-border-color: var(--theme-border, var(--border-color)),\n    --alert-border: var(--border-width) solid var(--alert-border-color),\n    --alert-border-radius: var(--border-radius),\n    --alert-link-color: inherit,\n    --hr-border-color: var(--theme-border, var(--border-color)),\n  ),\n  $alert-tokens\n);\n// scss-docs-end alert-tokens\n\n@layer components {\n  .alert {\n    @include tokens($alert-tokens);\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert > p {\n    margin-bottom: 0;\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$avatar-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-tokens: defaults(\n  (\n    --avatar-size: 2.5rem,\n    --avatar-border-radius: 50%,\n    --avatar-border-width: 2px,\n    --avatar-border-color: var(--bg-body),\n    --avatar-bg: var(--bg-2),\n    --avatar-color: var(--fg-body),\n    // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback\n    --avatar-status-size: .75rem,\n    --avatar-status-border-width: 2px,\n    --avatar-status-border-color: var(--bg-body),\n    --avatar-stack-spacing: -.3,\n    --avatar-stack-transition: \"transform .2s ease-in-out\",\n  ),\n  $avatar-tokens\n);\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$avatar-sizes: defaults(\n  (\n    \"xs\": (\n      size: 1.5rem,\n      status-size: .625rem,\n    ),\n    \"sm\": (\n      size: 2rem,\n    ),\n    \"lg\": (\n      size: 3rem,\n      status-size: 1rem,\n    ),\n    \"xl\": (\n      size: 4rem,\n      status-size: 1.25rem,\n    ),\n  ),\n  $avatar-sizes\n);\n// scss-docs-end avatar-sizes\n\n@layer components {\n  .avatar {\n    @include tokens($avatar-tokens);\n\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * .4);\n    font-weight: var(--avatar-font-weight, var(--font-weight-medium));\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    @include border-radius(var(--avatar-border-radius));\n  }\n\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    @include border-radius(inherit);\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    @include border-radius(50%);\n\n    &.status-online {\n      background-color: var(--green-500);\n    }\n\n    &.status-offline {\n      background-color: var(--gray-400);\n      @include border-radius(20%);\n    }\n\n    &.status-busy {\n      background-color: var(--red-500);\n      @include border-radius(20%);\n    }\n\n    &.status-away {\n      background-color: var(--yellow-500);\n    }\n  }\n\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n\n    .avatar {\n      // Stack spacing is calculated as a percentage of avatar size\n      margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n      border: var(--avatar-border-width) solid var(--avatar-border-color);\n      mask-image: none;\n      @include transition(var(--avatar-stack-transition));\n\n      &:last-child {\n        margin-left: 0;\n      }\n\n      &:hover {\n        z-index: 1;\n        transform: translateY(-2px);\n      }\n    }\n  }\n\n  @each $size, $tokens in $avatar-sizes {\n    .avatar-#{$size},\n    .avatar-stack-#{$size} {\n      --avatar-size: #{map.get($tokens, size)};\n\n      @if map.has-key($tokens, status-size) {\n        --avatar-status-size: #{map.get($tokens, status-size)};\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n\n$badge-tokens: () !default;\n\n// scss-docs-start badge-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$badge-tokens: defaults(\n  (\n    --badge-padding-x: .625em,\n    --badge-padding-y: .25em,\n    --badge-font-size: clamp(12px, .75em, .75em),\n    --badge-font-weight: var(--font-weight-semibold),\n    --badge-color: inherit,\n    --badge-bg: var(--bg-2),\n    --badge-border-width: var(--border-width),\n    --badge-border-color: transparent,\n    --badge-border-radius: var(--border-radius-lg),\n  ),\n  $badge-tokens\n);\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    @include tokens($badge-tokens);\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n$breadcrumb-tokens: () !default;\n\n// scss-docs-start breadcrumb-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$breadcrumb-tokens: defaults(\n  (\n    --breadcrumb-margin-bottom: 1rem,\n    --breadcrumb-font-size: inherit,\n    --breadcrumb-bg: transparent,\n    --breadcrumb-border-radius: var(--border-radius),\n    --breadcrumb-divider-color: var(--fg-4),\n    --breadcrumb-link-padding-x: .75rem,\n    --breadcrumb-link-padding-y: .25rem,\n    --breadcrumb-link-color: var(--fg-3),\n    --breadcrumb-link-hover-color: var(--fg-2),\n    --breadcrumb-link-hover-bg: var(--bg-1),\n    --breadcrumb-link-active-color: var(--fg-1),\n    --breadcrumb-link-border-radius: var(--border-radius-lg),\n  ),\n  $breadcrumb-tokens\n);\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n  .breadcrumb {\n    @include tokens($breadcrumb-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$chip-tokens: () !default;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$chip-tokens: defaults(\n  (\n    --chip-height: 1.75rem,\n    --chip-padding-x: .625rem,\n    --chip-gap: .3125rem,\n    --chip-border-radius: var(--border-radius-pill),\n    --chip-img-size: 1.25rem,\n    --chip-icon-size: 1rem,\n    --chip-dismiss-size: 1rem,\n    --chip-dismiss-opacity: .65,\n    --chip-dismiss-hover-opacity: 1,\n    --chip-color: var(--theme-text, var(--fg-body)),\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n    --chip-border-color: transparent,\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n  ),\n  $chip-tokens\n);\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .chip {\n    @include tokens($chip-tokens);\n\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    font-size: var(--chip-font-size, var(--font-size-sm));\n    font-weight: var(--chip-font-weight, var(--font-weight-base));\n    line-height: var(--chip-line-height, 1.25rem);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    @include border-radius(var(--chip-border-radius));\n\n    &:hover {\n      --chip-bg: var(--theme-bg-muted, var(--bg-3));\n    }\n\n    &:focus-visible {\n      outline: 0;\n      // @include focus-ring();\n    }\n\n    &.active {\n      --chip-color: var(--chip-selected-color);\n      --chip-bg: var(--chip-selected-bg);\n      --chip-border-color: var(--chip-selected-border-color);\n\n      &:hover {\n        --chip-bg: var(--chip-selected-bg);\n        opacity: .9;\n      }\n    }\n\n    &.disabled,\n    &:disabled {\n      pointer-events: none;\n      opacity: .65;\n    }\n  }\n\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    @include border-radius(50%);\n\n    &:first-child {\n      margin-inline-start: -.375rem;\n    }\n  }\n\n  // Chip icon (left side)\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -.25);\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n    }\n\n    > img {\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n      object-fit: cover;\n      @include border-radius(50%);\n    }\n  }\n\n  // Dismiss button (right side)\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n    margin-inline-end: calc(var(--chip-padding-x) * -.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n    // @include transition(opacity .15s ease-in-out);\n\n    &:hover {\n      opacity: var(--chip-dismiss-hover-opacity);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      opacity: 1;\n      @include focus-ring();\n    }\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-dismiss-size);\n      height: var(--chip-dismiss-size);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"layout/breakpoints\" as *;\n\n$card-tokens: () !default;\n\n// scss-docs-start card-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$card-tokens: defaults(\n  (\n    --card-spacer-y: #{$spacer},\n    --card-spacer-x: #{$spacer},\n    --card-subtitle-color: inherit,\n    --card-border-width: var(--border-width),\n    --card-border-color: var(--border-color-translucent),\n    --card-border-radius: var(--border-radius-lg),\n    --card-box-shadow: none,\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --card-cap-padding-y: #{$spacer * .75},\n    --card-cap-padding-x: #{$spacer},\n    --card-cap-bg: var(--bg-1),\n    --card-cap-color: inherit,\n    --card-height: auto,\n    --card-color: inherit,\n    --card-bg: var(--bg-body),\n    --card-img-overlay-padding: #{$spacer},\n    --card-group-margin: #{$grid-gutter-x * .5},\n    --card-body-gap: #{$spacer * .5},\n  ),\n  $card-tokens\n);\n// scss-docs-end card-tokens\n\n@layer components {\n  .card {\n    @include tokens($card-tokens);\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-title,\n  .card-subtitle,\n  .card-text {\n    align-self: stretch;\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-translucent {\n    background-color: color-mix(in oklch, var(--card-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n\n    .card-header,\n    .card-footer {\n      background-color: color-mix(in oklch, var(--card-cap-bg) 60%, transparent);\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/tokens\" as *;\n\n$carousel-tokens: () !default;\n\n// scss-docs-start carousel-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-tokens: defaults(\n  (\n    --carousel-control-color: #{$white},\n    --carousel-control-width: 15%,\n    --carousel-control-opacity: .5,\n    --carousel-control-hover-opacity: .9,\n    --carousel-control-transition: opacity .15s ease,\n    --carousel-control-icon-filter: none,\n    --carousel-indicator-width: 30px,\n    --carousel-indicator-height: 3px,\n    --carousel-indicator-hit-area-height: 10px,\n    --carousel-indicator-spacer: 3px,\n    --carousel-indicator-opacity: .5,\n    --carousel-indicator-active-bg: var(--white),\n    --carousel-indicator-active-opacity: 1,\n    --carousel-indicator-transition: opacity .6s ease,\n    --carousel-caption-width: 70%,\n    --carousel-caption-color: var(--white),\n    --carousel-caption-padding-y: 1.25rem,\n    --carousel-caption-spacer: 1.25rem,\n    --carousel-control-icon-width: 2rem,\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n    --carousel-transition-duration: .6s,\n    --carousel-transition: transform .6s ease-in-out,\n  ),\n  $carousel-tokens\n);\n// scss-docs-end carousel-tokens\n\n$carousel-dark-tokens: () !default;\n\n// scss-docs-start carousel-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$carousel-dark-tokens: defaults(\n  (\n    --carousel-indicator-active-bg: #{$black},\n    --carousel-caption-color: #{$black},\n    --carousel-control-icon-filter: invert(1) grayscale(100),\n  ),\n  $carousel-dark-tokens\n);\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n    @include tokens($carousel-tokens);\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition(var(--carousel-transition));\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s var(--carousel-transition-duration));\n    }\n  }\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    @include transition(var(--carousel-control-transition));\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: var(--carousel-control-color);\n      text-decoration: none;\n      outline: 0;\n      opacity: var(--carousel-control-hover-opacity);\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: var(--carousel-indicator-width);\n      height: var(--carousel-indicator-height);\n      padding: 0;\n      margin-inline: var(--carousel-indicator-spacer);\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n      opacity: var(--carousel-indicator-opacity);\n      @include transition(var(--carousel-indicator-transition));\n    }\n\n    .active {\n      opacity: var(--carousel-indicator-active-opacity);\n    }\n  }\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * .5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * .5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    @include tokens($carousel-dark-tokens);\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/tokens\" as *;\n\n$datepicker-tokens: () !default;\n\n// scss-docs-start datepicker-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$datepicker-tokens: defaults(\n  (\n    --datepicker-padding: 1rem,\n    --datepicker-bg: var(--bg-body),\n    --datepicker-color: var(--fg-body),\n    --datepicker-border-color: var(--border-color-translucent),\n    --datepicker-border-width: var(--border-width),\n    --datepicker-border-radius: var(--border-radius-lg),\n    --datepicker-box-shadow: var(--box-shadow),\n    --datepicker-font-size: var(--font-size-sm),\n    --datepicker-min-width: 280px,\n    --datepicker-zindex: #{$zindex-menu},\n    --datepicker-header-font-weight: 600,\n    --datepicker-weekday-color: var(--fg-3),\n    --datepicker-day-hover-bg: var(--bg-1),\n    --datepicker-day-selected-bg: var(--primary-bg),\n    --datepicker-day-selected-color: var(--primary-contrast),\n    --datepicker-day-today-bg: var(--bg-2),\n    --datepicker-day-today-color: var(--fg-1),\n    --datepicker-day-disabled-color: var(--fg-4),\n  ),\n  $datepicker-tokens\n);\n// scss-docs-end datepicker-tokens\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    @include tokens($datepicker-tokens);\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n    @include border-radius(var(--datepicker-border-radius));\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius(var(--border-radius));\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    pointer-events: none;\n  }\n\n  [data-vc-dates=\"row\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--border-radius);\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: var(--border-radius);\n    border-end-end-radius: var(--border-radius);\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: var(--border-radius);\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: var(--border-radius);\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: var(--border-radius);\n    border-bottom-right-radius: var(--border-radius);\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: var(--border-radius);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/dialog-shared\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n$dialog-tokens: () !default;\n\n// scss-docs-start dialog-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-tokens: defaults(\n  (\n    --dialog-padding: 1rem,\n    --dialog-width: 500px,\n    --dialog-margin: 1.75rem,\n    --dialog-color: var(--fg-body),\n    --dialog-bg: var(--bg-body),\n    --dialog-border-color: var(--border-color-translucent),\n    --dialog-border-width: var(--border-width),\n    --dialog-border-radius: var(--border-radius-lg),\n    --dialog-box-shadow: var(--box-shadow-lg),\n    --dialog-transition-duration: .3s,\n    --dialog-transition-timing: cubic-bezier(.22, 1, .36, 1),\n    --dialog-backdrop-bg: rgb(0 0 0 / 50%),\n    --dialog-backdrop-blur: 8px,\n    --dialog-header-padding: 1rem,\n    --dialog-header-border-color: var(--border-color),\n    --dialog-header-border-width: var(--border-width),\n    --dialog-footer-padding: 1rem,\n    --dialog-footer-border-color: var(--border-color),\n    --dialog-footer-border-width: var(--border-width),\n    --dialog-footer-gap: .5rem,\n  ),\n  $dialog-tokens\n);\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$dialog-sizes: defaults(\n  (\n    sm: 280px,\n    lg: 800px,\n    xl: 1140px,\n  ),\n  $dialog-sizes\n);\n// scss-docs-end dialog-sizes\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    @include tokens($dialog-tokens);\n\n    // Override UA display:none so visibility controls the hidden state,\n    // enabling reliable cross-browser exit animations after close().\n    display: flex;\n    flex-direction: column;\n    width: var(--dialog-width);\n    max-width: 100%;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    overflow: visible;\n    color: var(--dialog-color);\n    visibility: hidden;\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Animated variant (default) — transitions, opacity fade, slide transforms.\n    // Adding .dialog-instant skips all animations (instant show/hide).\n    &:not(.dialog-instant) {\n      // Exit state: faded out\n      opacity: 0;\n\n      // Exit transition: opacity and transform animate out, then visibility\n      // flips hidden after the animation completes (via the delay).\n      @include transition(\n        opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n        transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n        visibility 0s var(--dialog-transition-duration)\n      );\n\n      // Slide-down variant: enters from above, exits below.\n      &.dialog-slide-down {\n        transform: translateY(3rem);\n      }\n\n      // Slide-up variant: enters from below, exits above.\n      &.dialog-slide-up {\n        transform: translateY(-3rem);\n      }\n\n      // Open state: visible and faded in.\n      // Entry transition: visibility flips visible immediately (0s, no delay),\n      // then opacity and transform animate in.\n      &[open] {\n        overflow: visible;\n        visibility: visible;\n        opacity: 1;\n        @include transition(\n          opacity var(--dialog-transition-duration) var(--dialog-transition-timing),\n          transform var(--dialog-transition-duration) var(--dialog-transition-timing),\n          visibility 0s\n        );\n        transform: none;\n      }\n\n      // Static backdrop \"bounce\" animation (modal dialogs only)\n      &.dialog-static {\n        transform: scale(1.02);\n      }\n\n      // Native backdrop styling with transitions\n      &::backdrop {\n        background-color: var(--dialog-backdrop-bg);\n        backdrop-filter: blur(var(--dialog-backdrop-blur));\n        @include backdrop-transitions(var(--dialog-transition-duration), var(--dialog-transition-timing));\n      }\n    }\n\n    // Instant variant — no transitions, just snap visibility\n    &.dialog-instant {\n      &::backdrop {\n        background-color: var(--dialog-backdrop-bg);\n        backdrop-filter: blur(var(--dialog-backdrop-blur));\n      }\n    }\n\n    // Open state base (always applies, regardless of animation mode)\n    &[open] {\n      overflow: visible;\n      visibility: visible;\n      opacity: 1;\n      transform: none;\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Entry animations via @starting-style.\n  // Slide variants need this because the base transform is the EXIT position,\n  // but entry must start from the opposite direction.\n  // ::backdrop needs it since it only exists in the top layer.\n  // Default dialog (fade only) does NOT need @starting-style — the base\n  // opacity: 0 state serves as the entry-from state with visibility trick.\n  @starting-style {\n    // Slide-down: enters from above (negative Y), slides down into view\n    .dialog:not(.dialog-instant).dialog-slide-down[open] {\n      opacity: 0;\n      transform: translateY(-3rem);\n    }\n\n    // Slide-up: enters from below (positive Y), slides up into view\n    .dialog:not(.dialog-instant).dialog-slide-up[open] {\n      opacity: 0;\n      transform: translateY(3rem);\n    }\n\n    .dialog:not(.dialog-instant)::backdrop {\n      background-color: transparent;\n      backdrop-filter: blur(0);\n    }\n  }\n\n  // Dialog sizes\n  @each $size, $value in $dialog-sizes {\n    .dialog-#{$size} { --dialog-width: #{$value}; }\n  }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($breakpoints) {\n    $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n    @if $prefix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .#{css-escape-ident($breakpoint)}-down\\:dialog-fullscreen {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    @include dialog-header(var(--dialog-header-padding));\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    @include dialog-title();\n    font-size: var(--font-size-md);\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    @include dialog-body(var(--dialog-padding));\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    @include dialog-footer(var(--dialog-footer-padding), var(--dialog-footer-gap), var(--dialog-footer-border-width), var(--dialog-footer-border-color));\n  }\n}\n","// Shared mixins for Dialog and Drawer sub-components.\n// Both components use identical header/footer/body/title patterns\n// with different token namespaces.\n\n@use \"transition\" as *;\n\n// Header: flex row with close button alignment\n@mixin dialog-header($padding) {\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  padding: $padding;\n}\n\n// Footer: flex row with end-aligned actions\n@mixin dialog-footer($padding, $gap, $border-width, $border-color) {\n  display: flex;\n  flex-shrink: 0;\n  flex-wrap: wrap;\n  gap: $gap;\n  align-items: center;\n  justify-content: flex-end;\n  padding: $padding;\n  border-block-start: $border-width solid $border-color;\n}\n\n// Body: flexible scrollable content area\n@mixin dialog-body($padding) {\n  flex: 1 1 auto;\n  padding: $padding;\n}\n\n// Title: reset margin, set line-height\n@mixin dialog-title($line-height: 1.5) {\n  margin-bottom: 0;\n  line-height: $line-height;\n}\n\n// Backdrop transitions for ::backdrop pseudo-element.\n// Both Dialog and Drawer use identical allow-discrete transitions\n// on display and overlay to keep ::backdrop in the top layer.\n@mixin backdrop-transitions($duration, $timing) {\n  @include transition(\n    background-color $duration $timing,\n    backdrop-filter $duration $timing,\n    display $duration allow-discrete,\n    overlay $duration allow-discrete\n  );\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function\n$menu-tokens: () !default;\n\n// scss-docs-start menu-tokens\n$menu-tokens: defaults(\n  (\n    --menu-zindex: #{$zindex-menu},\n    --menu-gap: .125rem,\n    --menu-min-width: 10rem,\n    --menu-padding-x: .25rem,\n    --menu-padding-y: .25rem,\n    --menu-spacer: .125rem,\n    --menu-font-size: var(--font-size-sm),\n    --menu-color: var(--fg-body),\n    --menu-bg: var(--bg-body),\n    // --menu-border-color: var(--border-color-translucent),\n    // --menu-border-radius: var(--border-radius-lg),\n    // --menu-border-width: var(--border-width),\n    --menu-box-shadow: var(--box-shadow),\n    // --menu-max-height: none,\n    --menu-divider-bg: var(--border-color-translucent),\n    --menu-divider-margin-y: .125rem,\n    --menu-divider-margin-x: .25rem,\n    --menu-item-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-color: var(--menu-color, var(--fg-body)),\n    --menu-item-hover-bg: var(--bg-1),\n    --menu-item-active-color: var(--primary-contrast),\n    --menu-item-active-bg: var(--primary-bg),\n    --menu-item-disabled-color: var(--fg-3),\n    --menu-item-gap: .5rem,\n    --menu-item-padding-x: .75rem,\n    --menu-item-padding-y: .25rem,\n    --menu-item-border-radius: var(--border-radius),\n    --menu-icon-size: 1rem,\n    --menu-image-size: 1.5rem,\n    --menu-description-font-size: var(--font-size-xs),\n    --menu-check-color: currentcolor,\n    --menu-header-color: var(--fg-3),\n    --menu-header-padding-x: .75rem,\n    --menu-header-padding-y: .25rem,\n    --menu-transition-duration: .15s,\n    --menu-transition-timing: cubic-bezier(.22, 1, .36, 1),\n  ),\n  $menu-tokens\n);\n// scss-docs-end menu-tokens\n\n// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default\n\n@layer components {\n  .menu {\n    @include tokens($menu-tokens);\n\n    position: absolute;\n    z-index: var(--menu-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--menu-gap);\n    min-width: var(--menu-min-width);\n    max-height: var(--menu-max-height, none);\n    padding: var(--menu-padding-y) var(--menu-padding-x);\n    margin: 0;\n    overflow-y: var(--menu-overflow-y, initial);\n    overscroll-behavior: contain;\n    font-size: var(--menu-font-size);\n    color: var(--menu-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--menu-bg);\n    background-clip: padding-box;\n    border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));\n    @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));\n    @include box-shadow(var(--menu-box-shadow));\n    opacity: 0;\n    transform: scale(.95);\n    transform-origin: top start;\n\n    &[data-bs-placement^=\"top\"] {\n      transform-origin: bottom start;\n    }\n\n    &[data-bs-placement=\"bottom-end\"] {\n      transform-origin: top end;\n    }\n\n    &[data-bs-placement=\"top-end\"] {\n      transform-origin: bottom end;\n    }\n\n    &[data-bs-placement^=\"left\"] {\n      transform-origin: top end;\n    }\n\n    @include transition(\n      opacity var(--menu-transition-duration) var(--menu-transition-timing),\n      transform var(--menu-transition-duration) var(--menu-transition-timing),\n      display var(--menu-transition-duration) allow-discrete\n    );\n\n    &.show {\n      display: flex;\n      opacity: 1;\n      transform: none;\n    }\n  }\n\n  @starting-style {\n    .menu.show {\n      opacity: 0;\n      transform: scale(.95);\n    }\n  }\n\n  .menu-scrollable {\n    --menu-max-height: 80dvh;\n    --menu-overflow-y: auto;\n  }\n\n  .menu-translucent {\n    --menu-item-hover-bg-light: color-mix(in oklch, var(--bg-1) 90%, transparent);\n    --menu-item-hover-bg-dark: color-mix(in oklch, var(--bg-1) 80%, transparent);\n\n    --menu-item-active-bg-light: color-mix(in oklch, var(--primary-bg) 80%, transparent);\n    --menu-item-active-bg-dark: color-mix(in oklch, var(--primary-bg) 70%, transparent);\n\n    --menu-item-active-bg: light-dark(var(--menu-item-active-bg-light), var(--menu-item-active-bg-dark));\n    --menu-item-hover-bg: light-dark(var(--menu-item-hover-bg-light), var(--menu-item-hover-bg-dark));\n\n    background-color: color-mix(in oklch, var(--menu-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .menu-divider {\n    height: 0;\n    margin: var(--menu-divider-margin-y) var(--menu-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--menu-divider-bg);\n    opacity: 1;\n  }\n\n  .menu-item {\n    display: flex;\n    gap: var(--menu-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    font-weight: var(--menu-item-font-weight, var(--font-weight-normal));\n    color: var(--theme-text, var(--menu-item-color));\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    @include border-radius(var(--menu-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--theme-text, var(--menu-item-hover-color));\n      @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));\n    }\n\n    &.active,\n    &:active {\n      color: var(--theme-contrast, var(--menu-item-active-color));\n      @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));\n\n      .menu-item-icon {\n        color: inherit !important; // stylelint-disable-line declaration-no-important\n      }\n    }\n\n    &.selected {\n      font-weight: $font-weight-semibold;\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--menu-item-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  .menu-item-icon {\n    flex-shrink: 0;\n    align-self: flex-start;\n    width: var(--menu-icon-size);\n    height: auto;\n    margin-top: .125rem;\n  }\n\n  .menu-image {\n    width: var(--menu-image-size);\n    height: var(--menu-image-size);\n    object-fit: cover;\n    @include border-radius(var(--border-radius-sm));\n  }\n\n  .menu-item-content {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    min-width: fit-content;\n  }\n\n  .menu-item-description {\n    font-size: var(--menu-description-font-size);\n    font-weight: var(--font-weight-normal);\n    color: color-mix(in oklch, currentcolor 65%, transparent);\n  }\n\n  .menu-item-check {\n    flex-shrink: 0;\n    align-self: flex-start;\n    margin-block-start: .125rem;\n    margin-inline-start: auto;\n    color: var(--menu-check-color);\n    visibility: hidden;\n\n    .selected > & {\n      visibility: visible;\n    }\n  }\n\n  .menu-header {\n    display: block;\n    padding: var(--menu-header-padding-y) var(--menu-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--font-size-sm);\n    color: var(--menu-header-color);\n    white-space: nowrap;\n  }\n\n  .menu-text {\n    display: block;\n    padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // scss-docs-start submenu\n  .submenu {\n    position: relative;\n\n    > .menu-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .menu-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    > .menu {\n      top: 0;\n      margin-top: calc(-1 * var(--menu-padding-y));\n    }\n\n    &:hover > .menu-item,\n    &:focus-within > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n\n    &.show > .menu-item {\n      color: var(--menu-item-hover-color);\n      background-color: var(--menu-item-hover-bg);\n    }\n  }\n\n  // Mobile stacking: submenu covers the parent menu in-place\n  @media (max-width: 575.98px) {\n    .submenu:has(.submenu-stacked) {\n      position: static;\n    }\n\n    .submenu-stacked {\n      position: absolute;\n      inset: 0;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      gap: var(--menu-gap);\n      min-width: 0;\n      padding: var(--menu-padding-y) var(--menu-padding-x);\n      background-color: var(--menu-bg);\n      border: 0;\n      @include border-radius(0);\n      box-shadow: none;\n    }\n\n    .submenu-back {\n      display: flex;\n      gap: var(--menu-item-gap);\n      align-items: center;\n      padding: var(--menu-item-padding-y) var(--menu-item-padding-x);\n      font-weight: var(--font-weight-semibold, 600);\n      color: var(--menu-item-color);\n\n      &::before {\n        display: inline-block;\n        flex-shrink: 0;\n        width: .375em;\n        height: .375em;\n        content: \"\";\n        border-color: currentcolor;\n        border-style: solid;\n        border-width: .125em 0 0 .125em;\n        transform: rotate(-45deg);\n\n        [dir=\"rtl\"] & {\n          border-width: 0 .125em .125em 0;\n        }\n      }\n    }\n\n    .submenu-dimmed {\n      pointer-events: none;\n      filter: blur(2px);\n      opacity: .3;\n    }\n  }\n  // scss-docs-end submenu\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n$list-group-tokens: () !default;\n\n// scss-docs-start list-group-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$list-group-tokens: defaults(\n  (\n    --list-group-color: var(--fg-body),\n    --list-group-bg: var(--bg-body),\n    --list-group-border-color: var(--border-color),\n    --list-group-border-width: var(--border-width),\n    --list-group-border-radius: var(--border-radius),\n    --list-group-item-padding-x: #{$spacer},\n    --list-group-item-padding-y: #{$spacer * .5},\n    --list-group-action-color: var(--fg-2),\n    --list-group-action-hover-color: var(--fg-1),\n    --list-group-action-hover-bg: var(--bg-1),\n    --list-group-action-active-color: var(--fg-body),\n    --list-group-action-active-bg: var(--bg-2),\n    --list-group-disabled-color: var(--fg-3),\n    --list-group-disabled-bg: var(--bg-body),\n    --list-group-active-color: var(--primary-contrast),\n    --list-group-active-bg: var(--primary-bg),\n    --list-group-active-border-color: var(--primary-bg),\n  ),\n  $list-group-tokens\n);\n// scss-docs-end list-group-tokens\n\n@layer components {\n  .list-group {\n    @include tokens($list-group-tokens);\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n    text-decoration: none;\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}list-group-horizontal {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n$nav-tokens: () !default;\n\n// scss-docs-start nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tokens: defaults(\n  (\n    --nav-gap: .125rem,\n    --nav-link-gap: .5rem,\n    --nav-link-align: center,\n    --nav-link-justify: center,\n    --nav-link-padding-x: .75rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--fg-2),\n    --nav-link-hover-color: var(--fg-1),\n    --nav-link-hover-bg: var(--bg-1),\n    --nav-link-active-color: var(--fg-body),\n    --nav-link-active-bg: var(--bg-2),\n    --nav-link-disabled-color: var(--fg-4),\n    --nav-link-border-width: var(--border-width),\n    --nav-link-transition-property: \"color, background-color, border-color\",\n    --nav-link-transition-timing: .15s ease-in-out,\n    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),\n  ),\n  $nav-tokens\n);\n// scss-docs-end nav-tokens\n\n$nav-tabs-tokens: () !default;\n\n// scss-docs-start nav-tabs-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-tabs-tokens: defaults(\n  (\n    --nav-tabs-border-width: var(--border-width),\n    --nav-tabs-border-color: var(--border-color),\n    --nav-tabs-border-radius: var(--border-radius),\n    --nav-tabs-link-hover-border-color: var(--border-subtle),\n    --nav-tabs-link-active-color: var(--fg-color),\n    --nav-tabs-link-active-bg: var(--bg-body),\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),\n  ),\n  $nav-tabs-tokens\n);\n// scss-docs-end nav-tabs-tokens\n\n$nav-pills-tokens: () !default;\n\n// scss-docs-start nav-pills-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-pills-tokens: defaults(\n  (\n    --nav-pills-bg: var(--bg-1),\n    --nav-pills-padding: .25rem,\n    --nav-pills-link-active-color: var(--primary-contrast),\n    --nav-pills-link-active-bg: var(--primary-bg),\n  ),\n  $nav-pills-tokens\n);\n// scss-docs-end nav-pills-tokens\n\n$nav-underline-tokens: () !default;\n\n// scss-docs-start nav-underline-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$nav-underline-tokens: defaults(\n  (\n    --nav-gap: 1rem,\n    --nav-link-active-bg: transparent,\n    --nav-underline-border-width: .125rem,\n    --nav-underline-link-active-color: var(--fg-color),\n  ),\n  $nav-underline-tokens\n);\n// scss-docs-end nav-underline-tokens\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    @include tokens($nav-tokens);\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    white-space: nowrap;\n    background: none;\n    border: var(--nav-link-border-width) solid transparent;\n    @include border-radius(var(--border-radius));\n    @include transition(var(--nav-link-transition));\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    @include tokens($nav-tabs-tokens);\n    // scss-docs-end nav-tabs-css-vars\n\n    box-shadow: inset 0 calc(-1 * var(--nav-tabs-border-width)) 0 var(--nav-tabs-border-color);\n\n    .nav-link {\n      border: var(--nav-tabs-border-width) solid transparent;\n      border-bottom-color: var(--nav-tabs-border-color);\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .menu {\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      @include border-top-radius(0);\n    }\n  }\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    @include tokens($nav-pills-tokens);\n\n    display: inline-flex;\n    padding: var(--nav-pills-padding);\n    background-color: var(--nav-pills-bg);\n    @include border-radius(var(--border-radius-pill));\n\n    .nav-link {\n      @include border-radius(var(--border-radius-pill));\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    @include tokens($nav-underline-tokens);\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","// Nav Overflow (Priority+ Pattern)\n//\n// A responsive navigation pattern that automatically moves items\n// to an overflow menu when space is limited.\n\n@layer components {\n  .nav-overflow {\n    flex-wrap: nowrap;\n    min-width: 0; // Allow flex child to shrink below content width\n  }\n\n  // Container item for overflow\n  .nav-overflow-item {\n    flex-shrink: 0;\n    margin-inline-start: auto;\n  }\n\n  // Hide items that have been moved to overflow\n  .nav-overflow [data-bs-nav-overflow=\"true\"] {\n    display: none;\n  }\n\n  // Preserve items that should never overflow\n  .nav-overflow-keep {\n    flex-shrink: 0;\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start navbar-breakpoints\n$navbar-breakpoints: $breakpoints !default;\n// scss-docs-end navbar-breakpoints\n\n$navbar-tokens: () !default;\n$navbar-dark-tokens: () !default;\n$navbar-nav-tokens: () !default;\n\n// scss-docs-start navbar-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-tokens: defaults(\n  (\n    --navbar-padding-x: 0,\n    --navbar-padding-y: .5rem,\n    --navbar-color: var(--fg-2),\n    --navbar-hover-color: var(--fg-1),\n    --navbar-disabled-color: var(--fg-3),\n    --navbar-active-color: var(--fg-body),\n    --navbar-brand-padding-y: .75rem,\n    --navbar-brand-margin-end: 1rem,\n    --navbar-brand-font-size: var(--font-size-md),\n    --navbar-brand-font-weight: var(--font-weight-medium),\n    --navbar-brand-color: var(--fg-body),\n    --navbar-brand-hover-color: var(--fg-body),\n    --navbar-nav-link-padding-x: .75rem,\n    --navbar-toggler-width: 2rem,\n    --navbar-toggler-padding-y: .25rem,\n    --navbar-toggler-padding-x: .75rem,\n    --navbar-toggler-font-size: var(--font-size-lg),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),\n    --navbar-toggler-border-radius: var(--border-radius),\n    --navbar-toggler-transition: box-shadow .15s ease-in-out,\n  ),\n  $navbar-tokens\n);\n// scss-docs-end navbar-tokens\n\n// scss-docs-start navbar-dark-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-dark-tokens: defaults(\n  (\n    --navbar-color: color-mix(in oklch, var(--white) .55, transparent),\n    --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),\n    --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),\n    --navbar-active-color: var(--white),\n    --navbar-brand-color: var(--white),\n    --navbar-brand-hover-color: var(--white),\n    --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),\n  ),\n  $navbar-dark-tokens\n);\n// scss-docs-end navbar-dark-tokens\n\n// scss-docs-start navbar-nav-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$navbar-nav-tokens: defaults(\n  (\n    --nav-gap: .25rem,\n    --nav-link-gap: .5rem,\n    --nav-link-padding-x: .5rem,\n    --nav-link-padding-y: .375rem,\n    --nav-link-color: var(--navbar-color),\n    --nav-link-border-width: var(--border-width),\n    //--nav-link-border-color: var(--border-color),\n    --nav-link-hover-color: var(--navbar-hover-color),\n    --nav-link-hover-bg: transparent,\n    --nav-link-active-color: var(--navbar-active-color),\n    --nav-link-active-bg: transparent,\n    --nav-link-disabled-color: var(--navbar-disabled-color),\n  ),\n  $navbar-nav-tokens\n);\n// scss-docs-end navbar-nav-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  // Base navbar\n  .navbar {\n    @include tokens($navbar-tokens);\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include set-container();\n    color: var(--navbar-color, var(--fg-body));\n    background-color: var(--navbar-bg, var(--bg-body));\n    // @include gradient-bg(var(--navbar-bg, var(--bg-body)));\n\n    // Container properties for nested containers\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .#{breakpoint-prefix($breakpoint, $container-max-widths)}container {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    font-weight: var(--navbar-brand-font-weight);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n  // Navigation within navbars. Sets all nav-link CSS variables needed for\n  // proper styling.\n  //\n  // Relies on `.nav` base class.\n  .navbar-nav {\n    @include tokens($navbar-nav-tokens);\n\n    display: flex;\n    flex-direction: column;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n        border: var(--nav-link-border-width) solid var(--nav-link-border-color, transparent);\n      }\n    }\n  }\n\n  // Navbar text\n  //\n  // For adding text or inline elements to the navbar\n  .navbar-text {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus {\n      color: var(--navbar-active-color);\n    }\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    --btn-bg: transparent;\n    --btn-hover-bg: var(--bg-2);\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of responsive `.navbar-expand` classes for configuring\n  // where your navbar collapses and expands. Uses container queries so the\n  // navbar responds to its own width, not the viewport width.\n\n  // Mixin for expanded state styles (applied to descendants)\n  @mixin navbar-expanded {\n    // Style the inner container since we can't style .navbar itself with container queries\n    > .container,\n    > .container-fluid,\n    %navbar-expand-container {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n\n    .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n\n    .navbar-toggler {\n      display: none !important; // stylelint-disable-line declaration-no-important\n    }\n\n    [class*=\"drawer\"] {\n      // stylelint-disable declaration-no-important\n      // Reset native <dialog> UA styles and below-breakpoint drawer styles.\n      // Must use !important to override both UA <dialog> defaults and the\n      // responsive drawer styles from media-breakpoint-down().\n      position: static !important;\n      inset: auto !important;\n      z-index: auto;\n      display: flex !important;\n      flex-grow: 1;\n      width: auto !important;\n      max-width: none !important;\n      height: auto !important;\n      max-height: none !important;\n      padding: 0;\n      margin: 0;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      @include box-shadow(none);\n      @include transition(none);\n      // stylelint-enable declaration-no-important\n\n      .drawer-header {\n        display: none !important; // stylelint-disable-line declaration-no-important\n      }\n\n      .drawer-body {\n        display: flex;\n        flex-grow: 1;\n        flex-direction: row;\n        align-items: center;\n        padding: 0;\n        overflow-y: visible;\n      }\n    }\n  }\n\n  // Always expanded (no responsive behavior)\n  .navbar-expand {\n    @include navbar-expanded();\n\n    // Also set on navbar itself for non-responsive case\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n\n  // Responsive navbar expand classes using container queries\n  @include loop-breakpoints-down($navbar-breakpoints) using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}navbar-expand {\n        @include container-breakpoint-up($next) {\n          @include navbar-expanded();\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Prevent drawer flash on breakpoint crossing.\n  // When the navbar crosses from expanded (inline) to collapsed (drawer),\n  // the drawer transitions from visibility:visible to visibility:hidden.\n  // Without this override, the slide transition plays — briefly showing the\n  // panel sliding away. Disabling transitions when not [open] ensures only\n  // intentional show/hide actions animate.\n  // stylelint-disable-next-line no-duplicate-selectors\n  .navbar {\n    [class*=\"drawer\"]:not([open]):not(.hiding) {\n      @include transition(none !important);\n    }\n  }\n\n  .navbar-translucent {\n    position: relative;\n    background-color: transparent;\n\n    &::before {\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      content: \"\";\n      background-color: color-mix(in oklch, var(--navbar-bg, var(--bg-body)) 80%, transparent);\n      background-image: none;\n      backdrop-filter: blur(5px) saturate(180%);\n    }\n  }\n\n  .navbar[data-bs-theme=\"dark\"] {\n    @include tokens($navbar-dark-tokens);\n  }\n}\n","@use \"functions\" as *;\n@use \"config\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/dialog-shared\" as *;\n@use \"mixins/transition\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$drawer-tokens: () !default;\n\n// scss-docs-start drawer-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$drawer-tokens: defaults(\n  (\n    --drawer-inset: var(--spacer),\n    --drawer-zindex: #{$zindex-drawer},\n    --drawer-width: 400px,\n    --drawer-height: 30vh,\n    --drawer-padding-x: var(--spacer),\n    --drawer-padding-y: var(--spacer),\n    --drawer-color: var(--fg-body),\n    --drawer-bg: var(--bg-body),\n    --drawer-border-width: var(--border-width),\n    --drawer-border-color: var(--border-color-translucent),\n    --drawer-border-radius: var(--border-radius-lg),\n    --drawer-box-shadow: var(--box-shadow-lg),\n    --drawer-transition-duration: .3s,\n    --drawer-transition-timing: cubic-bezier(.22, 1, .36, 1),\n    --drawer-title-line-height: 1.5,\n  ),\n  $drawer-tokens\n);\n// scss-docs-end drawer-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n$drawer-backdrop-tokens: () !default;\n\n// scss-docs-start drawer-backdrop-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$drawer-backdrop-tokens: defaults(\n  (\n    --drawer-backdrop-bg: var(--bg-body),\n    --drawer-backdrop-opacity: 25%,\n    --drawer-backdrop-blur: 8px,\n  ),\n  $drawer-backdrop-tokens\n);\n// scss-docs-end drawer-backdrop-tokens\n\n%drawer-css-vars {\n  @include tokens($drawer-tokens);\n}\n\n@layer components {\n  // Apply CSS vars to all drawer responsive variants\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}drawer {\n      @extend %drawer-css-vars;\n    }\n  }\n\n  // Responsive drawer styles\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}drawer {\n      @include media-breakpoint-down($next) {\n        // Reset native <dialog> UA defaults (fit-content sizing, inset, margins)\n        // and override display:none so visibility controls the hidden state.\n        position: fixed;\n        inset: auto;\n        z-index: var(--drawer-zindex);\n        display: flex;\n        flex-direction: column;\n        width: auto;\n        max-width: calc(100% - var(--drawer-inset) * 2);\n        height: auto;\n        max-height: calc(100% - var(--drawer-inset) * 2);\n        padding: 0;\n        margin: 0;\n        color: var(--drawer-color);\n        visibility: hidden;\n        background-color: var(--drawer-bg);\n        background-clip: padding-box;\n        border: var(--drawer-border-width) solid var(--drawer-border-color);\n        outline: 0;\n\n        @include border-radius(var(--drawer-border-radius));\n        @include box-shadow(var(--drawer-box-shadow));\n\n        // Placement positioning and sizing — always applied regardless of animation mode.\n        &:where(.drawer-start) {\n          inset-block: var(--drawer-inset);\n          inset-inline-start: var(--drawer-inset);\n          width: var(--drawer-width);\n        }\n\n        &:where(.drawer-end) {\n          inset-block: var(--drawer-inset);\n          inset-inline-end: var(--drawer-inset);\n          width: var(--drawer-width);\n        }\n\n        &:where(.drawer-top) {\n          inset: var(--drawer-inset) var(--drawer-inset) auto;\n          height: var(--drawer-height);\n        }\n\n        &:where(.drawer-bottom) {\n          inset: auto var(--drawer-inset) var(--drawer-inset);\n          height: var(--drawer-height);\n        }\n\n        &:where(.drawer-fullscreen) {\n          inset: var(--drawer-inset);\n          width: auto;\n          max-width: none;\n          height: auto;\n          max-height: none;\n        }\n\n        // Animated variant (default) — transitions + off-screen transforms.\n        // Adding .drawer-instant skips all animations.\n        &:not(.drawer-instant) {\n          @include transition(transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s var(--drawer-transition-duration));\n\n          // Off-screen transforms per placement\n          &:where(.drawer-start) {\n            transform: translateX(calc(-100% - var(--drawer-inset)));\n\n            :root:dir(rtl) & {\n              transform: translateX(calc(100% + var(--drawer-inset)));\n            }\n          }\n\n          &:where(.drawer-end) {\n            transform: translateX(calc(100% + var(--drawer-inset)));\n\n            :root:dir(rtl) & {\n              transform: translateX(calc(-100% - var(--drawer-inset)));\n            }\n          }\n\n          &:where(.drawer-top) {\n            transform: translateY(calc(-100% - var(--drawer-inset)));\n          }\n\n          &:where(.drawer-bottom) {\n            transform: translateY(calc(100% + var(--drawer-inset)));\n          }\n\n          &:where(.drawer-fullscreen) {\n            transform: translateY(calc(100% + var(--drawer-inset)));\n          }\n\n          // Open state: slide in with transition\n          &[open] {\n            visibility: visible;\n            @include transition(transform var(--drawer-transition-duration) var(--drawer-transition-timing), visibility 0s);\n            transform: none;\n          }\n        }\n\n        // Open state base (always applies, regardless of animation mode)\n        &[open] {\n          visibility: visible;\n          transform: none;\n        }\n      }\n\n      // Above breakpoint - show content inline (for responsive drawer)\n      // Above breakpoint - show content inline (for responsive drawer).\n      // Must fully reset all drawer styles so the element behaves as an\n      // inline flex container within its parent (e.g., a navbar).\n      @if not ($prefix == \"\") {\n        @include media-breakpoint-up($next) {\n          // stylelint-disable declaration-no-important\n          --drawer-height: auto;\n          --drawer-border-width: 0;\n          // Reset native <dialog> UA styles\n          position: static !important;\n          inset: auto;\n          z-index: auto;\n          display: flex !important;\n          flex-grow: 1;\n          width: auto !important;\n          max-width: none;\n          height: auto !important;\n          max-height: none;\n          padding: 0;\n          margin: 0;\n          visibility: visible !important;\n          background-color: transparent !important;\n          border: 0 !important;\n          transform: none !important;\n          @include transition(none !important);\n          // stylelint-enable declaration-no-important\n\n          .drawer-header {\n            display: none;\n          }\n\n          .drawer-body {\n            display: flex;\n            flex-grow: 0;\n            flex-direction: row;\n            width: 100%;\n            padding: 0;\n            overflow-y: visible;\n            // stylelint-disable-next-line declaration-no-important\n            background-color: transparent !important;\n          }\n          @include border-radius(0);\n          @include box-shadow(none);\n        }\n      }\n    }\n  }\n\n  // Native ::backdrop for modal drawer.\n  // ::backdrop lives in the top layer outside the DOM tree, so it does NOT\n  // inherit custom properties from the element. Tokens must be applied directly.\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    .#{$prefix}drawer::backdrop {\n      @include tokens($drawer-backdrop-tokens);\n      @include tokens($drawer-tokens);\n      background-color: color-mix(in oklch, var(--drawer-backdrop-bg) var(--drawer-backdrop-opacity), transparent);\n      backdrop-filter: blur(var(--drawer-backdrop-blur));\n      @include backdrop-transitions(var(--drawer-transition-duration), var(--drawer-transition-timing));\n    }\n  }\n\n  // Backdrop entry animation — ::backdrop can safely use @starting-style\n  // since it only exists when the dialog is in the top layer (no responsive issue).\n  @starting-style {\n    @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n      .#{$prefix}drawer::backdrop {\n        background-color: transparent;\n        backdrop-filter: blur(0);\n      }\n    }\n  }\n\n  // Static backdrop transition (\"bounce\")\n  .drawer-static {\n    transform: scale(1.02);\n  }\n\n  .drawer-translucent {\n    background-color: color-mix(in oklch, var(--drawer-bg) 80%, transparent);\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  // Sheet variant: flush-to-edge panel with no inset, border-radius, or shadow.\n  // Overrides tokens so placement transforms (which use calc() with --drawer-inset)\n  // automatically position the drawer at the viewport edge.\n  .drawer-sheet {\n    --drawer-inset: 0;\n    --drawer-border-radius: 0;\n    --drawer-border-width: 0;\n    --drawer-box-shadow: none;\n  }\n\n  // Header with close button\n  .drawer-header {\n    @include dialog-header(var(--drawer-padding-y) var(--drawer-padding-x));\n\n    .btn-close {\n      padding: calc(var(--drawer-padding-y) * .5) calc(var(--drawer-padding-x) * .5);\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--drawer-padding-x));\n      margin-top: calc(-.5 * var(--drawer-padding-y));\n      margin-bottom: calc(-.5 * var(--drawer-padding-y));\n    }\n  }\n\n  // Title\n  .drawer-title {\n    @include dialog-title(var(--drawer-title-line-height));\n  }\n\n  // Scrollable body\n  .drawer-body {\n    display: flex;\n    flex-direction: column;\n    gap: var(--drawer-padding-y);\n    @include dialog-body(var(--drawer-padding-y) var(--drawer-padding-x));\n    overflow-y: auto;\n  }\n\n  // Optional footer\n  .drawer-footer {\n    @include dialog-footer(var(--drawer-padding-y) var(--drawer-padding-x), .5rem, var(--drawer-border-width), var(--drawer-border-color));\n  }\n\n  .drawer-fit-content {\n    inset-block-end: auto;\n  }\n}\n","@use \"functions\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/tokens\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n$pagination-tokens: () !default;\n\n// scss-docs-start pagination-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-tokens: defaults(\n  (\n    --pagination-min-height: var(--btn-input-min-height),\n    --pagination-padding-x: var(--btn-input-padding-x),\n    --pagination-padding-y: var(--btn-input-padding-y),\n    --pagination-font-size: var(--btn-input-font-size),\n    --pagination-color: var(--link-color),\n    --pagination-bg: var(--bg-body),\n    --pagination-border-width: var(--border-width),\n    --pagination-border-color: var(--border-color),\n    --pagination-border-radius: var(--btn-input-border-radius),\n    --pagination-hover-color: var(--link-hover-color),\n    --pagination-hover-bg: var(--bg-1),\n    --pagination-hover-border-color: var(--border-color),\n    --pagination-focus-color: var(--link-hover-color),\n    --pagination-focus-bg: var(--bg-2),\n    --pagination-active-color: var(--primary-contrast),\n    --pagination-active-bg: var(--primary-bg),\n    --pagination-active-border-color: var(--primary-bg),\n    --pagination-disabled-color: var(--fg-3),\n    --pagination-disabled-bg: var(--bg-2),\n    --pagination-disabled-border-color: var(--border-color),\n  ),\n  $pagination-tokens\n);\n// scss-docs-end pagination-tokens\n\n// scss-docs-start pagination-sizes\n$pagination-sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$pagination-sizes: defaults(\n  (\"sm\", \"lg\"),\n  $pagination-sizes\n);\n// scss-docs-end pagination-sizes\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .pagination {\n    @include tokens($pagination-tokens);\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: var(--pagination-min-height);\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: calc(-1 * var(--pagination-border-width));\n    }\n\n    &:first-child {\n      .page-link {\n        @include border-start-radius(var(--pagination-border-radius));\n      }\n    }\n\n    &:last-child {\n      .page-link {\n        @include border-end-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n  //\n  // Sizing\n  //\n\n  // scss-docs-start pagination-sizes-loop\n  @each $size, $_ in $pagination-sizes {\n    .pagination-#{$size} {\n      --pagination-min-height: var(--bs-btn-input-#{$size}-min-height);\n      --pagination-padding-y: var(--btn-input-#{$size}-padding-y);\n      --pagination-padding-x: var(--btn-input-#{$size}-padding-x);\n      --pagination-font-size: var(--btn-input-#{$size}-font-size);\n      --pagination-border-radius: var(--btn-input-#{$size}-border-radius);\n    }\n  }\n  // scss-docs-end pagination-sizes-loop\n}\n","@use \"colors\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n$placeholder-tokens: () !default;\n\n// scss-docs-start placeholder-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$placeholder-tokens: defaults(\n  (\n    --placeholder-opacity-max: .5,\n    --placeholder-opacity-min: .2,\n  ),\n  $placeholder-tokens\n);\n// scss-docs-end placeholder-tokens\n\n@layer components {\n  .placeholder {\n    @include tokens($placeholder-tokens);\n\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n@use \"mixins/tokens\" as *;\n\n$popover-tokens: () !default;\n\n// scss-docs-start popover-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$popover-tokens: defaults(\n  (\n    --popover-zindex: #{$zindex-popover},\n    --popover-max-width: 280px,\n    --popover-font-size: var(--font-size-sm),\n    --popover-bg: var(--bg-body),\n    --popover-border-width: var(--border-width),\n    --popover-border-color: var(--border-color-translucent),\n    --popover-border-radius: var(--border-radius-lg),\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n    --popover-box-shadow: var(--box-shadow),\n    --popover-header-padding-x: #{$spacer},\n    --popover-header-padding-y: #{$spacer * .75},\n    --popover-header-font-size: var(--font-size-sm),\n    --popover-header-color: #{$headings-color},\n    --popover-header-bg: var(--bg-1),\n    --popover-body-padding-x: #{$spacer},\n    --popover-body-padding-y: #{$spacer * .75},\n    --popover-body-color: var(--fg-body),\n    --popover-arrow-width: 1rem,\n    --popover-arrow-height: .5rem,\n    --popover-arrow-border: var(--popover-border-color),\n  ),\n  $popover-tokens\n);\n// scss-docs-end popover-tokens\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    @include tokens($popover-tokens);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/tokens\" as *;\n\n$progress-tokens: () !default;\n\n// scss-docs-start progress-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$progress-tokens: defaults(\n  (\n    --progress-height: 1rem,\n    --progress-font-size: var(--font-size-sm),\n    --progress-bg: var(--bg-2),\n    --progress-border-radius: var(--border-radius),\n    --progress-box-shadow: var(--box-shadow-inset),\n    --progress-bar-color: var(--white),\n    --progress-bar-bg: var(--primary-bg),\n    --progress-bar-transition: width .6s ease,\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n  ),\n  $progress-tokens\n);\n// scss-docs-end progress-tokens\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    @include tokens($progress-tokens);\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: var(--progress-bar-animation);\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/tokens\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n$spinner-border-tokens: () !default;\n\n// scss-docs-start spinner-border-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-border-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-border-width: .25em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-border,\n  ),\n  $spinner-border-tokens\n);\n// scss-docs-end spinner-border-tokens\n\n$spinner-grow-tokens: () !default;\n\n// scss-docs-start spinner-grow-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$spinner-grow-tokens: defaults(\n  (\n    --spinner-width: 2rem,\n    --spinner-height: 2rem,\n    --spinner-vertical-align: -.125em,\n    --spinner-animation-speed: .75s,\n    --spinner-animation-name: spinner-grow,\n  ),\n  $spinner-grow-tokens\n);\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n  // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    @include tokens($spinner-border-tokens);\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    @include tokens($spinner-grow-tokens);\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    // scss-docs-start spinner-grow-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    // scss-docs-end spinner-grow-sm-css-vars\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: 1.5s;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$stepper-tokens: () !default;\n\n// scss-docs-start stepper-tokens\n// stylelint-disable-next-line scss/dollar-variable-default\n$stepper-tokens: defaults(\n  (\n    --stepper-size: 2rem,\n    --stepper-gap: 1rem,\n    --stepper-font-size: var(--font-size-sm),\n    --stepper-text-gap: .5rem,\n    --stepper-track-size: .125rem,\n    --stepper-bg: var(--bg-2),\n    --stepper-active-color: var(--primary-contrast),\n    --stepper-active-bg: var(--primary-bg),\n  ),\n  $stepper-tokens\n);\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n\n  .stepper-item {\n    grid-template-rows: var(--stepper-size) auto;\n    grid-template-columns: auto;\n    align-items: start;\n    justify-items: center;\n    text-align: center;\n\n    &::after {\n      inset-block-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      inset-block-end: auto;\n      inset-inline-start: 50%;\n      inset-inline-end: 100%;\n      width: calc(100% + var(--stepper-gap));\n      height: var(--stepper-track-size);\n    }\n\n    &:last-child::after {\n      right: 100%;\n    }\n  }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n@layer components {\n  .stepper {\n    @include tokens($stepper-tokens);\n\n    display: grid;\n    grid-auto-rows: 1fr;\n    grid-auto-flow: row;\n    gap: var(--stepper-gap);\n    padding-inline-start: 0;\n    list-style: none;\n    counter-reset: stepper;\n  }\n\n  .stepper-item {\n    position: relative;\n    display: grid;\n    grid-template-rows: auto;\n    grid-template-columns: var(--stepper-size) auto;\n    gap: var(--stepper-text-gap);\n    align-items: var(--stepper-align-items, center);\n    text-decoration: none;\n\n    // The counter\n    &::before {\n      position: relative;\n      z-index: 1;\n      display: flex;\n      flex-shrink: 0;\n      align-items: center;\n      justify-content: center;\n      width: var(--stepper-size);\n      height: var(--stepper-size);\n      padding: .5rem;\n      font-size: var(--stepper-font-size);\n      font-weight: 600;\n      line-height: 1;\n      text-align: center;\n      content: counter(stepper);\n      counter-increment: stepper;\n      background-color: var(--stepper-bg);\n      @include border-radius(50%);\n    }\n\n    // Connecting lines\n    &::after {\n      position: absolute;\n      inset-block-start: 50%;\n      inset-block-end: 100%;\n      inset-inline-start: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      width: var(--stepper-track-size);\n      height: calc(100% + var(--stepper-gap));\n      content: \"\";\n      background-color: var(--stepper-bg);\n    }\n\n    // Avoid sibling selector for easier CSS overrides\n    &:last-child::after {\n      display: none;\n    }\n\n    &.active {\n      &::before,\n      &::after {\n        color: var(--theme-contrast, var(--stepper-active-color));\n        background-color: var(--theme-bg, var(--stepper-active-bg));\n      }\n    }\n  }\n\n  // Targets the last .active element from a sequence of active elements\n  .stepper-item.active:not(:has(+ .stepper-item.active))::after {\n    background-color: var(--stepper-bg);\n  }\n\n  .stepper-horizontal {\n    @include stepper-horizontal();\n  }\n\n  @include loop-breakpoints-down() using ($breakpoint, $next, $prefix) {\n    @if $next {\n      .#{$prefix}stepper-horizontal {\n        @include container-breakpoint-up($next) {\n          @include stepper-horizontal();\n        }\n      }\n    }\n  }\n\n  // scss-docs-start stepper-overflow\n  .stepper-overflow {\n    container-type: inline-size;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n\n    > .stepper {\n      width: max-content;\n      min-width: 100%;\n    }\n  }\n  // scss-docs-end stepper-overflow\n}\n","@use \"config\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/tokens\" as *;\n\n$toast-tokens: () !default;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n// stylelint-disable-next-line scss/dollar-variable-default\n$toast-tokens: defaults(\n  (\n    --toast-zindex: #{$zindex-toast},\n    --toast-padding-x: 1rem,\n    --toast-padding-y: .75rem,\n    --toast-spacing: #{$container-padding-x},\n    --toast-max-width: 350px,\n    --toast-font-size: var(--font-size-sm),\n    --toast-color: null,\n    --toast-bg: var(--bg-body),\n    --toast-border-width: var(--border-width),\n    --toast-border-color: var(--border-color-translucent),\n    --toast-border-radius: null,\n    --toast-box-shadow: var(--box-shadow),\n    --toast-header-color: var(--fg-3),\n    --toast-header-bg: var(--bg-1),\n    --toast-header-border-color: var(--border-color-translucent),\n  ),\n  $toast-tokens\n);\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n  .toast {\n    @include tokens($toast-tokens);\n\n    display: flex;\n    flex-direction: column;\n    width: var(--toast-max-width);\n    max-width: 100%;\n    overflow: hidden;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color, var(--fg-body));\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--theme-border, var(--toast-border-color));\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius, var(--border-radius-lg)));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--theme-text-emphasis, var(--toast-header-color));\n    background-color: var(--theme-bg-subtle, var(--toast-header-bg));\n    // background-clip: padding-box;\n    border-block-end: var(--toast-border-width, var(--border-width)) solid var(--theme-border, var(--toast-header-border-color, var(--border-color-translucent)));\n\n    .btn-close {\n      margin-inline-start: calc(.5 * var(--toast-padding-x));\n      margin-inline-end: calc(-.25 * var(--toast-padding-x));\n      color: inherit;\n    }\n  }\n\n  .toast-translucent {\n    backdrop-filter: blur(5px) saturate(180%);\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      .#{$prefix}sticky-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .#{$prefix}sticky-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  // scss-docs-start stacks\n  .stack-container {\n    @include set-container();\n  }\n\n  [class*=\"hstack\"],\n  [class*=\"vstack\"] {\n    display: flex;\n    flex: var(--stack-flex, 1 1 auto);\n    flex-direction: var(--stack-direction, row);\n    align-items: var(--stack-align-items, center);\n    align-self: var(--stack-align-self, stretch);\n  }\n\n  @include loop-breakpoints-up() using ($breakpoint, $prefix) {\n    .#{$prefix}vstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: column;\n        --stack-align-items: stretch;\n      }\n    }\n    .#{$prefix}hstack {\n      @include container-breakpoint-up($breakpoint) {\n        --stack-direction: row;\n        --stack-align-items: flex-start;\n      }\n    }\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:map\";\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--vr-border-width, var(--border-width));\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $prefix: breakpoint-prefix($breakpoint, $breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $prefix == \"\") {\n          @include generate-utility($utility, $prefix);\n        }\n      }\n    }\n  }\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"print\\\\:\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $prefix: \"\") {\n  // Validate required keys\n  @if not map.has-key($utility, property) {\n    @error \"Utility is missing required `property` key: #{$utility}\";\n  }\n  @if not map.has-key($utility, values) {\n    @error \"Utility is missing required `values` key: #{$utility}\";\n  }\n\n  // Warn on unknown keys (likely typos)\n  $valid-keys: property, values, class, selector, responsive, print, important, state, variables;\n  @each $key in map.keys($utility) {\n    @if not list.index($valid-keys, $key) {\n      @warn \"Unknown utility key `#{$key}` found. Valid keys are: #{$valid-keys}\";\n    }\n  }\n\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n    // Validate selector type\n    $valid-selectors: \"class\", \"attr-starts\", \"attr-includes\";\n    @if not list.index($valid-selectors, $selectorType) {\n      @error \"Invalid `selector` value `#{$selectorType}`. Must be one of: #{$valid-selectors}\";\n    }\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Attribute selectors require a `class` key\n  @if $selectorType != \"class\" and not map.has-key($utility, class) {\n    @error \"Utility with `selector: #{$selectorType}` requires a `class` key.\";\n  }\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // Don't add a dash before value key if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      @if $customClass != \"\" {\n        $selector: \".#{$prefix + $customClass + $customClassModifier}\";\n      } @else if $selectorClass != null and $selectorClass != \"\" {\n        $selector: \".#{$prefix + $selectorClass + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$prefix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"],"names":[]}
\ No newline at end of file
index 3453182061cb382a9cf4ae680d04131c1c95bd43..40e147a4f01095d40b160377defe2118bf89415d 100644 (file)
@@ -37,6 +37,12 @@ const Data = {
     }
     return null;
   },
+  getAny(element) {
+    if (elementMap.has(element)) {
+      return elementMap.get(element).values().next().value || null;
+    }
+    return null;
+  },
   remove(element, key) {
     if (!elementMap.has(element)) {
       return;
@@ -905,12 +911,16 @@ const SWIPE_THRESHOLD = 40;
 const Default$h = {
   endCallback: null,
   leftCallback: null,
-  rightCallback: null
+  rightCallback: null,
+  upCallback: null,
+  downCallback: null
 };
 const DefaultType$h = {
   endCallback: '(function|null)',
   leftCallback: '(function|null)',
-  rightCallback: '(function|null)'
+  rightCallback: '(function|null)',
+  upCallback: '(function|null)',
+  downCallback: '(function|null)'
 };
 
 /**
@@ -926,6 +936,7 @@ class Swipe extends Config {
     }
     this._config = this._getConfig(config);
     this._deltaX = 0;
+    this._deltaY = 0;
     this._supportPointerEvents = Boolean(window.PointerEvent);
     this._initEvents();
   }
@@ -950,33 +961,57 @@ class Swipe extends Config {
   _start(event) {
     if (!this._supportPointerEvents) {
       this._deltaX = event.touches[0].clientX;
+      this._deltaY = event.touches[0].clientY;
       return;
     }
     if (this._eventIsPointerPenTouch(event)) {
       this._deltaX = event.clientX;
+      this._deltaY = event.clientY;
     }
   }
   _end(event) {
     if (this._eventIsPointerPenTouch(event)) {
       this._deltaX = event.clientX - this._deltaX;
+      this._deltaY = event.clientY - this._deltaY;
     }
     this._handleSwipe();
     execute(this._config.endCallback);
   }
   _move(event) {
-    this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
+    if (event.touches && event.touches.length > 1) {
+      this._deltaX = 0;
+      this._deltaY = 0;
+      return;
+    }
+    this._deltaX = event.touches[0].clientX - this._deltaX;
+    this._deltaY = event.touches[0].clientY - this._deltaY;
   }
   _handleSwipe() {
     const absDeltaX = Math.abs(this._deltaX);
-    if (absDeltaX <= SWIPE_THRESHOLD) {
+    const absDeltaY = Math.abs(this._deltaY);
+
+    // Determine primary axis: whichever has greater movement wins
+    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {
+      // Vertical swipe
+      const direction = this._deltaY > 0 ? 'down' : 'up';
+      this._deltaX = 0;
+      this._deltaY = 0;
+      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback);
+      return;
+    }
+    if (absDeltaX > SWIPE_THRESHOLD) {
+      // Horizontal swipe
+      const direction = absDeltaX / this._deltaX;
+      this._deltaX = 0;
+      this._deltaY = 0;
+      if (!direction) {
+        return;
+      }
+      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
       return;
     }
-    const direction = absDeltaX / this._deltaX;
     this._deltaX = 0;
-    if (!direction) {
-      return;
-    }
-    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
+    this._deltaY = 0;
   }
   _initEvents() {
     if (this._supportPointerEvents) {
@@ -1362,9 +1397,9 @@ const NAME$g = 'collapse';
 const DATA_KEY$d = 'bs.collapse';
 const EVENT_KEY$d = `.${DATA_KEY$d}`;
 const DATA_API_KEY$9 = '.data-api';
-const EVENT_SHOW$8 = `show${EVENT_KEY$d}`;
-const EVENT_SHOWN$8 = `shown${EVENT_KEY$d}`;
-const EVENT_HIDE$8 = `hide${EVENT_KEY$d}`;
+const EVENT_SHOW$7 = `show${EVENT_KEY$d}`;
+const EVENT_SHOWN$6 = `shown${EVENT_KEY$d}`;
+const EVENT_HIDE$6 = `hide${EVENT_KEY$d}`;
 const EVENT_HIDDEN$8 = `hidden${EVENT_KEY$d}`;
 const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$d}${DATA_API_KEY$9}`;
 const CLASS_NAME_SHOW$5 = 'show';
@@ -1446,7 +1481,7 @@ class Collapse extends BaseComponent {
     if (activeChildren.length && activeChildren[0]._isTransitioning) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$8);
+    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1464,7 +1499,7 @@ class Collapse extends BaseComponent {
       this._element.classList.remove(CLASS_NAME_COLLAPSING);
       this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$5);
       this._element.style[dimension] = '';
-      EventHandler.trigger(this._element, EVENT_SHOWN$8);
+      EventHandler.trigger(this._element, EVENT_SHOWN$6);
     };
     const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
     const scrollSize = `scroll${capitalizedDimension}`;
@@ -1475,7 +1510,7 @@ class Collapse extends BaseComponent {
     if (this._isTransitioning || !this._isShown()) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$8);
+    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -2121,6 +2156,7 @@ const flip$1 = function (options) {
     }
   };
 };
+
 const originSides = /*#__PURE__*/new Set(['left', 'top']);
 
 // For type backwards-compatibility, the `OffsetOptions` type was also
@@ -2470,9 +2506,11 @@ function getCssDimensions(element) {
     $: shouldFallback
   };
 }
+
 function unwrapElement(element) {
   return !isElement(element) ? element.contextElement : element;
 }
+
 function getScale(element) {
   const domElement = unwrapElement(element);
   if (!isHTMLElement(domElement)) {
@@ -2500,6 +2538,7 @@ function getScale(element) {
     y
   };
 }
+
 const noOffsets = /*#__PURE__*/createCoords(0);
 function getVisualOffsets(element) {
   const win = getWindow(element);
@@ -2520,6 +2559,7 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
   }
   return isFixed;
 }
+
 function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
   if (includeScale === void 0) {
     includeScale = false;
@@ -2582,6 +2622,7 @@ function getWindowScrollBarX(element, rect) {
   }
   return rect.left + leftScroll;
 }
+
 function getHTMLOffset(documentElement, scroll) {
   const htmlRect = documentElement.getBoundingClientRect();
   const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
@@ -2591,6 +2632,7 @@ function getHTMLOffset(documentElement, scroll) {
     y
   };
 }
+
 function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
   let {
     elements,
@@ -2630,6 +2672,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
     y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
   };
 }
+
 function getClientRects(element) {
   return Array.from(element.getClientRects());
 }
@@ -2810,6 +2853,7 @@ function getClippingRect(_ref) {
     y: top
   };
 }
+
 function getDimensions(element) {
   const {
     width,
@@ -2820,6 +2864,7 @@ function getDimensions(element) {
     height
   };
 }
+
 function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
   const isOffsetParentAnElement = isHTMLElement(offsetParent);
   const documentElement = getDocumentElement(offsetParent);
@@ -2861,9 +2906,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
     height: rect.height
   };
 }
+
 function isStaticPositioned(element) {
   return getComputedStyle$1(element).position === 'static';
 }
+
 function getTrueOffsetParent(element, polyfill) {
   if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
     return null;
@@ -2909,6 +2956,7 @@ function getOffsetParent(element, polyfill) {
   }
   return offsetParent || getContainingBlock(element) || win;
 }
+
 const getElementRects = async function (data) {
   const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
   const getDimensionsFn = this.getDimensions;
@@ -2923,9 +2971,11 @@ const getElementRects = async function (data) {
     }
   };
 };
+
 function isRTL(element) {
   return getComputedStyle$1(element).direction === 'rtl';
 }
+
 const platform = {
   convertOffsetParentRelativeRectToViewportRelativeRect,
   getDocumentElement,
@@ -2938,6 +2988,7 @@ const platform = {
   isElement,
   isRTL
 };
+
 function rectsAreEqual(a, b) {
   return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
 }
@@ -3310,10 +3361,10 @@ const ENTER_KEY$1 = 'Enter';
 const SPACE_KEY$1 = ' ';
 const RIGHT_MOUSE_BUTTON = 2;
 const SUBMENU_CLOSE_DELAY = 100;
-const EVENT_HIDE$7 = `hide${EVENT_KEY$c}`;
+const EVENT_HIDE$5 = `hide${EVENT_KEY$c}`;
 const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$c}`;
-const EVENT_SHOW$7 = `show${EVENT_KEY$c}`;
-const EVENT_SHOWN$7 = `shown${EVENT_KEY$c}`;
+const EVENT_SHOW$6 = `show${EVENT_KEY$c}`;
+const EVENT_SHOWN$5 = `shown${EVENT_KEY$c}`;
 const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
 const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$c}${DATA_API_KEY$8}`;
 const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$c}${DATA_API_KEY$8}`;
@@ -3409,7 +3460,7 @@ class Menu extends BaseComponent {
     const relatedTarget = {
       relatedTarget: this._element
     };
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$7, relatedTarget);
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6, relatedTarget);
     if (showEvent.defaultPrevented) {
       return;
     }
@@ -3430,7 +3481,7 @@ class Menu extends BaseComponent {
       this._parent.classList.add(CLASS_NAME_SHOW$4);
     }
     Menu._openInstances.add(this);
-    EventHandler.trigger(this._element, EVENT_SHOWN$7, relatedTarget);
+    EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
   }
   hide() {
     if (isDisabled(this._element) || !this._isShown()) {
@@ -3461,7 +3512,7 @@ class Menu extends BaseComponent {
     return SelectorEngine.next(this._element, SELECTOR_MENU$2)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU$2)[0] || SelectorEngine.findOne(SELECTOR_MENU$2, this._parent);
   }
   _completeHide(relatedTarget) {
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$7, relatedTarget);
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
     if (hideEvent.defaultPrevented) {
       return;
     }
@@ -4072,9 +4123,9 @@ const END_KEY$1 = 'End';
 const ENTER_KEY = 'Enter';
 const SPACE_KEY = ' ';
 const EVENT_CHANGE$2 = `change${EVENT_KEY$b}`;
-const EVENT_SHOW$6 = `show${EVENT_KEY$b}`;
-const EVENT_SHOWN$6 = `shown${EVENT_KEY$b}`;
-const EVENT_HIDE$6 = `hide${EVENT_KEY$b}`;
+const EVENT_SHOW$5 = `show${EVENT_KEY$b}`;
+const EVENT_SHOWN$4 = `shown${EVENT_KEY$b}`;
+const EVENT_HIDE$4 = `hide${EVENT_KEY$b}`;
 const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$b}`;
 const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
 const CLASS_NAME_SHOW$3 = 'show';
@@ -4147,7 +4198,7 @@ class Combobox extends BaseComponent {
     if (isDisabled(this._toggle) || this._isShown()) {
       return;
     }
-    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW$6);
+    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW$5);
     if (showEvent.defaultPrevented) {
       return;
     }
@@ -4157,13 +4208,13 @@ class Combobox extends BaseComponent {
       this._filterItems('');
       requestAnimationFrame(() => this._searchInput.focus());
     }
-    EventHandler.trigger(this._toggle, EVENT_SHOWN$6);
+    EventHandler.trigger(this._toggle, EVENT_SHOWN$4);
   }
   hide() {
     if (!this._isShown()) {
       return;
     }
-    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE$6);
+    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE$4);
     if (hideEvent.defaultPrevented) {
       return;
     }
@@ -4433,1430 +4484,7 @@ EventHandler.on(document, 'DOMContentLoaded', () => {
 });
 
 /*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
-var __defProp = Object.defineProperty,
-  __defProps = Object.defineProperties,
-  __getOwnPropDescs = Object.getOwnPropertyDescriptors,
-  __getOwnPropSymbols = Object.getOwnPropertySymbols,
-  __hasOwnProp = Object.prototype.hasOwnProperty,
-  __propIsEnum = Object.prototype.propertyIsEnumerable,
-  __defNormalProp = (e, t, n) => t in e ? __defProp(e, t, {
-    enumerable: true,
-    configurable: true,
-    writable: true,
-    value: n
-  }) : e[t] = n,
-  __spreadValues = (e, t) => {
-    for (var n in t || (t = {})) __hasOwnProp.call(t, n) && __defNormalProp(e, n, t[n]);
-    if (__getOwnPropSymbols) for (var n of __getOwnPropSymbols(t)) __propIsEnum.call(t, n) && __defNormalProp(e, n, t[n]);
-    return e;
-  },
-  __spreadProps = (e, t) => __defProps(e, __getOwnPropDescs(t)),
-  __publicField = (e, t, n) => (__defNormalProp(e, "symbol" != typeof t ? t + "" : t, n), n);
-const errorMessages = {
-    notFoundSelector: e => `${e} is not found, check the first argument passed to new Calendar.`,
-    notInit: 'The calendar has not been initialized, please initialize it using the "init()" method first.',
-    notLocale: "You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».",
-    incorrectTime: "The value of the time property can be: false, 12 or 24.",
-    incorrectMonthsCount: "For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."
-  },
-  setContext = (e, t, n) => {
-    e.context[t] = n;
-  },
-  destroy = e => {
-    var t, n, a, o, l;
-    if (!e.context.isInit) throw new Error(errorMessages.notInit);
-    e.inputMode ? (null == (t = e.context.mainElement.parentElement) || t.removeChild(e.context.mainElement), null == (a = null == (n = e.context.inputElement) ? void 0 : n.replaceWith) || a.call(n, e.context.originalElement), setContext(e, "inputElement", void 0)) : null == (l = (o = e.context.mainElement).replaceWith) || l.call(o, e.context.originalElement), setContext(e, "mainElement", e.context.originalElement), e.onDestroy && e.onDestroy(e);
-  },
-  skipOpenOnFocus = new WeakSet(),
-  shouldSkipOpenOnFocus = e => skipOpenOnFocus.has(e),
-  setSkipOpenOnFocus = e => {
-    skipOpenOnFocus.add(e);
-  },
-  clearSkipOpenOnFocus = e => {
-    skipOpenOnFocus.delete(e);
-  },
-  PREV_TABINDEX_ATTR = "data-vc-prev-tabindex",
-  isFocusable = e => e.tabIndex >= 0 && !e.hasAttribute("disabled") && "true" !== e.getAttribute("aria-disabled"),
-  storePrevTabIndex = e => {
-    if (e.hasAttribute(PREV_TABINDEX_ATTR)) return;
-    const t = e.getAttribute("tabindex");
-    e.setAttribute(PREV_TABINDEX_ATTR, null != t ? t : "");
-  },
-  restorePrevTabIndex = e => {
-    if (!e.hasAttribute(PREV_TABINDEX_ATTR)) return;
-    const t = e.getAttribute(PREV_TABINDEX_ATTR);
-    "" === t || null === t ? e.removeAttribute("tabindex") : e.setAttribute("tabindex", t), e.removeAttribute(PREV_TABINDEX_ATTR);
-  },
-  disableTabbing = e => {
-    isFocusable(e) && (storePrevTabIndex(e), e.tabIndex = -1);
-    const t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
-      acceptNode: e => isFocusable(e) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
-    });
-    for (; t.nextNode();) {
-      const e = t.currentNode;
-      storePrevTabIndex(e), e.tabIndex = -1;
-    }
-  },
-  restoreTabbing = e => {
-    restorePrevTabIndex(e), e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex);
-  },
-  hide = e => {
-    if (e.context.isShowInInputMode && e.context.currentType) {
-      if (e.context.mainElement.dataset.vcCalendarHidden = "", setContext(e, "isShowInInputMode", false), e.inputMode && disableTabbing(e.context.mainElement), e.context.cleanupHandlers[0] && (e.context.cleanupHandlers.forEach(e => e()), setContext(e, "cleanupHandlers", [])), e.inputMode && e.context.inputElement && e.context.mainElement.contains(document.activeElement)) {
-        ("function" == typeof e.openOnFocus || true === e.openOnFocus) && setSkipOpenOnFocus(e), e.context.inputElement.focus();
-      }
-      e.onHide && e.onHide(e);
-    }
-  };
-function getOffset(e) {
-  if (!e || !e.getBoundingClientRect) return {
-    top: 0,
-    bottom: 0,
-    left: 0,
-    right: 0
-  };
-  const t = e.getBoundingClientRect(),
-    n = document.documentElement;
-  return {
-    bottom: t.bottom,
-    right: t.right,
-    top: t.top + window.scrollY - n.clientTop,
-    left: t.left + window.scrollX - n.clientLeft
-  };
-}
-function getViewportDimensions() {
-  return {
-    vw: Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0),
-    vh: Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0)
-  };
-}
-function getWindowScrollPosition() {
-  return {
-    left: window.scrollX || document.documentElement.scrollLeft || 0,
-    top: window.scrollY || document.documentElement.scrollTop || 0
-  };
-}
-function calculateAvailableSpace(e) {
-  const {
-      top: t,
-      left: n
-    } = getWindowScrollPosition(),
-    {
-      top: a,
-      left: o
-    } = getOffset(e),
-    {
-      vh: l,
-      vw: s
-    } = getViewportDimensions(),
-    i = a - t,
-    r = o - n;
-  return {
-    top: i,
-    bottom: l - (i + e.clientHeight),
-    left: r,
-    right: s - (r + e.clientWidth)
-  };
-}
-function getAvailablePosition(e, t, n = 5) {
-  const a = {
-      top: true,
-      bottom: true,
-      left: true,
-      right: true
-    },
-    o = [];
-  if (!t || !e) return {
-    canShow: a,
-    parentPositions: o
-  };
-  const {
-      bottom: l,
-      top: s
-    } = calculateAvailableSpace(e),
-    {
-      top: i,
-      left: r
-    } = getOffset(e),
-    {
-      height: c,
-      width: d
-    } = t.getBoundingClientRect(),
-    {
-      vh: u,
-      vw: m
-    } = getViewportDimensions(),
-    p = m / 2,
-    h = u / 2;
-  return [{
-    condition: i < h,
-    position: "top"
-  }, {
-    condition: i > h,
-    position: "bottom"
-  }, {
-    condition: r < p,
-    position: "left"
-  }, {
-    condition: r > p,
-    position: "right"
-  }].forEach(({
-    condition: e,
-    position: t
-  }) => {
-    e && o.push(t);
-  }), Object.assign(a, {
-    top: c <= s - n,
-    bottom: c <= l - n,
-    left: d <= r,
-    right: d <= m - r
-  }), {
-    canShow: a,
-    parentPositions: o
-  };
-}
-const handleDay = (e, t, n, a) => {
-    var o;
-    const l = a.querySelector(`[data-vc-date="${t}"]`),
-      s = null == l ? void 0 : l.querySelector("[data-vc-date-btn]");
-    if (!l || !s) return;
-    if ((null == n ? void 0 : n.modifier) && s.classList.add(...n.modifier.trim().split(" ")), !(null == n ? void 0 : n.html)) return;
-    const i = document.createElement("div");
-    i.className = e.styles.datePopup, i.dataset.vcDatePopup = "", i.innerHTML = e.sanitizerHTML(n.html), s.ariaExpanded = "true", s.ariaLabel = `${s.ariaLabel}, ${null == (o = null == i ? void 0 : i.textContent) ? void 0 : o.replace(/^\s+|\s+(?=\s)|\s+$/g, "").replace(/&nbsp;/g, " ")}`, l.appendChild(i), requestAnimationFrame(() => {
-      if (!i) return;
-      const {
-          canShow: e
-        } = getAvailablePosition(l, i),
-        t = e.bottom ? l.offsetHeight : -i.offsetHeight,
-        n = e.left && !e.right ? l.offsetWidth - i.offsetWidth / 2 : !e.left && e.right ? i.offsetWidth / 2 : 0;
-      Object.assign(i.style, {
-        left: `${n}px`,
-        top: `${t}px`
-      });
-    });
-  },
-  createDatePopup = (e, t) => {
-    var n;
-    e.popups && (null == (n = Object.entries(e.popups)) || n.forEach(([n, a]) => handleDay(e, n, a, t)));
-  },
-  getDate = e => new Date(`${e}T00:00:00`),
-  getDateString = e => `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`,
-  parseDates = e => e.reduce((e, t) => {
-    if (t instanceof Date || "number" == typeof t) {
-      const n = t instanceof Date ? t : new Date(t);
-      e.push(n.toISOString().substring(0, 10));
-    } else t.match(/^(\d{4}-\d{2}-\d{2})$/g) ? e.push(t) : t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g, (t, n, a) => {
-      const o = getDate(n),
-        l = getDate(a),
-        s = new Date(o.getTime());
-      for (; s <= l; s.setDate(s.getDate() + 1)) e.push(getDateString(s));
-      return t;
-    });
-    return e;
-  }, []),
-  updateAttribute = (e, t, n, a = "") => {
-    t ? e.setAttribute(n, a) : e.getAttribute(n) === a && e.removeAttribute(n);
-  },
-  setDateModifier = (e, t, n, a, o, l, s) => {
-    var i, r, c, d;
-    const u = getDate(e.context.displayDateMin) > getDate(l) || getDate(e.context.displayDateMax) < getDate(l) || (null == (i = e.context.disableDates) ? void 0 : i.includes(l)) || !e.selectionMonthsMode && "current" !== s || !e.selectionYearsMode && getDate(l).getFullYear() !== t;
-    updateAttribute(n, u, "data-vc-date-disabled"), a && updateAttribute(a, u, "aria-disabled", "true"), a && updateAttribute(a, u, "tabindex", "-1"), updateAttribute(n, !e.disableToday && e.context.dateToday === l, "data-vc-date-today"), updateAttribute(n, !e.disableToday && e.context.dateToday === l, "aria-current", "date"), updateAttribute(n, null == (r = e.selectedWeekends) ? void 0 : r.includes(o), "data-vc-date-weekend");
-    const m = (null == (c = e.selectedHolidays) ? void 0 : c[0]) ? parseDates(e.selectedHolidays) : [];
-    if (updateAttribute(n, m.includes(l), "data-vc-date-holiday"), (null == (d = e.context.selectedDates) ? void 0 : d.includes(l)) ? (n.setAttribute("data-vc-date-selected", ""), a && a.setAttribute("aria-selected", "true"), e.context.selectedDates.length > 1 && "multiple-ranged" === e.selectionDatesMode && (e.context.selectedDates[0] === l && e.context.selectedDates[e.context.selectedDates.length - 1] === l ? n.setAttribute("data-vc-date-selected", "first-and-last") : e.context.selectedDates[0] === l ? n.setAttribute("data-vc-date-selected", "first") : e.context.selectedDates[e.context.selectedDates.length - 1] === l && n.setAttribute("data-vc-date-selected", "last"), e.context.selectedDates[0] !== l && e.context.selectedDates[e.context.selectedDates.length - 1] !== l && n.setAttribute("data-vc-date-selected", "middle"))) : n.hasAttribute("data-vc-date-selected") && (n.removeAttribute("data-vc-date-selected"), a && a.removeAttribute("aria-selected")), !e.context.disableDates.includes(l) && e.enableEdgeDatesOnly && e.context.selectedDates.length > 1 && "multiple-ranged" === e.selectionDatesMode) {
-      const t = getDate(e.context.selectedDates[0]),
-        a = getDate(e.context.selectedDates[e.context.selectedDates.length - 1]),
-        o = getDate(l);
-      updateAttribute(n, o > t && o < a, "data-vc-date-selected", "middle");
-    }
-  },
-  getLocaleString = (e, t, n) => new Date(`${e}T00:00:00.000Z`).toLocaleString(t, n),
-  getWeekNumber = (e, t) => {
-    const n = getDate(e),
-      a = (n.getDay() - t + 7) % 7;
-    n.setDate(n.getDate() + 4 - a);
-    const o = new Date(n.getFullYear(), 0, 1),
-      l = Math.ceil(((+n - +o) / 864e5 + 1) / 7);
-    return {
-      year: n.getFullYear(),
-      week: l
-    };
-  },
-  addWeekNumberForDate = (e, t, n) => {
-    const a = getWeekNumber(n, e.firstWeekday);
-    a && (t.dataset.vcDateWeekNumber = String(a.week));
-  },
-  setDaysAsDisabled = (e, t, n) => {
-    var a, o, l, s, i;
-    const r = null == (a = e.disableWeekdays) ? void 0 : a.includes(n),
-      c = e.disableAllDates && !!(null == (o = e.context.enableDates) ? void 0 : o[0]);
-    !r && !c || (null == (l = e.context.enableDates) ? void 0 : l.includes(t)) || (null == (s = e.context.disableDates) ? void 0 : s.includes(t)) || (e.context.disableDates.push(t), null == (i = e.context.disableDates) || i.sort((e, t) => +new Date(e) - +new Date(t)));
-  },
-  createDate = (e, t, n, a, o, l) => {
-    const s = getDate(o).getDay(),
-      i = "string" == typeof e.locale && e.locale.length ? e.locale : "en",
-      r = document.createElement("div");
-    let c;
-    r.className = e.styles.date, r.dataset.vcDate = o, r.dataset.vcDateMonth = l, r.dataset.vcDateWeekDay = String(s), r.role = "gridcell", ("current" === l || e.displayDatesOutside) && (c = document.createElement("button"), c.className = e.styles.dateBtn, c.type = "button", c.ariaLabel = getLocaleString(o, i, {
-      dateStyle: "long",
-      timeZone: "UTC"
-    }), c.dataset.vcDateBtn = "", c.innerText = String(a), r.appendChild(c)), e.enableWeekNumbers && addWeekNumberForDate(e, r, o), setDaysAsDisabled(e, o, s), setDateModifier(e, t, r, c, s, o, l), n.addDate(r), e.onCreateDateEls && e.onCreateDateEls(e, r);
-  },
-  createDatesFromCurrentMonth = (e, t, n, a, o) => {
-    for (let l = 1; l <= n; l++) {
-      const n = new Date(a, o, l);
-      createDate(e, a, t, l, getDateString(n), "current");
-    }
-  },
-  createDatesFromNextMonth = (e, t, n, a, o) => {
-    const l = o + 1 === 12 ? a + 1 : a,
-      s = o + 1 === 12 ? "01" : o + 2 < 10 ? `0${o + 2}` : o + 2;
-    for (let o = 1; o <= n; o++) {
-      const n = o < 10 ? `0${o}` : String(o);
-      createDate(e, a, t, o, `${l}-${s}-${n}`, "next");
-    }
-  },
-  createDatesFromPrevMonth = (e, t, n, a, o) => {
-    let l = new Date(n, a, 0).getDate() - (o - 1);
-    const s = 0 === a ? n - 1 : n,
-      i = 0 === a ? 12 : a < 10 ? `0${a}` : a;
-    for (let a = o; a > 0; a--, l++) {
-      createDate(e, n, t, l, `${s}-${i}-${l}`, "prev");
-    }
-  },
-  createWeekNumbers = (e, t, n, a, o) => {
-    if (!e.enableWeekNumbers) return;
-    a.textContent = "";
-    const l = document.createElement("b");
-    l.className = e.styles.weekNumbersTitle, l.innerText = "#", l.dataset.vcWeekNumbers = "title", a.appendChild(l);
-    const s = document.createElement("div");
-    s.className = e.styles.weekNumbersContent, s.dataset.vcWeekNumbers = "content", a.appendChild(s);
-    const i = document.createElement("button");
-    i.type = "button", i.className = e.styles.weekNumber;
-    const r = o.querySelectorAll("[data-vc-date]"),
-      c = Math.ceil((t + n) / 7);
-    for (let t = 0; t < c; t++) {
-      const n = r[0 === t ? 6 : 7 * t].dataset.vcDate,
-        a = getWeekNumber(n, e.firstWeekday);
-      if (!a) return;
-      const o = i.cloneNode(true);
-      o.innerText = String(a.week), o.dataset.vcWeekNumber = String(a.week), o.dataset.vcWeekYear = String(a.year), o.role = "rowheader", o.ariaLabel = `${a.week}`, s.appendChild(o);
-    }
-  },
-  createDates = e => {
-    const t = new Date(e.context.selectedYear, e.context.selectedMonth, 1),
-      n = e.context.mainElement.querySelectorAll('[data-vc="dates"]'),
-      a = e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');
-    n.forEach((n, o) => {
-      e.selectionDatesMode || (n.dataset.vcDatesDisabled = ""), n.textContent = "";
-      const l = new Date(t);
-      l.setMonth(l.getMonth() + o);
-      const s = l.getMonth(),
-        i = l.getFullYear(),
-        r = (new Date(i, s, 1).getDay() - e.firstWeekday + 7) % 7,
-        c = new Date(i, s + 1, 0).getDate(),
-        d = r + c,
-        u = Math.ceil(d / 7),
-        m = 7 * u - d,
-        p = [];
-      for (let t = 0; t < u; t++) {
-        const t = document.createElement("div");
-        t.className = e.styles.datesRow, t.setAttribute("data-vc-dates", "row"), t.setAttribute("role", "row"), p.push(t);
-      }
-      let h = 0,
-        v = 0;
-      const g = {
-        addDate: e => {
-          p[h].appendChild(e), v++, v >= 7 && (h++, v = 0);
-        }
-      };
-      createDatesFromPrevMonth(e, g, i, s, r), createDatesFromCurrentMonth(e, g, c, i, s), createDatesFromNextMonth(e, g, m, i, s);
-      for (const e of p) n.appendChild(e);
-      createDatePopup(e, n), createWeekNumbers(e, r, c, a[o], n);
-    });
-  },
-  layoutDefault = e => `\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <#WeekNumbers />\n    <div class="${e.styles.content}" data-vc="content" role="grid">\n      <#Week />\n      <#Dates />\n      <#DateRangeTooltip />\n    </div>\n  </div>\n  <#ControlTime />\n`,
-  layoutMonths = e => `\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Months />\n    </div>\n  </div>\n`,
-  layoutMultiple = e => `\n  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.grid}" data-vc="grid">\n    <#Multiple>\n      <div class="${e.styles.column}" data-vc="column" role="region">\n        <div class="${e.styles.header}" data-vc="header">\n          <div class="${e.styles.headerContent}" data-vc-header="content">\n            <#Month />\n            <#Year />\n          </div>\n        </div>\n        <div class="${e.styles.wrapper}" data-vc="wrapper">\n          <#WeekNumbers />\n          <div class="${e.styles.content}" data-vc="content" role="grid">\n            <#Week />\n            <#Dates />\n          </div>\n        </div>\n      </div>\n    <#/Multiple>\n    <#DateRangeTooltip />\n  </div>\n  <#ControlTime />\n`,
-  layoutYears = e => `\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [year] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [year] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Years />\n    </div>\n  </div>\n`,
-  ArrowNext = (e, t) => `<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,
-  ArrowPrev = (e, t) => `<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,
-  ControlTime = e => e.selectionTimeMode ? `<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>` : "",
-  DateRangeTooltip = e => e.onCreateDateRangeTooltip ? `<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>` : "",
-  Dates = e => `<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple" === e.type ? "aria-multiselectable" : ""}></div>`,
-  Month = e => `<button type="button" class="${e.styles.month}" data-vc="month"></button>`,
-  Months = e => `<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,
-  Week = e => `<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,
-  WeekNumbers = e => e.enableWeekNumbers ? `<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>` : "",
-  Year = e => `<button type="button" class="${e.styles.year}" data-vc="year"></button>`,
-  Years = e => `<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,
-  components = {
-    ArrowNext: ArrowNext,
-    ArrowPrev: ArrowPrev,
-    ControlTime: ControlTime,
-    Dates: Dates,
-    DateRangeTooltip: DateRangeTooltip,
-    Month: Month,
-    Months: Months,
-    Week: Week,
-    WeekNumbers: WeekNumbers,
-    Year: Year,
-    Years: Years
-  },
-  getComponent = e => components[e],
-  parseLayout = (e, t) => t.replace(/[\n\t]/g, "").replace(/<#(?!\/?Multiple)(.*?)>/g, (t, n) => {
-    const a = (n.match(/\[(.*?)\]/) || [])[1],
-      o = n.replace(/[/\s\n\t]|\[(.*?)\]/g, ""),
-      l = getComponent(o),
-      s = l ? l(e, null != a ? a : null) : "";
-    return e.sanitizerHTML(s);
-  }).replace(/[\n\t]/g, ""),
-  parseMultipleLayout = (e, t) => t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>", "gs"), (t, n) => {
-    const a = Array(e.context.displayMonthsCount).fill(n).join("");
-    return e.sanitizerHTML(a);
-  }).replace(/[\n\t]/g, ""),
-  createLayouts = (e, t) => {
-    const n = {
-      default: layoutDefault,
-      month: layoutMonths,
-      year: layoutYears,
-      multiple: layoutMultiple
-    };
-    if (Object.keys(n).forEach(t => {
-      const a = t;
-      e.layouts[a].length || (e.layouts[a] = n[a](e));
-    }), e.context.mainElement.className = e.styles.calendar, e.context.mainElement.dataset.vc = "calendar", e.context.mainElement.dataset.vcType = e.context.currentType, e.context.mainElement.role = "application", e.context.mainElement.tabIndex = 0, e.context.mainElement.ariaLabel = e.labels.application, "multiple" !== e.context.currentType) {
-      if ("multiple" === e.type && t) {
-        const n = e.context.mainElement.querySelector('[data-vc="controls"]'),
-          a = e.context.mainElement.querySelector('[data-vc="grid"]'),
-          o = t.closest('[data-vc="column"]');
-        return n && n.remove(), a && (a.dataset.vcGrid = "hidden"), o && (o.dataset.vcColumn = e.context.currentType), void (o && (o.innerHTML = e.sanitizerHTML(parseLayout(e, e.layouts[e.context.currentType]))));
-      }
-      e.context.mainElement.innerHTML = e.sanitizerHTML(parseLayout(e, e.layouts[e.context.currentType]));
-    } else e.context.mainElement.innerHTML = e.sanitizerHTML(parseMultipleLayout(e, parseLayout(e, e.layouts[e.context.currentType])));
-  },
-  setVisibilityArrows = (e, t, n, a) => {
-    e.style.visibility = n ? "hidden" : "", t.style.visibility = a ? "hidden" : "";
-  },
-  handleDefaultType = (e, t, n) => {
-    const a = getDate(getDateString(new Date(e.context.selectedYear, e.context.selectedMonth, 1))),
-      o = new Date(a.getTime()),
-      l = new Date(a.getTime());
-    o.setMonth(o.getMonth() - e.monthsToSwitch), l.setMonth(l.getMonth() + e.monthsToSwitch);
-    const s = getDate(e.context.dateMin),
-      i = getDate(e.context.dateMax);
-    e.selectionYearsMode || (s.setFullYear(a.getFullYear()), i.setFullYear(a.getFullYear()));
-    const r = !e.selectionMonthsMode || o.getFullYear() < s.getFullYear() || o.getFullYear() === s.getFullYear() && o.getMonth() < s.getMonth(),
-      c = !e.selectionMonthsMode || l.getFullYear() > i.getFullYear() || l.getFullYear() === i.getFullYear() && l.getMonth() > i.getMonth() - (e.context.displayMonthsCount - 1);
-    setVisibilityArrows(t, n, r, c);
-  },
-  handleYearType = (e, t, n) => {
-    const a = getDate(e.context.dateMin),
-      o = getDate(e.context.dateMax),
-      l = !!(a.getFullYear() && e.context.displayYear - 7 <= a.getFullYear()),
-      s = !!(o.getFullYear() && e.context.displayYear + 7 >= o.getFullYear());
-    setVisibilityArrows(t, n, l, s);
-  },
-  visibilityArrows = e => {
-    if ("month" === e.context.currentType) return;
-    const t = e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),
-      n = e.context.mainElement.querySelector('[data-vc-arrow="next"]');
-    if (!t || !n) return;
-    ({
-      default: () => handleDefaultType(e, t, n),
-      year: () => handleYearType(e, t, n)
-    })["multiple" === e.context.currentType ? "default" : e.context.currentType]();
-  },
-  visibilityHandler = (e, t, n, a, o) => {
-    const l = new Date(a.setFullYear(e.context.selectedYear, e.context.selectedMonth + n)).getFullYear(),
-      s = new Date(a.setMonth(e.context.selectedMonth + n)).getMonth(),
-      i = e.context.locale.months.long[s],
-      r = t.closest('[data-vc="column"]');
-    r && (r.ariaLabel = `${i} ${l}`);
-    const c = {
-      month: {
-        id: s,
-        label: i
-      },
-      year: {
-        id: l,
-        label: l
-      }
-    };
-    t.innerText = String(c[o].label), t.dataset[`vc${o.charAt(0).toUpperCase() + o.slice(1)}`] = String(c[o].id), t.ariaLabel = `${e.labels[o]} ${c[o].label}`;
-    const d = {
-        month: e.selectionMonthsMode,
-        year: e.selectionYearsMode
-      },
-      u = false === d[o] || "only-arrows" === d[o];
-    u && (t.tabIndex = -1), t.disabled = u;
-  },
-  visibilityTitle = e => {
-    const t = e.context.mainElement.querySelectorAll('[data-vc="month"]'),
-      n = e.context.mainElement.querySelectorAll('[data-vc="year"]'),
-      a = new Date(e.context.selectedYear, e.context.selectedMonth, 1);
-    [t, n].forEach(t => null == t ? void 0 : t.forEach((t, n) => visibilityHandler(e, t, n, a, t.dataset.vc)));
-  },
-  setYearModifier = (e, t, n, a, o) => {
-    var l;
-    const s = {
-        month: "[data-vc-months-month]",
-        year: "[data-vc-years-year]"
-      },
-      i = {
-        month: {
-          selected: "data-vc-months-month-selected",
-          aria: "aria-selected",
-          value: "vcMonthsMonth",
-          selectedProperty: "selectedMonth"
-        },
-        year: {
-          selected: "data-vc-years-year-selected",
-          aria: "aria-selected",
-          value: "vcYearsYear",
-          selectedProperty: "selectedYear"
-        }
-      };
-    o && (null == (l = e.context.mainElement.querySelectorAll(s[n])) || l.forEach(e => {
-      e.removeAttribute(i[n].selected), e.removeAttribute(i[n].aria);
-    }), setContext(e, i[n].selectedProperty, Number(t.dataset[i[n].value])), visibilityTitle(e), "year" === n && visibilityArrows(e)), a && (t.setAttribute(i[n].selected, ""), t.setAttribute(i[n].aria, "true"));
-  },
-  getColumnID = (e, t) => {
-    var n;
-    if ("multiple" !== e.type) return {
-      currentValue: null,
-      columnID: 0
-    };
-    const a = e.context.mainElement.querySelectorAll('[data-vc="column"]'),
-      o = Array.from(a).findIndex(e => e.closest(`[data-vc-column="${t}"]`));
-    return {
-      currentValue: o >= 0 ? Number(null == (n = a[o].querySelector(`[data-vc="${t}"]`)) ? void 0 : n.getAttribute(`data-vc-${t}`)) : null,
-      columnID: Math.max(o, 0)
-    };
-  },
-  createMonthEl = (e, t, n, a, o, l, s) => {
-    const i = t.cloneNode(false);
-    return i.className = e.styles.monthsMonth, i.innerText = a, i.ariaLabel = o, i.role = "gridcell", i.dataset.vcMonthsMonth = `${s}`, l && (i.ariaDisabled = "true"), l && (i.tabIndex = -1), i.disabled = l, setYearModifier(e, i, "month", n === s, false), i;
-  },
-  createMonths = (e, t) => {
-    var n, a;
-    const o = null == (n = null == t ? void 0 : t.closest('[data-vc="header"]')) ? void 0 : n.querySelector('[data-vc="year"]'),
-      l = o ? Number(o.dataset.vcYear) : e.context.selectedYear,
-      s = (null == t ? void 0 : t.dataset.vcMonth) ? Number(t.dataset.vcMonth) : e.context.selectedMonth;
-    setContext(e, "currentType", "month"), createLayouts(e, t), visibilityTitle(e);
-    const i = e.context.mainElement.querySelector('[data-vc="months"]');
-    if (!e.selectionMonthsMode || !i) return;
-    const r = e.monthsToSwitch > 1 ? e.context.locale.months.long.map((t, n) => s - e.monthsToSwitch * n).concat(e.context.locale.months.long.map((t, n) => s + e.monthsToSwitch * n)).filter(e => e >= 0 && e <= 12) : Array.from(Array(12).keys()),
-      c = document.createElement("button");
-    c.type = "button";
-    for (let t = 0; t < 12; t++) {
-      const n = getDate(e.context.dateMin),
-        a = getDate(e.context.dateMax),
-        o = e.context.displayMonthsCount - 1,
-        {
-          columnID: d
-        } = getColumnID(e, "month"),
-        u = l <= n.getFullYear() && t < n.getMonth() + d || l >= a.getFullYear() && t > a.getMonth() - o + d || l > a.getFullYear() || t !== s && !r.includes(t),
-        m = createMonthEl(e, c, s, e.context.locale.months.short[t], e.context.locale.months.long[t], u, t);
-      i.appendChild(m), e.onCreateMonthEls && e.onCreateMonthEls(e, m);
-    }
-    null == (a = e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])")) || a.focus();
-  },
-  TimeInput = (e, t, n, a, o) => `\n  <label class="${t}" data-vc-time-input="${e}">\n    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase() + e.slice(1)}`]}" value="${a}" ${o ? "disabled" : ""}>\n  </label>\n`,
-  TimeRange = (e, t, n, a, o, l, s) => `\n  <label class="${t}" data-vc-time-range="${e}">\n    <input type="range" name="${e}" min="${a}" max="${o}" step="${l}" aria-label="${n[`range${e.charAt(0).toUpperCase() + e.slice(1)}`]}" value="${s}">\n  </label>\n`,
-  handleActions = (e, t, n, a) => {
-    (({
-      hour: () => setContext(e, "selectedHours", n),
-      minute: () => setContext(e, "selectedMinutes", n)
-    }))[a](), setContext(e, "selectedTime", `${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping ? ` ${e.context.selectedKeeping}` : ""}`), e.onChangeTime && e.onChangeTime(e, t, false), e.inputMode && e.context.inputElement && e.context.mainElement && e.onChangeToInput && e.onChangeToInput(e, t);
-  },
-  transformTime24 = (e, t) => {
-    var n;
-    return (null == (n = {
-      0: {
-        AM: "00",
-        PM: "12"
-      },
-      1: {
-        AM: "01",
-        PM: "13"
-      },
-      2: {
-        AM: "02",
-        PM: "14"
-      },
-      3: {
-        AM: "03",
-        PM: "15"
-      },
-      4: {
-        AM: "04",
-        PM: "16"
-      },
-      5: {
-        AM: "05",
-        PM: "17"
-      },
-      6: {
-        AM: "06",
-        PM: "18"
-      },
-      7: {
-        AM: "07",
-        PM: "19"
-      },
-      8: {
-        AM: "08",
-        PM: "20"
-      },
-      9: {
-        AM: "09",
-        PM: "21"
-      },
-      10: {
-        AM: "10",
-        PM: "22"
-      },
-      11: {
-        AM: "11",
-        PM: "23"
-      },
-      12: {
-        AM: "00",
-        PM: "12"
-      }
-    }[Number(e)]) ? void 0 : n[t]) || String(e);
-  },
-  handleClickKeepingTime = (e, t, n, a, o) => {
-    const l = l => {
-      const s = "AM" === e.context.selectedKeeping ? "PM" : "AM",
-        i = transformTime24(e.context.selectedHours, s);
-      Number(i) <= a && Number(i) >= o ? (setContext(e, "selectedKeeping", s), n.value = i, handleActions(e, l, e.context.selectedHours, "hour"), t.ariaLabel = `${e.labels.btnKeeping} ${e.context.selectedKeeping}`, t.innerText = e.context.selectedKeeping) : e.onChangeTime && e.onChangeTime(e, l, true);
-    };
-    return t.addEventListener("click", l), () => {
-      t.removeEventListener("click", l);
-    };
-  },
-  transformTime12 = e => ({
-    0: "12",
-    13: "01",
-    14: "02",
-    15: "03",
-    16: "04",
-    17: "05",
-    18: "06",
-    19: "07",
-    20: "08",
-    21: "09",
-    22: "10",
-    23: "11"
-  })[Number(e)] || String(e),
-  updateInputAndRange = (e, t, n, a) => {
-    e.value = n, t.value = a;
-  },
-  updateKeepingTime$1 = (e, t, n) => {
-    t && n && (setContext(e, "selectedKeeping", n), t.innerText = n);
-  },
-  handleInput$1 = (e, t, n, a, o, l, s) => {
-    const i = {
-        hour: (i, r, c) => {
-          if (!e.selectionTimeMode) return;
-          ({
-            12: () => {
-              if (!e.context.selectedKeeping) return;
-              const d = Number(transformTime24(r, e.context.selectedKeeping));
-              if (!(d <= l && d >= s)) return updateInputAndRange(n, t, e.context.selectedHours, e.context.selectedHours), void (e.onChangeTime && e.onChangeTime(e, c, true));
-              updateInputAndRange(n, t, transformTime12(r), transformTime24(r, e.context.selectedKeeping)), i > 12 && updateKeepingTime$1(e, a, "PM"), handleActions(e, c, transformTime12(r), o);
-            },
-            24: () => {
-              if (!(i <= l && i >= s)) return updateInputAndRange(n, t, e.context.selectedHours, e.context.selectedHours), void (e.onChangeTime && e.onChangeTime(e, c, true));
-              updateInputAndRange(n, t, r, r), handleActions(e, c, r, o);
-            }
-          })[e.selectionTimeMode]();
-        },
-        minute: (a, i, r) => {
-          if (!(a <= l && a >= s)) return n.value = e.context.selectedMinutes, void (e.onChangeTime && e.onChangeTime(e, r, true));
-          n.value = i, t.value = i, handleActions(e, r, i, o);
-        }
-      },
-      r = e => {
-        const t = Number(n.value),
-          a = n.value.padStart(2, "0");
-        i[o] && i[o](t, a, e);
-      };
-    return n.addEventListener("change", r), () => {
-      n.removeEventListener("change", r);
-    };
-  },
-  updateInputAndTime = (e, t, n, a, o) => {
-    t.value = o, handleActions(e, n, o, a);
-  },
-  updateKeepingTime = (e, t, n) => {
-    t && (setContext(e, "selectedKeeping", n), t.innerText = n);
-  },
-  handleRange = (e, t, n, a, o) => {
-    const l = l => {
-      const s = Number(t.value),
-        i = t.value.padStart(2, "0"),
-        r = "hour" === o,
-        c = 24 === e.selectionTimeMode,
-        d = s > 0 && s < 12;
-      r && !c && updateKeepingTime(e, a, 0 === s || d ? "AM" : "PM"), updateInputAndTime(e, n, l, o, !r || c || d ? i : transformTime12(t.value));
-    };
-    return t.addEventListener("input", l), () => {
-      t.removeEventListener("input", l);
-    };
-  },
-  handleMouseOver = e => e.setAttribute("data-vc-input-focus", ""),
-  handleMouseOut = e => e.removeAttribute("data-vc-input-focus"),
-  handleTime = (e, t) => {
-    const n = t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),
-      a = t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),
-      o = t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),
-      l = t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),
-      s = t.querySelector('[data-vc-time="keeping"]');
-    if (!(n && a && o && l)) return;
-    const i = e => {
-        e.target === n && handleMouseOver(o), e.target === a && handleMouseOver(l);
-      },
-      r = e => {
-        e.target === n && handleMouseOut(o), e.target === a && handleMouseOut(l);
-      };
-    return t.addEventListener("mouseover", i), t.addEventListener("mouseout", r), handleInput$1(e, n, o, s, "hour", e.timeMaxHour, e.timeMinHour), handleInput$1(e, a, l, s, "minute", e.timeMaxMinute, e.timeMinMinute), handleRange(e, n, o, s, "hour"), handleRange(e, a, l, s, "minute"), s && handleClickKeepingTime(e, s, n, e.timeMaxHour, e.timeMinHour), () => {
-      t.removeEventListener("mouseover", i), t.removeEventListener("mouseout", r);
-    };
-  },
-  createTime = e => {
-    const t = e.context.mainElement.querySelector('[data-vc="time"]');
-    if (!e.selectionTimeMode || !t) return;
-    const [n, a] = [e.timeMinHour, e.timeMaxHour],
-      [o, l] = [e.timeMinMinute, e.timeMaxMinute],
-      s = e.context.selectedKeeping ? transformTime24(e.context.selectedHours, e.context.selectedKeeping) : e.context.selectedHours,
-      i = "range" === e.timeControls;
-    var r;
-    t.innerHTML = e.sanitizerHTML(`\n    <div class="${e.styles.timeContent}" data-vc-time="content">\n      ${TimeInput("hour", e.styles.timeHour, e.labels, e.context.selectedHours, i)}\n      ${TimeInput("minute", e.styles.timeMinute, e.labels, e.context.selectedMinutes, i)}\n      ${12 === e.selectionTimeMode ? (r = e.context.selectedKeeping, `<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${i ? "disabled" : ""}>${r}</button>`) : ""}\n    </div>\n    <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n      ${TimeRange("hour", e.styles.timeRange, e.labels, n, a, e.timeStepHour, s)}\n      ${TimeRange("minute", e.styles.timeRange, e.labels, o, l, e.timeStepMinute, e.context.selectedMinutes)}\n    </div>\n  `), handleTime(e, t);
-  },
-  createWeek = e => {
-    const t = e.selectedWeekends ? [...e.selectedWeekends] : [],
-      n = [...e.context.locale.weekdays.long].reduce((n, a, o) => [...n, {
-        id: o,
-        titleShort: e.context.locale.weekdays.short[o],
-        titleLong: a,
-        isWeekend: t.includes(o)
-      }], []),
-      a = [...n.slice(e.firstWeekday), ...n.slice(0, e.firstWeekday)];
-    e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(t => {
-      const n = e.onClickWeekDay ? document.createElement("button") : document.createElement("b");
-      e.onClickWeekDay && (n.type = "button"), a.forEach(a => {
-        const o = n.cloneNode(true);
-        o.innerText = a.titleShort, o.className = e.styles.weekDay, o.role = "columnheader", o.ariaLabel = a.titleLong, o.dataset.vcWeekDay = String(a.id), a.isWeekend && (o.dataset.vcWeekDayOff = ""), t.appendChild(o);
-      });
-    });
-  },
-  createYearEl = (e, t, n, a, o) => {
-    const l = t.cloneNode(false);
-    return l.className = e.styles.yearsYear, l.innerText = String(o), l.ariaLabel = String(o), l.role = "gridcell", l.dataset.vcYearsYear = `${o}`, a && (l.ariaDisabled = "true"), a && (l.tabIndex = -1), l.disabled = a, setYearModifier(e, l, "year", n === o, false), l;
-  },
-  createYears = (e, t) => {
-    var n;
-    const a = (null == t ? void 0 : t.dataset.vcYear) ? Number(t.dataset.vcYear) : e.context.selectedYear;
-    setContext(e, "currentType", "year"), createLayouts(e, t), visibilityTitle(e), visibilityArrows(e);
-    const o = e.context.mainElement.querySelector('[data-vc="years"]');
-    if (!e.selectionYearsMode || !o) return;
-    const l = "multiple" !== e.type || e.context.selectedYear === a ? 0 : 1,
-      s = document.createElement("button");
-    s.type = "button";
-    for (let t = e.context.displayYear - 7; t < e.context.displayYear + 8; t++) {
-      const n = t < getDate(e.context.dateMin).getFullYear() + l || t > getDate(e.context.dateMax).getFullYear(),
-        i = createYearEl(e, s, a, n, t);
-      o.appendChild(i), e.onCreateYearEls && e.onCreateYearEls(e, i);
-    }
-    null == (n = e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])")) || n.focus();
-  },
-  trackChangesHTMLElement = (e, t, n) => {
-    new MutationObserver(e => {
-      for (let a = 0; a < e.length; a++) {
-        if (e[a].attributeName === t) {
-          n();
-          break;
-        }
-      }
-    }).observe(e, {
-      attributes: true
-    });
-  },
-  haveListener = {
-    value: false,
-    set: () => haveListener.value = true,
-    check: () => haveListener.value
-  },
-  setTheme = (e, t) => e.dataset.vcTheme = t,
-  trackChangesThemeInSystemSettings = (e, t) => {
-    if (setTheme(e.context.mainElement, t.matches ? "dark" : "light"), "system" !== e.selectedTheme || haveListener.check()) return;
-    const n = e => {
-      const t = document.querySelectorAll('[data-vc="calendar"]');
-      null == t || t.forEach(t => setTheme(t, e.matches ? "dark" : "light"));
-    };
-    t.addEventListener ? t.addEventListener("change", n) : t.addListener(n), haveListener.set();
-  },
-  detectTheme = (e, t) => {
-    const n = e.themeAttrDetect.length ? document.querySelector(e.themeAttrDetect) : null,
-      a = e.themeAttrDetect.replace(/^.*\[(.+)\]/g, (e, t) => t);
-    if (!n || "system" === n.getAttribute(a)) return void trackChangesThemeInSystemSettings(e, t);
-    const o = n.getAttribute(a);
-    o ? (setTheme(e.context.mainElement, o), trackChangesHTMLElement(n, a, () => {
-      const t = n.getAttribute(a);
-      t && setTheme(e.context.mainElement, t);
-    })) : trackChangesThemeInSystemSettings(e, t);
-  },
-  handleTheme = e => {
-    "not all" !== window.matchMedia("(prefers-color-scheme)").media ? "system" === e.selectedTheme ? detectTheme(e, window.matchMedia("(prefers-color-scheme: dark)")) : setTheme(e.context.mainElement, e.selectedTheme) : setTheme(e.context.mainElement, "light");
-  },
-  capitalizeFirstLetter = e => e.charAt(0).toUpperCase() + e.slice(1).replace(/\./, ""),
-  getLocaleWeekday = (e, t, n) => {
-    const a = new Date(`1978-01-0${t + 1}T00:00:00.000Z`),
-      o = a.toLocaleString(n, {
-        weekday: "short",
-        timeZone: "UTC"
-      }),
-      l = a.toLocaleString(n, {
-        weekday: "long",
-        timeZone: "UTC"
-      });
-    e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)), e.context.locale.weekdays.long.push(capitalizeFirstLetter(l));
-  },
-  getLocaleMonth = (e, t, n) => {
-    const a = new Date(`1978-${String(t + 1).padStart(2, "0")}-01T00:00:00.000Z`),
-      o = a.toLocaleString(n, {
-        month: "short",
-        timeZone: "UTC"
-      }),
-      l = a.toLocaleString(n, {
-        month: "long",
-        timeZone: "UTC"
-      });
-    e.context.locale.months.short.push(capitalizeFirstLetter(o)), e.context.locale.months.long.push(capitalizeFirstLetter(l));
-  },
-  getLocale = e => {
-    var t, n, a, o, l, s, i, r;
-    if (!(e.context.locale.weekdays.short[6] && e.context.locale.weekdays.long[6] && e.context.locale.months.short[11] && e.context.locale.months.long[11])) if ("string" == typeof e.locale) {
-      if ("string" == typeof e.locale && !e.locale.length) throw new Error(errorMessages.notLocale);
-      Array.from({
-        length: 7
-      }, (t, n) => getLocaleWeekday(e, n, e.locale)), Array.from({
-        length: 12
-      }, (t, n) => getLocaleMonth(e, n, e.locale));
-    } else {
-      if (!((null == (n = null == (t = e.locale) ? void 0 : t.weekdays) ? void 0 : n.short[6]) && (null == (o = null == (a = e.locale) ? void 0 : a.weekdays) ? void 0 : o.long[6]) && (null == (s = null == (l = e.locale) ? void 0 : l.months) ? void 0 : s.short[11]) && (null == (r = null == (i = e.locale) ? void 0 : i.months) ? void 0 : r.long[11]))) throw new Error(errorMessages.notLocale);
-      setContext(e, "locale", __spreadValues({}, e.locale));
-    }
-  },
-  create = e => {
-    const t = {
-      default: () => {
-        createWeek(e), createDates(e);
-      },
-      multiple: () => {
-        createWeek(e), createDates(e);
-      },
-      month: () => createMonths(e),
-      year: () => createYears(e)
-    };
-    handleTheme(e), getLocale(e), createLayouts(e), visibilityTitle(e), visibilityArrows(e), createTime(e), t[e.context.currentType]();
-  },
-  handleArrowKeys = e => {
-    const t = t => {
-      var n;
-      const a = t.target;
-      if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(t.key) || "button" !== a.localName) return;
-      const o = Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),
-        l = o.indexOf(a);
-      if (-1 === l) return;
-      const s = (i = o[l]).hasAttribute("data-vc-date-btn") ? 7 : i.hasAttribute("data-vc-months-month") ? 4 : i.hasAttribute("data-vc-years-year") ? 5 : 1;
-      var i;
-      const r = (0, {
-        ArrowUp: () => Math.max(0, l - s),
-        ArrowDown: () => Math.min(o.length - 1, l + s),
-        ArrowLeft: () => Math.max(0, l - 1),
-        ArrowRight: () => Math.min(o.length - 1, l + 1)
-      }[t.key])();
-      null == (n = o[r]) || n.focus();
-    };
-    return e.context.mainElement.addEventListener("keydown", t), () => e.context.mainElement.removeEventListener("keydown", t);
-  },
-  handleMonth = (e, t) => {
-    const n = getDate(getDateString(new Date(e.context.selectedYear, e.context.selectedMonth, 1)));
-    (({
-      prev: () => n.setMonth(n.getMonth() - e.monthsToSwitch),
-      next: () => n.setMonth(n.getMonth() + e.monthsToSwitch)
-    }))[t](), setContext(e, "selectedMonth", n.getMonth()), setContext(e, "selectedYear", n.getFullYear()), visibilityTitle(e), visibilityArrows(e), createDates(e);
-  },
-  handleClickArrow = (e, t) => {
-    const n = t.target.closest("[data-vc-arrow]");
-    if (n) {
-      if (["default", "multiple"].includes(e.context.currentType)) handleMonth(e, n.dataset.vcArrow);else if ("year" === e.context.currentType && void 0 !== e.context.displayYear) {
-        const a = {
-          prev: -15,
-          next: 15
-        }[n.dataset.vcArrow];
-        setContext(e, "displayYear", e.context.displayYear + a), createYears(e, t.target);
-      }
-      e.onClickArrow && e.onClickArrow(e, t);
-    }
-  },
-  resolveToggle = (e, t) => void 0 === t || ("function" == typeof t ? t(e) : t),
-  canToggleSelection = e => resolveToggle(e, e.enableDateToggle),
-  handleSelectDate = (e, t, n) => {
-    const a = t.dataset.vcDate,
-      o = t.closest("[data-vc-date][data-vc-date-selected]"),
-      l = canToggleSelection(e);
-    if (o && !l) return;
-    const s = o ? e.context.selectedDates.filter(e => e !== a) : n ? [...e.context.selectedDates, a] : [a];
-    setContext(e, "selectedDates", s);
-  },
-  createDateRangeTooltip = (e, t, n) => {
-    if (!t) return;
-    if (!n) return t.dataset.vcDateRangeTooltip = "hidden", void (t.textContent = "");
-    const a = e.context.mainElement.getBoundingClientRect(),
-      o = n.getBoundingClientRect();
-    t.style.left = o.left - a.left + o.width / 2 + "px", t.style.top = o.bottom - a.top - o.height + "px", t.dataset.vcDateRangeTooltip = "visible", t.innerHTML = e.sanitizerHTML(e.onCreateDateRangeTooltip(e, n, t, o, a));
-  },
-  state = {
-    self: null,
-    lastDateEl: null,
-    isHovering: false,
-    rangeMin: void 0,
-    rangeMax: void 0,
-    tooltipEl: null,
-    timeoutId: null
-  },
-  addHoverEffect = (e, t, n) => {
-    var a, o, l;
-    if (!(null == (o = null == (a = state.self) ? void 0 : a.context) ? void 0 : o.selectedDates[0])) return;
-    const s = getDateString(e);
-    (null == (l = state.self.context.disableDates) ? void 0 : l.includes(s)) || (state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`).forEach(e => e.dataset.vcDateHover = ""), t.forEach(e => e.dataset.vcDateHover = "first"), n.forEach(e => {
-      "first" === e.dataset.vcDateHover ? e.dataset.vcDateHover = "first-and-last" : e.dataset.vcDateHover = "last";
-    }));
-  },
-  removeHoverEffect = () => {
-    var e, t;
-    if (!(null == (t = null == (e = state.self) ? void 0 : e.context) ? void 0 : t.mainElement)) return;
-    state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(e => e.removeAttribute("data-vc-date-hover"));
-  },
-  handleHoverDatesEvent = e => {
-    var t, n;
-    if (!e || !(null == (n = null == (t = state.self) ? void 0 : t.context) ? void 0 : n.selectedDates[0])) return;
-    if (!e.closest('[data-vc="dates"]')) return state.lastDateEl = null, createDateRangeTooltip(state.self, state.tooltipEl, null), void removeHoverEffect();
-    const a = e.closest("[data-vc-date]");
-    if (!a || state.lastDateEl === a) return;
-    state.lastDateEl = a, createDateRangeTooltip(state.self, state.tooltipEl, a), removeHoverEffect();
-    const o = a.dataset.vcDate,
-      l = getDate(state.self.context.selectedDates[0]),
-      s = getDate(o),
-      i = state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),
-      r = state.self.context.mainElement.querySelectorAll(`[data-vc-date="${o}"]`),
-      [c, d] = l < s ? [i, r] : [r, i],
-      [u, m] = l < s ? [l, s] : [s, l];
-    for (let e = new Date(u); e <= m; e.setDate(e.getDate() + 1)) addHoverEffect(e, c, d);
-  },
-  handleHoverSelectedDatesRangeEvent = e => {
-    const t = null == e ? void 0 : e.closest("[data-vc-date-selected]");
-    if (!t && state.lastDateEl) return state.lastDateEl = null, void createDateRangeTooltip(state.self, state.tooltipEl, null);
-    t && state.lastDateEl !== t && (state.lastDateEl = t, createDateRangeTooltip(state.self, state.tooltipEl, t));
-  },
-  optimizedHoverHandler = e => t => {
-    const n = t.target;
-    state.isHovering || (state.isHovering = true, requestAnimationFrame(() => {
-      e(n), state.isHovering = false;
-    }));
-  },
-  optimizedHandleHoverDatesEvent = optimizedHoverHandler(handleHoverDatesEvent),
-  optimizedHandleHoverSelectedDatesRangeEvent = optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),
-  handleCancelSelectionDates = e => {
-    state.self && "Escape" === e.key && (state.lastDateEl = null, setContext(state.self, "selectedDates", []), state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates), createDateRangeTooltip(state.self, state.tooltipEl, null), removeHoverEffect());
-  },
-  handleMouseLeave = () => {
-    null !== state.timeoutId && clearTimeout(state.timeoutId), state.timeoutId = setTimeout(() => {
-      state.lastDateEl = null, createDateRangeTooltip(state.self, state.tooltipEl, null), removeHoverEffect();
-    }, 50);
-  },
-  updateDisabledDates = () => {
-    var e, t, n, a;
-    if (!(null == (n = null == (t = null == (e = state.self) ? void 0 : e.context) ? void 0 : t.selectedDates) ? void 0 : n[0]) || !(null == (a = state.self.context.disableDates) ? void 0 : a[0])) return;
-    const o = getDate(state.self.context.selectedDates[0]),
-      [l, s] = state.self.context.disableDates.map(e => getDate(e)).reduce(([e, t], n) => [o >= n ? n : e, o < n && null === t ? n : t], [null, null]);
-    l && setContext(state.self, "displayDateMin", getDateString(new Date(l.setDate(l.getDate() + 1)))), s && setContext(state.self, "displayDateMax", getDateString(new Date(s.setDate(s.getDate() - 1))));
-    state.self.disableDatesPast && !state.self.disableAllDates && getDate(state.self.context.displayDateMin) < getDate(state.self.context.dateToday) && setContext(state.self, "displayDateMin", state.self.context.dateToday);
-  },
-  handleSelectDateRange = (e, t) => {
-    state.self = e, state.lastDateEl = t, removeHoverEffect(), e.disableDatesGaps && (state.rangeMin = state.rangeMin ? state.rangeMin : e.context.displayDateMin, state.rangeMax = state.rangeMax ? state.rangeMax : e.context.displayDateMax), e.onCreateDateRangeTooltip && (state.tooltipEl = e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));
-    const n = null == t ? void 0 : t.dataset.vcDate;
-    if (n) {
-      const t = 1 === e.context.selectedDates.length && e.context.selectedDates[0].includes(n),
-        a = t && !canToggleSelection(e) ? [n, n] : t && canToggleSelection(e) ? [] : e.context.selectedDates.length > 1 ? [n] : [...e.context.selectedDates, n];
-      setContext(e, "selectedDates", a), e.context.selectedDates.length > 1 && e.context.selectedDates.sort((e, t) => +new Date(e) - +new Date(t));
-    }
-    ({
-      set: () => (e.disableDatesGaps && updateDisabledDates(), createDateRangeTooltip(state.self, state.tooltipEl, t), state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates), state.self.context.mainElement.addEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.addEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.addEventListener("keydown", handleCancelSelectionDates), () => {
-        state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates);
-      }),
-      reset: () => {
-        const [n, a] = [e.context.selectedDates[0], e.context.selectedDates[e.context.selectedDates.length - 1]],
-          o = e.context.selectedDates[0] !== e.context.selectedDates[e.context.selectedDates.length - 1],
-          l = parseDates([`${n}:${a}`]).filter(t => !e.context.disableDates.includes(t)),
-          s = o ? e.enableEdgeDatesOnly ? [n, a] : l : [e.context.selectedDates[0], e.context.selectedDates[0]];
-        if (setContext(e, "selectedDates", s), e.disableDatesGaps && (setContext(e, "displayDateMin", state.rangeMin), setContext(e, "displayDateMax", state.rangeMax)), state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates), e.onCreateDateRangeTooltip) return e.context.selectedDates[0] || (state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), createDateRangeTooltip(state.self, state.tooltipEl, null)), e.context.selectedDates[0] && (state.self.context.mainElement.addEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.addEventListener("mouseleave", handleMouseLeave), createDateRangeTooltip(state.self, state.tooltipEl, t)), () => {
-          state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave);
-        };
-      }
-    })[1 === e.context.selectedDates.length ? "set" : "reset"]();
-  },
-  updateDateModifier = e => {
-    e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(t => {
-      const n = t.querySelector("[data-vc-date-btn]"),
-        a = t.dataset.vcDate,
-        o = getDate(a).getDay();
-      setDateModifier(e, e.context.selectedYear, t, n, o, a, "current");
-    });
-  },
-  handleClickDate = (e, t) => {
-    var n;
-    const a = t.target,
-      o = a.closest("[data-vc-date-btn]");
-    if (!e.selectionDatesMode || !["single", "multiple", "multiple-ranged"].includes(e.selectionDatesMode) || !o) return;
-    const l = o.closest("[data-vc-date]");
-    (({
-      single: () => handleSelectDate(e, l, false),
-      multiple: () => handleSelectDate(e, l, true),
-      "multiple-ranged": () => handleSelectDateRange(e, l)
-    }))[e.selectionDatesMode](), null == (n = e.context.selectedDates) || n.sort((e, t) => +new Date(e) - +new Date(t)), e.onClickDate && e.onClickDate(e, t), e.inputMode && e.context.inputElement && e.context.mainElement && e.onChangeToInput && e.onChangeToInput(e, t);
-    const s = a.closest('[data-vc-date-month="prev"]'),
-      i = a.closest('[data-vc-date-month="next"]');
-    ({
-      prev: () => e.enableMonthChangeOnDayClick ? handleMonth(e, "prev") : updateDateModifier(e),
-      next: () => e.enableMonthChangeOnDayClick ? handleMonth(e, "next") : updateDateModifier(e),
-      current: () => updateDateModifier(e)
-    })[s ? "prev" : i ? "next" : "current"]();
-  },
-  typeClick = ["month", "year"],
-  getValue = (e, t, n) => {
-    const {
-      currentValue: a,
-      columnID: o
-    } = getColumnID(e, t);
-    return "month" === e.context.currentType && o >= 0 ? n - o : "year" === e.context.currentType && e.context.selectedYear !== a ? n - 1 : n;
-  },
-  handleMultipleYearSelection = (e, t) => {
-    const n = getValue(e, "year", Number(t.dataset.vcYearsYear)),
-      a = getDate(e.context.dateMin),
-      o = getDate(e.context.dateMax),
-      l = e.context.displayMonthsCount - 1,
-      {
-        columnID: s
-      } = getColumnID(e, "year"),
-      i = e.context.selectedMonth < a.getMonth() && n <= a.getFullYear(),
-      r = e.context.selectedMonth > o.getMonth() - l + s && n >= o.getFullYear(),
-      c = n < a.getFullYear(),
-      d = n > o.getFullYear(),
-      u = i || c ? a.getFullYear() : r || d ? o.getFullYear() : n,
-      m = i || c ? a.getMonth() : r || d ? o.getMonth() - l + s : e.context.selectedMonth;
-    setContext(e, "selectedYear", u), setContext(e, "selectedMonth", m);
-  },
-  handleMultipleMonthSelection = (e, t) => {
-    const n = t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),
-      a = getValue(e, "month", Number(t.dataset.vcMonthsMonth)),
-      o = Number(n.dataset.vcYear),
-      l = getDate(e.context.dateMin),
-      s = getDate(e.context.dateMax),
-      i = a < l.getMonth() && o <= l.getFullYear(),
-      r = a > s.getMonth() && o >= s.getFullYear();
-    setContext(e, "selectedYear", o), setContext(e, "selectedMonth", i ? l.getMonth() : r ? s.getMonth() : a);
-  },
-  handleItemClick = (e, t, n, a) => {
-    var o;
-    ({
-      year: () => {
-        if ("multiple" === e.type) return handleMultipleYearSelection(e, a);
-        setContext(e, "selectedYear", Number(a.dataset.vcYearsYear));
-      },
-      month: () => {
-        if ("multiple" === e.type) return handleMultipleMonthSelection(e, a);
-        setContext(e, "selectedMonth", Number(a.dataset.vcMonthsMonth));
-      }
-    })[n]();
-    (({
-      year: () => {
-        var n;
-        return null == (n = e.onClickYear) ? void 0 : n.call(e, e, t);
-      },
-      month: () => {
-        var n;
-        return null == (n = e.onClickMonth) ? void 0 : n.call(e, e, t);
-      }
-    }))[n](), e.context.currentType !== e.type ? (setContext(e, "currentType", e.type), create(e), null == (o = e.context.mainElement.querySelector(`[data-vc="${n}"]`)) || o.focus()) : setYearModifier(e, a, n, true, true);
-  },
-  handleClickType = (e, t, n) => {
-    var a;
-    const o = t.target,
-      l = o.closest(`[data-vc="${n}"]`),
-      s = {
-        year: () => createYears(e, o),
-        month: () => createMonths(e, o)
-      };
-    if (l && e.onClickTitle && e.onClickTitle(e, t), l && e.context.currentType !== n) return s[n]();
-    const i = o.closest(`[data-vc-${n}s-${n}]`);
-    if (i) return handleItemClick(e, t, n, i);
-    const r = o.closest('[data-vc="grid"]'),
-      c = o.closest('[data-vc="column"]');
-    (e.context.currentType === n && l || "multiple" === e.type && e.context.currentType === n && r && !c) && (setContext(e, "currentType", e.type), create(e), null == (a = e.context.mainElement.querySelector(`[data-vc="${n}"]`)) || a.focus());
-  },
-  handleClickMonthOrYear = (e, t) => {
-    const n = {
-      month: e.selectionMonthsMode,
-      year: e.selectionYearsMode
-    };
-    typeClick.forEach(a => {
-      n[a] && t.target && handleClickType(e, t, a);
-    });
-  },
-  handleClickWeekNumber = (e, t) => {
-    if (!e.enableWeekNumbers || !e.onClickWeekNumber) return;
-    const n = t.target.closest("[data-vc-week-number]"),
-      a = e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");
-    if (!n || !a[0]) return;
-    const o = Number(n.innerText),
-      l = Number(n.dataset.vcWeekYear),
-      s = Array.from(a).filter(e => Number(e.dataset.vcDateWeekNumber) === o);
-    e.onClickWeekNumber(e, o, l, s, t);
-  },
-  handleClickWeekDay = (e, t) => {
-    if (!e.onClickWeekDay) return;
-    const n = t.target.closest("[data-vc-week-day]"),
-      a = t.target.closest('[data-vc="column"]'),
-      o = a ? a.querySelectorAll("[data-vc-date-week-day]") : e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");
-    if (!n || !o[0]) return;
-    const l = Number(n.dataset.vcWeekDay),
-      s = Array.from(o).filter(e => Number(e.dataset.vcDateWeekDay) === l);
-    e.onClickWeekDay(e, l, s, t);
-  },
-  handleClick = e => {
-    const t = t => {
-      handleClickArrow(e, t), handleClickWeekDay(e, t), handleClickWeekNumber(e, t), handleClickDate(e, t), handleClickMonthOrYear(e, t);
-    };
-    return e.context.mainElement.addEventListener("click", t), () => e.context.mainElement.removeEventListener("click", t);
-  },
-  initMonthsCount = e => {
-    if ("multiple" === e.type && (e.displayMonthsCount <= 1 || e.displayMonthsCount > 12)) throw new Error(errorMessages.incorrectMonthsCount);
-    if ("multiple" !== e.type && e.displayMonthsCount > 1) throw new Error(errorMessages.incorrectMonthsCount);
-    setContext(e, "displayMonthsCount", e.displayMonthsCount ? e.displayMonthsCount : "multiple" === e.type ? 2 : 1);
-  },
-  getLocalDate = () => {
-    const e = new Date();
-    return new Date(e.getTime() - 6e4 * e.getTimezoneOffset()).toISOString().substring(0, 10);
-  },
-  resolveDate = (e, t) => "today" === e ? getLocalDate() : e instanceof Date || "number" == typeof e || "string" == typeof e ? parseDates([e])[0] : t,
-  initRange = e => {
-    var t, n, a;
-    const o = resolveDate(e.dateMin, e.dateMin),
-      l = resolveDate(e.dateMax, e.dateMax),
-      s = resolveDate(e.displayDateMin, o),
-      i = resolveDate(e.displayDateMax, l);
-    setContext(e, "dateToday", resolveDate(e.dateToday, e.dateToday)), setContext(e, "displayDateMin", s ? getDate(o) >= getDate(s) ? o : s : o), setContext(e, "displayDateMax", i ? getDate(l) <= getDate(i) ? l : i : l);
-    const r = e.disableDatesPast && !e.disableAllDates && getDate(s) < getDate(e.context.dateToday);
-    setContext(e, "displayDateMin", r || e.disableAllDates ? e.context.dateToday : s), setContext(e, "displayDateMax", e.disableAllDates ? e.context.dateToday : i), setContext(e, "disableDates", e.disableDates[0] && !e.disableAllDates ? parseDates(e.disableDates) : e.disableAllDates ? [e.context.displayDateMin] : []), e.context.disableDates.length > 1 && e.context.disableDates.sort((e, t) => +new Date(e) - +new Date(t)), setContext(e, "enableDates", e.enableDates[0] ? parseDates(e.enableDates) : []), (null == (t = e.context.enableDates) ? void 0 : t[0]) && (null == (n = e.context.disableDates) ? void 0 : n[0]) && setContext(e, "disableDates", e.context.disableDates.filter(t => !e.context.enableDates.includes(t))), e.context.enableDates.length > 1 && e.context.enableDates.sort((e, t) => +new Date(e) - +new Date(t)), (null == (a = e.context.enableDates) ? void 0 : a[0]) && e.disableAllDates && (setContext(e, "displayDateMin", e.context.enableDates[0]), setContext(e, "displayDateMax", e.context.enableDates[e.context.enableDates.length - 1])), setContext(e, "dateMin", e.displayDisabledDates ? o : e.context.displayDateMin), setContext(e, "dateMax", e.displayDisabledDates ? l : e.context.displayDateMax);
-  },
-  initSelectedDates = e => {
-    var t;
-    setContext(e, "selectedDates", (null == (t = e.selectedDates) ? void 0 : t[0]) ? parseDates(e.selectedDates) : []);
-  },
-  displayClosestValidDate = e => {
-    const t = t => {
-      const n = new Date(t);
-      setInitialContext(e, n.getMonth(), n.getFullYear());
-    };
-    if (e.displayDateMin && "today" !== e.displayDateMin && (n = e.displayDateMin, a = new Date(), new Date(n).getTime() > a.getTime())) {
-      const n = e.selectedDates.length && e.selectedDates[0] ? parseDates(e.selectedDates)[0] : e.displayDateMin;
-      return t(getDate(resolveDate(n, e.displayDateMin))), true;
-    }
-    var n, a;
-    if (e.displayDateMax && "today" !== e.displayDateMax && ((e, t) => new Date(e).getTime() < t.getTime())(e.displayDateMax, new Date())) {
-      const n = e.selectedDates.length && e.selectedDates[0] ? parseDates(e.selectedDates)[0] : e.displayDateMax;
-      return t(getDate(resolveDate(n, e.displayDateMax))), true;
-    }
-    return false;
-  },
-  setInitialContext = (e, t, n) => {
-    setContext(e, "selectedMonth", t), setContext(e, "selectedYear", n), setContext(e, "displayYear", n);
-  },
-  initSelectedMonthYear = e => {
-    var t;
-    if (e.enableJumpToSelectedDate && (null == (t = e.selectedDates) ? void 0 : t[0]) && void 0 === e.selectedMonth && void 0 === e.selectedYear) {
-      const t = getDate(parseDates(e.selectedDates)[0]);
-      return void setInitialContext(e, t.getMonth(), t.getFullYear());
-    }
-    if (displayClosestValidDate(e)) return;
-    const n = void 0 !== e.selectedMonth && Number(e.selectedMonth) >= 0 && Number(e.selectedMonth) < 12,
-      a = void 0 !== e.selectedYear && Number(e.selectedYear) >= 0 && Number(e.selectedYear) <= 9999;
-    setInitialContext(e, n ? Number(e.selectedMonth) : getDate(e.context.dateToday).getMonth(), a ? Number(e.selectedYear) : getDate(e.context.dateToday).getFullYear());
-  },
-  initTime = e => {
-    var t, n, a;
-    if (!e.selectionTimeMode) return;
-    if (![12, 24].includes(e.selectionTimeMode)) throw new Error(errorMessages.incorrectTime);
-    const o = 12 === e.selectionTimeMode,
-      l = o ? /^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i : /^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;
-    let [s, i, r] = null != (a = null == (n = null == (t = e.selectedTime) ? void 0 : t.match(l)) ? void 0 : n.slice(1)) ? a : [];
-    s ? o && !r && (r = "AM") : (s = o ? transformTime12(String(e.timeMinHour)) : String(e.timeMinHour), i = String(e.timeMinMinute), r = o ? Number(transformTime12(String(e.timeMinHour))) >= 12 ? "PM" : "AM" : null), setContext(e, "selectedHours", s.padStart(2, "0")), setContext(e, "selectedMinutes", i.padStart(2, "0")), setContext(e, "selectedKeeping", r), setContext(e, "selectedTime", `${e.context.selectedHours}:${e.context.selectedMinutes}${r ? ` ${r}` : ""}`);
-  },
-  initAllVariables = e => {
-    setContext(e, "currentType", e.type), initMonthsCount(e), initRange(e), initSelectedMonthYear(e), initSelectedDates(e), initTime(e);
-  },
-  reset = (e, {
-    year: t,
-    month: n,
-    dates: a,
-    time: o,
-    locale: l
-  }, s = true) => {
-    var i;
-    const r = {
-      year: e.selectedYear,
-      month: e.selectedMonth,
-      dates: e.selectedDates,
-      time: e.selectedTime
-    };
-    if (e.selectedYear = t ? r.year : e.context.selectedYear, e.selectedMonth = n ? r.month : e.context.selectedMonth, e.selectedTime = o ? r.time : e.context.selectedTime, e.selectedDates = "only-first" === a && (null == (i = e.context.selectedDates) ? void 0 : i[0]) ? [e.context.selectedDates[0]] : true === a ? r.dates : e.context.selectedDates, l) {
-      setContext(e, "locale", {
-        months: {
-          short: [],
-          long: []
-        },
-        weekdays: {
-          short: [],
-          long: []
-        }
-      });
-    }
-    initAllVariables(e), s && create(e), e.selectedYear = r.year, e.selectedMonth = r.month, e.selectedDates = r.dates, e.selectedTime = r.time, "multiple-ranged" === e.selectionDatesMode && a && handleSelectDateRange(e, null);
-  },
-  createToInput = e => {
-    const t = document.createElement("div");
-    return t.className = e.styles.calendar, t.dataset.vc = "calendar", t.dataset.vcInput = "", t.dataset.vcCalendarHidden = "", setContext(e, "inputModeInit", true), setContext(e, "isShowInInputMode", false), setContext(e, "mainElement", t), document.body.appendChild(e.context.mainElement), reset(e, {
-      year: true,
-      month: true,
-      dates: true,
-      time: true,
-      locale: true
-    }), setTimeout(() => show(e)), e.onInit && e.onInit(e), handleArrowKeys(e), handleClick(e);
-  },
-  canOpenOnFocus = e => resolveToggle(e, e.openOnFocus),
-  handleInput = e => {
-    setContext(e, "inputElement", e.context.mainElement);
-    const t = () => {
-      e.context.inputModeInit ? setTimeout(() => show(e)) : createToInput(e);
-    };
-    e.context.inputElement.addEventListener("click", t);
-    const n = "function" == typeof e.openOnFocus || true === e.openOnFocus,
-      a = () => {
-        shouldSkipOpenOnFocus(e) ? clearSkipOpenOnFocus(e) : canOpenOnFocus(e) && t();
-      };
-    n && e.context.inputElement.addEventListener("focus", a);
-    const o = t => {
-      const n = "Tab" === t.key && !t.shiftKey,
-        a = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(t.key);
-      (n || a) && (t => {
-        var n;
-        if (!e.context.isShowInInputMode) return false;
-        if (document.activeElement !== e.context.inputElement) return false;
-        const a = e => e.tabIndex >= 0 && !e.hasAttribute("disabled") && "true" !== e.getAttribute("aria-disabled"),
-          o = null != (n = document.createTreeWalker(e.context.mainElement, NodeFilter.SHOW_ELEMENT, {
-            acceptNode: e => a(e) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP
-          }).nextNode()) ? n : a(e.context.mainElement) ? e.context.mainElement : null;
-        !o || o.tabIndex < 0 || (t.preventDefault(), o.focus());
-      })(t);
-    };
-    return e.context.inputElement.addEventListener("keydown", o), () => {
-      e.context.inputElement.removeEventListener("click", t), n && e.context.inputElement.removeEventListener("focus", a), e.context.inputElement.removeEventListener("keydown", o);
-    };
-  },
-  init = e => (setContext(e, "originalElement", e.context.mainElement.cloneNode(true)), setContext(e, "isInit", true), e.inputMode ? handleInput(e) : (initAllVariables(e), create(e), e.onInit && e.onInit(e), handleArrowKeys(e), handleClick(e))),
-  update = (e, t) => {
-    if (!e.context.isInit) throw new Error(errorMessages.notInit);
-    reset(e, __spreadValues(__spreadValues({}, {
-      year: true,
-      month: true,
-      dates: true,
-      time: true,
-      locale: true
-    }), t), !(e.inputMode && !e.context.inputModeInit)), e.onUpdate && e.onUpdate(e);
-  },
-  replaceProperties = (e, t) => {
-    const n = Object.keys(t);
-    for (let a = 0; a < n.length; a++) {
-      const o = n[a];
-      "object" != typeof e[o] || "object" != typeof t[o] || t[o] instanceof Date || Array.isArray(t[o]) ? void 0 !== t[o] && (e[o] = t[o]) : replaceProperties(e[o], t[o]);
-    }
-  },
-  set = (e, t, n) => {
-    replaceProperties(e, t), e.context.isInit && update(e, n);
-  };
-function findBestPickerPosition(e, t) {
-  const n = "left";
-  if (!t || !e) return n;
-  const {
-      canShow: a,
-      parentPositions: o
-    } = getAvailablePosition(e, t),
-    l = a.left && a.right;
-  return (l && a.bottom ? "center" : l && a.top ? ["top", "center"] : Array.isArray(o) ? ["bottom" === o[0] ? "top" : "bottom", ...o.slice(1)] : o) || n;
-}
-const setPosition = (e, t, n) => {
-    if (!e) return;
-    const a = "auto" === n ? findBestPickerPosition(e, t) : n,
-      o = {
-        top: -t.offsetHeight,
-        bottom: e.offsetHeight,
-        left: 0,
-        center: e.offsetWidth / 2 - t.offsetWidth / 2,
-        right: e.offsetWidth - t.offsetWidth
-      },
-      l = Array.isArray(a) ? a[0] : "bottom",
-      s = Array.isArray(a) ? a[1] : a;
-    t.dataset.vcPosition = l;
-    const {
-        top: i,
-        left: r
-      } = getOffset(e),
-      c = i + o[l];
-    let d = r + o[s];
-    const {
-      vw: u
-    } = getViewportDimensions();
-    if (d + t.clientWidth > u) {
-      const e = window.innerWidth - document.body.clientWidth;
-      d = u - t.clientWidth - e;
-    } else d < 0 && (d = 0);
-    Object.assign(t.style, {
-      left: `${d}px`,
-      top: `${c}px`
-    });
-  },
-  show = e => {
-    if (e.context.isShowInInputMode) return;
-    if (!e.context.currentType) return void e.context.mainElement.click();
-    setContext(e, "cleanupHandlers", []), setContext(e, "isShowInInputMode", true), e.inputMode && restoreTabbing(e.context.mainElement), setPosition(e.context.inputElement, e.context.mainElement, e.positionToInput), e.context.mainElement.removeAttribute("data-vc-calendar-hidden");
-    const t = () => {
-      setPosition(e.context.inputElement, e.context.mainElement, e.positionToInput);
-    };
-    window.addEventListener("resize", t), e.context.cleanupHandlers.push(() => window.removeEventListener("resize", t));
-    const n = t => {
-      "Escape" === t.key && hide(e);
-    };
-    document.addEventListener("keydown", n), e.context.cleanupHandlers.push(() => document.removeEventListener("keydown", n));
-    const a = t => {
-      t.target === e.context.inputElement || e.context.mainElement.contains(t.target) || hide(e);
-    };
-    document.addEventListener("click", a, {
-      capture: true
-    }), e.context.cleanupHandlers.push(() => document.removeEventListener("click", a, {
-      capture: true
-    })), e.onShow && e.onShow(e);
-  },
-  labels = {
-    application: "Calendar",
-    navigation: "Calendar Navigation",
-    arrowNext: {
-      month: "Next month",
-      year: "Next list of years"
-    },
-    arrowPrev: {
-      month: "Previous month",
-      year: "Previous list of years"
-    },
-    month: "Select month, current selected month:",
-    months: "List of months",
-    year: "Select year, current selected year:",
-    years: "List of years",
-    week: "Days of the week",
-    weekNumber: "Numbers of weeks in a year",
-    dates: "Dates in the current month",
-    selectingTime: "Selecting a time ",
-    inputHour: "Hours",
-    inputMinute: "Minutes",
-    rangeHour: "Slider for selecting hours",
-    rangeMinute: "Slider for selecting minutes",
-    btnKeeping: "Switch AM/PM, current position:"
-  },
-  styles = {
-    calendar: "vc",
-    controls: "vc-controls",
-    grid: "vc-grid",
-    column: "vc-column",
-    header: "vc-header",
-    headerContent: "vc-header__content",
-    month: "vc-month",
-    year: "vc-year",
-    arrowPrev: "vc-arrow vc-arrow_prev",
-    arrowNext: "vc-arrow vc-arrow_next",
-    wrapper: "vc-wrapper",
-    content: "vc-content",
-    months: "vc-months",
-    monthsMonth: "vc-months__month",
-    years: "vc-years",
-    yearsYear: "vc-years__year",
-    week: "vc-week",
-    weekDay: "vc-week__day",
-    weekNumbers: "vc-week-numbers",
-    weekNumbersTitle: "vc-week-numbers__title",
-    weekNumbersContent: "vc-week-numbers__content",
-    weekNumber: "vc-week-number",
-    dates: "vc-dates",
-    datesRow: "vc-dates__row",
-    date: "vc-date",
-    dateBtn: "vc-date__btn",
-    datePopup: "vc-date__popup",
-    dateRangeTooltip: "vc-date-range-tooltip",
-    time: "vc-time",
-    timeContent: "vc-time__content",
-    timeHour: "vc-time__hour",
-    timeMinute: "vc-time__minute",
-    timeKeeping: "vc-time__keeping",
-    timeRanges: "vc-time__ranges",
-    timeRange: "vc-time__range"
-  };
-class OptionsCalendar {
-  constructor() {
-    __publicField(this, "type", "default"), __publicField(this, "inputMode", false), __publicField(this, "openOnFocus", true), __publicField(this, "positionToInput", "left"), __publicField(this, "firstWeekday", 1), __publicField(this, "monthsToSwitch", 1), __publicField(this, "themeAttrDetect", "html[data-theme]"), __publicField(this, "locale", "en"), __publicField(this, "dateToday", "today"), __publicField(this, "dateMin", "1970-01-01"), __publicField(this, "dateMax", "2470-12-31"), __publicField(this, "displayDateMin"), __publicField(this, "displayDateMax"), __publicField(this, "displayDatesOutside", true), __publicField(this, "displayDisabledDates", false), __publicField(this, "displayMonthsCount"), __publicField(this, "disableDates", []), __publicField(this, "disableAllDates", false), __publicField(this, "disableDatesPast", false), __publicField(this, "disableDatesGaps", false), __publicField(this, "disableWeekdays", []), __publicField(this, "disableToday", false), __publicField(this, "enableDates", []), __publicField(this, "enableEdgeDatesOnly", true), __publicField(this, "enableDateToggle", true), __publicField(this, "enableWeekNumbers", false), __publicField(this, "enableMonthChangeOnDayClick", true), __publicField(this, "enableJumpToSelectedDate", false), __publicField(this, "selectionDatesMode", "single"), __publicField(this, "selectionMonthsMode", true), __publicField(this, "selectionYearsMode", true), __publicField(this, "selectionTimeMode", false), __publicField(this, "selectedDates", []), __publicField(this, "selectedMonth"), __publicField(this, "selectedYear"), __publicField(this, "selectedHolidays", []), __publicField(this, "selectedWeekends", [0, 6]), __publicField(this, "selectedTime"), __publicField(this, "selectedTheme", "system"), __publicField(this, "timeMinHour", 0), __publicField(this, "timeMaxHour", 23), __publicField(this, "timeMinMinute", 0), __publicField(this, "timeMaxMinute", 59), __publicField(this, "timeControls", "all"), __publicField(this, "timeStepHour", 1), __publicField(this, "timeStepMinute", 1), __publicField(this, "sanitizerHTML", e => e), __publicField(this, "onClickDate"), __publicField(this, "onClickWeekDay"), __publicField(this, "onClickWeekNumber"), __publicField(this, "onClickTitle"), __publicField(this, "onClickMonth"), __publicField(this, "onClickYear"), __publicField(this, "onClickArrow"), __publicField(this, "onChangeTime"), __publicField(this, "onChangeToInput"), __publicField(this, "onCreateDateRangeTooltip"), __publicField(this, "onCreateDateEls"), __publicField(this, "onCreateMonthEls"), __publicField(this, "onCreateYearEls"), __publicField(this, "onInit"), __publicField(this, "onUpdate"), __publicField(this, "onDestroy"), __publicField(this, "onShow"), __publicField(this, "onHide"), __publicField(this, "popups", {}), __publicField(this, "labels", __spreadValues({}, labels)), __publicField(this, "layouts", {
-      default: "",
-      multiple: "",
-      month: "",
-      year: ""
-    }), __publicField(this, "styles", __spreadValues({}, styles));
-  }
-}
-const _Calendar = class e extends OptionsCalendar {
-  constructor(t, n) {
-    var a;
-    super(), __publicField(this, "init", () => init(this)), __publicField(this, "update", e => update(this, e)), __publicField(this, "destroy", () => destroy(this)), __publicField(this, "show", () => show(this)), __publicField(this, "hide", () => hide(this)), __publicField(this, "set", (e, t) => set(this, e, t)), __publicField(this, "context"), this.context = __spreadProps(__spreadValues({}, this.context), {
-      locale: {
-        months: {
-          short: [],
-          long: []
-        },
-        weekdays: {
-          short: [],
-          long: []
-        }
-      }
-    }), setContext(this, "mainElement", "string" == typeof t ? null != (a = e.memoizedElements.get(t)) ? a : this.queryAndMemoize(t) : t), n && replaceProperties(this, n);
-  }
-  queryAndMemoize(t) {
-    const n = document.querySelector(t);
-    if (!n) throw new Error(errorMessages.notFoundSelector(t));
-    return e.memoizedElements.set(t, n), n;
-  }
-};
-__publicField(_Calendar, "memoizedElements", new Map());
-let Calendar = _Calendar;
+var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:true,configurable:true,writable:true,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n;},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e);},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e);},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e);},PREV_TABINDEX_ATTR="data-vc-prev-tabindex",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute("tabindex");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:"");},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);""===t||null===t?e.removeAttribute("tabindex"):e.setAttribute("tabindex",t),e.removeAttribute(PREV_TABINDEX_ATTR);},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1;}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex);},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",false),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,"cleanupHandlers",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){("function"==typeof e.openOnFocus||true===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus();}e.onHide&&e.onHide(e);}};function getOffset(e){if(!e||!e.getBoundingClientRect)return {top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return {bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return {vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return {left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return {top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:true,bottom:true,left:true,right:true},o=[];if(!t||!e)return {canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return [{condition:i<h,position:"top"},{condition:i>h,position:"bottom"},{condition:r<p,position:"left"},{condition:r>p,position:"right"}].forEach((({condition:e,position:t})=>{e&&o.push(t);})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date="${t}"]`),s=null==l?void 0:l.querySelector("[data-vc-date-btn]");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const i=document.createElement("div");i.className=e.styles.datePopup,i.dataset.vcDatePopup="",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded="true",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/&nbsp;/g," ")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`});}));},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))));},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10));}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a="")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n);},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&"current"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,"data-vc-date-disabled"),a&&updateAttribute(a,u,"aria-disabled","true"),a&&updateAttribute(a,u,"tabindex","-1"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,"data-vc-date-today"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,"aria-current","date"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),"data-vc-date-weekend");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute("data-vc-date-selected",""),a&&a.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===l?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),a&&a.removeAttribute("aria-selected")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,"data-vc-date-selected","middle");}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return {year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week));},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))));},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role="gridcell",("current"===l||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.ariaLabel=getLocaleString(o,i,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r);},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),"current");}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?"01":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,"next");}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,"prev");}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent="";const l=document.createElement("b");l.className=e.styles.weekNumbersTitle,l.innerText="#",l.dataset.vcWeekNumbers="title",a.appendChild(l);const s=document.createElement("div");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers="content",a.appendChild(s);const i=document.createElement("button");i.type="button",i.className=e.styles.weekNumber;const r=o.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(true);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role="rowheader",o.ariaLabel=`${a.week}`,s.appendChild(o);}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement("div");t.className=e.styles.datesRow,t.setAttribute("data-vc-dates","row"),t.setAttribute("role","row"),p.push(t);}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0);}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n);}));},layoutDefault=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <#WeekNumbers />\n    <div class="${e.styles.content}" data-vc="content" role="grid">\n      <#Week />\n      <#Dates />\n      <#DateRangeTooltip />\n    </div>\n  </div>\n  <#ControlTime />\n`,layoutMonths=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Months />\n    </div>\n  </div>\n`,layoutMultiple=e=>`\n  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.grid}" data-vc="grid">\n    <#Multiple>\n      <div class="${e.styles.column}" data-vc="column" role="region">\n        <div class="${e.styles.header}" data-vc="header">\n          <div class="${e.styles.headerContent}" data-vc-header="content">\n            <#Month />\n            <#Year />\n          </div>\n        </div>\n        <div class="${e.styles.wrapper}" data-vc="wrapper">\n          <#WeekNumbers />\n          <div class="${e.styles.content}" data-vc="content" role="grid">\n            <#Week />\n            <#Dates />\n          </div>\n        </div>\n      </div>\n    <#/Multiple>\n    <#DateRangeTooltip />\n  </div>\n  <#ControlTime />\n`,layoutYears=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [year] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [year] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Years />\n    </div>\n  </div>\n`,ArrowNext=(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev=(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Dates=e=>`<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,Month=e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months=e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week=e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year=e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years=e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\[(.*?)\]/)||[])[1],o=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),l=getComponent(o),s=l?l(e,null!=a?a:null):"";return e.sanitizerHTML(s)})).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(a)})).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e));})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),a=e.context.mainElement.querySelector('[data-vc="grid"]'),o=t.closest('[data-vc="column"]');return n&&n.remove(),a&&(a.dataset.vcGrid="hidden"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]));}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])));},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?"hidden":"",t.style.visibility=a?"hidden":"";},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c);},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s);},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})["multiple"===e.context.currentType?"default":e.context.currentType]();},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=false===d[o]||"only-arrows"===d[o];u&&(t.tabIndex=-1),t.disabled=u;},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))));},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:"[data-vc-months-month]",year:"[data-vc-years-year]"},i={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria);})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,""),t.setAttribute(i[n].aria,"true"));},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return {currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc="column"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column="${t}"]`)));return {currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(false);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role="gridcell",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled="true"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,"month",n===s,false),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m);}null==(a=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||a.focus();},TimeInput=(e,t,n,a,o)=>`\n  <label class="${t}" data-vc-time-input="${e}">\n    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}" ${o?"disabled":""}>\n  </label>\n`,TimeRange=(e,t,n,a,o,l,s)=>`\n  <label class="${t}" data-vc-time-range="${e}">\n    <input type="range" name="${e}" min="${a}" max="${o}" step="${l}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${s}">\n  </label>\n`,handleActions=(e,t,n,a)=>{(({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)}))[a](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,false),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);},transformTime24=(e,t)=>{var n;return (null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s="AM"===e.context.selectedKeeping?"PM":"AM",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,"selectedKeeping",s),n.value=i,handleActions(e,l,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,true);};return t.addEventListener("click",l),()=>{t.removeEventListener("click",l);}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a;},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,"PM"),handleActions(e,c,transformTime12(r),o);},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,true));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o);}})[e.selectionTimeMode]();},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,true));n.value=i,t.value=i,handleActions(e,r,i,o);}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,"0");i[o]&&i[o](t,a,e);};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r);}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a);},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n);},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,"0"),r="hour"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?"AM":"PM"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value));};return t.addEventListener("input",l),()=>{t.removeEventListener("input",l);}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),a=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),o=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),l=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time="keeping"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l);},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l);};return t.addEventListener("mouseover",i),t.addEventListener("mouseout",r),handleInput$1(e,n,o,s,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,"hour"),handleRange(e,a,l,s,"minute"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",i),t.removeEventListener("mouseout",r);}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n    <div class="${e.styles.timeContent}" data-vc-time="content">\n      ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\n      ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${i?"disabled":""}>${r}</button>`):""}\n    </div>\n    <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n      ${TimeRange("hour",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\n      ${TimeRange("minute",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\n    </div>\n  `),handleTime(e,t);},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),a.forEach((a=>{const o=n.cloneNode(true);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role="columnheader",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=""),t.appendChild(o);}));}));},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(false);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role="gridcell",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled="true"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,"year",n===o,false),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!o)return;const l="multiple"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement("button");s.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i);}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus();},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:true});},haveListener={value:false,set:()=>haveListener.value=true,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach((t=>setTheme(t,e.matches?"dark":"light")));};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set();},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,((e,t)=>t));if(!n||"system"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t);}))):trackChangesThemeInSystemSettings(e,t);},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light");},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),l=a.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l));},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:"short",timeZone:"UTC"}),l=a.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l));},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)));}else {if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale));}},create=e=>{const t={default:()=>{createWeek(e),createDates(e);},multiple:()=>{createWeek(e),createDates(e);},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]();},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute("data-vc-date-btn")?7:i.hasAttribute("data-vc-months-month")?4:i.hasAttribute("data-vc-years-year")?5:1;var i;const r=(0, {ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus();};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));(({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)}))[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e);},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+a),createYears(e,t.target);}e.onClickArrow&&e.onClickArrow(e,t);}},resolveToggle=(e,t)=>void 0===t||("function"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest("[data-vc-date][data-vc-date-selected]"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,"selectedDates",s);},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+"px",t.style.top=o.bottom-a.top-o.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a));},state={self:null,lastDateEl:null,isHovering:false,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`).forEach((e=>e.dataset.vcDateHover="")),t.forEach((e=>e.dataset.vcDateHover="first")),n.forEach((e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last";})));},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach((e=>e.removeAttribute("data-vc-date-hover")));},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest("[data-vc-date]");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${o}"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d);},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t));},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=true,requestAnimationFrame((()=>{e(n),state.isHovering=false;})));},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect());},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect();}),50);},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,"displayDateMin",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,"displayDateMax",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,"displayDateMin",state.self.context.dateToday);},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)));}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates);}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",s),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave);}}})[1===e.context.selectedDates.length?"set":"reset"]();},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach((t=>{const n=t.querySelector("[data-vc-date-btn]"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,"current");}));},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!o)return;const l=o.closest("[data-vc-date]");(({single:()=>handleSelectDate(e,l,false),multiple:()=>handleSelectDate(e,l,true),"multiple-ranged":()=>handleSelectDateRange(e,l)}))[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month="prev"]'),i=a.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?"prev":i?"next":"current"]();},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return "month"===e.context.currentType&&o>=0?n-o:"year"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,"year"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",m);},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),a=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,"selectedYear",o),setContext(e,"selectedMonth",i?l.getMonth():r?s.getMonth():a);},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,a);setContext(e,"selectedYear",Number(a.dataset.vcYearsYear));},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,"selectedMonth",Number(a.dataset.vcMonthsMonth));}})[n]();(({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}))[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||o.focus()):setYearModifier(e,a,n,true,true);},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc="${n}"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc="grid"]'),c=o.closest('[data-vc="column"]');(e.context.currentType===n&&l||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||a.focus());},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a);}));},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),a=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t);},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),a=t.target.closest('[data-vc="column"]'),o=a?a.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t);},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t);};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1);},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,"displayDateMax",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,"displayDateMin",r||e.disableAllDates?e.context.dateToday:s),setContext(e,"displayDateMax",e.disableAllDates?e.context.dateToday:i),setContext(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?l:e.context.displayDateMax);},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[]);},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear());};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),true}var n,a;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),true}return  false},setInitialContext=(e,t,n)=>{setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n);},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear());},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r="AM"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",s.padStart(2,"0")),setContext(e,"selectedMinutes",i.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`);},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e);},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=true)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates="only-first"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:true===a?r.dates:e.context.selectedDates,l){setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}});}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null);},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",true),setContext(e,"isShowInInputMode",false),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:true,month:true,dates:true,time:true,locale:true}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e);};e.context.inputElement.addEventListener("click",t);const n="function"==typeof e.openOnFocus||true===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t();};n&&e.context.inputElement.addEventListener("focus",a);const o=t=>{const n="Tab"===t.key&&!t.shiftKey,a=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return  false;if(document.activeElement!==e.context.inputElement)return  false;const a=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus());})(t);};return e.context.inputElement.addEventListener("keydown",o),()=>{e.context.inputElement.removeEventListener("click",t),n&&e.context.inputElement.removeEventListener("focus",a),e.context.inputElement.removeEventListener("keydown",o);}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(true)),setContext(e,"isInit",true),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:true,month:true,dates:true,time:true,locale:true}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e);},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];"object"!=typeof e[o]||"object"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o]);}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n);};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return (l&&a.bottom?"center":l&&a.top?["top","center"]:Array.isArray(o)?["bottom"===o[0]?"top":"bottom",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a="auto"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:"bottom",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e;}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`});},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",true),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput);};window.addEventListener("resize",t),e.context.cleanupHandlers.push((()=>window.removeEventListener("resize",t)));const n=t=>{"Escape"===t.key&&hide(e);};document.addEventListener("keydown",n),e.context.cleanupHandlers.push((()=>document.removeEventListener("keydown",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e);};document.addEventListener("click",a,{capture:true}),e.context.cleanupHandlers.push((()=>document.removeEventListener("click",a,{capture:true}))),e.onShow&&e.onShow(e);},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",datesRow:"vc-dates__row",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",false),__publicField(this,"openOnFocus",true),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",true),__publicField(this,"displayDisabledDates",false),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",false),__publicField(this,"disableDatesPast",false),__publicField(this,"disableDatesGaps",false),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",false),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",true),__publicField(this,"enableDateToggle",true),__publicField(this,"enableWeekNumbers",false),__publicField(this,"enableMonthChangeOnDayClick",true),__publicField(this,"enableJumpToSelectedDate",false),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",true),__publicField(this,"selectionYearsMode",true),__publicField(this,"selectionTimeMode",false),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",(e=>e)),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles));}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,"init",(()=>init(this))),__publicField(this,"update",(e=>update(this,e))),__publicField(this,"destroy",(()=>destroy(this))),__publicField(this,"show",(()=>show(this))),__publicField(this,"hide",(()=>hide(this))),__publicField(this,"set",((e,t)=>set(this,e,t))),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n);}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar;
 
 /**
  * --------------------------------------------------------------------------
@@ -5875,9 +4503,9 @@ const DATA_KEY$a = 'bs.datepicker';
 const EVENT_KEY$a = `.${DATA_KEY$a}`;
 const DATA_API_KEY$6 = '.data-api';
 const EVENT_CHANGE$1 = `change${EVENT_KEY$a}`;
-const EVENT_SHOW$5 = `show${EVENT_KEY$a}`;
-const EVENT_SHOWN$5 = `shown${EVENT_KEY$a}`;
-const EVENT_HIDE$5 = `hide${EVENT_KEY$a}`;
+const EVENT_SHOW$4 = `show${EVENT_KEY$a}`;
+const EVENT_SHOWN$3 = `shown${EVENT_KEY$a}`;
+const EVENT_HIDE$3 = `hide${EVENT_KEY$a}`;
 const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$a}`;
 const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
 const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$a}${DATA_API_KEY$6}`;
@@ -5963,13 +4591,13 @@ class Datepicker extends BaseComponent {
     if (!this._calendar || isDisabled(this._element) || this._isShown) {
       return;
     }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5);
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4);
     if (showEvent.defaultPrevented) {
       return;
     }
     this._calendar.show();
     this._isShown = true;
-    EventHandler.trigger(this._element, EVENT_SHOWN$5);
+    EventHandler.trigger(this._element, EVENT_SHOWN$3);
   }
   hide() {
     if (this._config.inline) {
@@ -5978,7 +4606,7 @@ class Datepicker extends BaseComponent {
     if (!this._calendar || !this._isShown) {
       return;
     }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5);
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
     if (hideEvent.defaultPrevented) {
       return;
     }
@@ -6303,14 +4931,16 @@ const CLASS_NAME_OPEN = 'dialog-open';
 /**
  * Class definition
  *
- * Shared base class for Dialog and Offcanvas components that use
+ * Shared base class for Dialog and Drawer components that use
  * the native <dialog> element. Provides common behavior for:
+ * - Show/hide/toggle lifecycle with events
  * - Opening/closing via showModal()/show()/close()
  * - Escape key handling (modal and non-modal)
  * - Backdrop click handling
  * - Static backdrop transition ("bounce")
  * - Body scroll prevention
  * - Transition coordination
+ * - Child component cleanup (tooltips, popovers, toasts)
  */
 
 class DialogBase extends BaseComponent {
@@ -6322,12 +4952,88 @@ class DialogBase extends BaseComponent {
   }
 
   // Getters — subclasses override NAME with their own component name.
-  // This base name is only used if DialogBase is instantiated directly.
   static get NAME() {
     return 'dialogbase';
   }
 
-  // Protected - subclasses use these to implement show()/hide()
+  // Public — shared lifecycle methods
+
+  toggle(relatedTarget) {
+    return this._element.open ? this.hide() : this.show(relatedTarget);
+  }
+  show(relatedTarget) {
+    if (this._element.open || this._isTransitioning) {
+      return;
+    }
+    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName('show'), {
+      relatedTarget
+    });
+    if (showEvent.defaultPrevented) {
+      return;
+    }
+    this._isTransitioning = true;
+    this._onBeforeShow();
+    const {
+      modal,
+      preventBodyScroll
+    } = this._getShowOptions();
+    this._showElement({
+      modal,
+      preventBodyScroll
+    });
+    this._queueCallback(() => {
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, this.constructor.eventName('shown'), {
+        relatedTarget
+      });
+    }, this._element, this._isAnimated());
+  }
+  hide() {
+    if (!this._element.open || this._isTransitioning) {
+      return;
+    }
+    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName('hide'));
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    this._isTransitioning = true;
+    this._hideElement();
+    this._onAfterHide();
+    this._queueCallback(() => {
+      this._element.classList.remove('hiding');
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, this.constructor.eventName('hidden'));
+    }, this._element, this._isAnimated());
+  }
+
+  // Protected — hooks for subclasses to override
+
+  _getShowOptions() {
+    return {
+      modal: true,
+      preventBodyScroll: true
+    };
+  }
+  _onBeforeShow() {
+    // No-op by default — Dialog overrides to add nonmodal class
+  }
+  _onAfterHide() {
+    // No-op by default — Dialog overrides to remove nonmodal class
+  }
+  _isAnimated() {
+    return !this._element.classList.contains(this._getInstantClassName());
+  }
+  _getInstantClassName() {
+    return 'dialog-instant';
+  }
+  _getStaticClassName() {
+    return 'dialog-static';
+  }
+  _onCancel() {
+    // No-op by default — Dialog overrides to fire cancel event
+  }
+
+  // Protected — shared mechanics
 
   _showElement({
     modal = true,
@@ -6344,7 +5050,12 @@ class DialogBase extends BaseComponent {
     }
   }
   _hideElement() {
-    // this._hideChildComponents()
+    this._hideChildComponents();
+
+    // Add .hiding before close() so CSS exit transitions can play.
+    // Without this, the navbar's `:not([open])` transition-kill rule
+    // would prevent the slide-out animation.
+    this._element.classList.add('hiding');
     this._element.close();
     this._openedAsModal = false;
 
@@ -6353,6 +5064,17 @@ class DialogBase extends BaseComponent {
       document.body.classList.remove(CLASS_NAME_OPEN);
     }
   }
+  _triggerBackdropTransition() {
+    const hidePreventedEvent = EventHandler.trigger(this._element, this.constructor.eventName('hidePrevented'));
+    if (hidePreventedEvent.defaultPrevented) {
+      return;
+    }
+    const staticClass = this._getStaticClassName();
+    this._element.classList.add(staticClass);
+    this._queueCallback(() => {
+      this._element.classList.remove(staticClass);
+    }, this._element);
+  }
 
   // Hide any tooltips, popovers, or toasts inside the dialog before closing.
   // These components append to the dialog (for top-layer rendering) and would
@@ -6360,7 +5082,7 @@ class DialogBase extends BaseComponent {
   _hideChildComponents() {
     const selector = '[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]';
     for (const el of SelectorEngine.find(selector, this._element)) {
-      const instance = BaseComponent.getInstance(el);
+      const instance = Data.getAny(el);
       if (instance && typeof instance.hide === 'function') {
         instance.hide();
       }
@@ -6368,28 +5090,12 @@ class DialogBase extends BaseComponent {
 
     // Hide any visible toasts
     for (const el of SelectorEngine.find('.toast.show', this._element)) {
-      const instance = BaseComponent.getInstance(el);
+      const instance = Data.getAny(el);
       if (instance && typeof instance.hide === 'function') {
         instance.hide();
       }
     }
   }
-  _triggerBackdropTransition() {
-    const hidePreventedEvent = EventHandler.trigger(this._element, this.constructor.eventName('hidePrevented'));
-    if (hidePreventedEvent.defaultPrevented) {
-      return;
-    }
-    const staticClass = this._getStaticClassName();
-    this._element.classList.add(staticClass);
-    this._queueCallback(() => {
-      this._element.classList.remove(staticClass);
-    }, this._element);
-  }
-
-  // Overrideable by subclasses for component-specific class names
-  _getStaticClassName() {
-    return 'dialog-static';
-  }
 
   // Private
 
@@ -6397,10 +5103,7 @@ class DialogBase extends BaseComponent {
     const eventKey = this.constructor.EVENT_KEY;
 
     // Handle native cancel event (Escape key) — only fires for modal dialogs
-    // Note: 'cancel' is not in EventHandler's nativeEvents set, so we must
-    // register it without namespace to properly bind to the native event.
     EventHandler.on(this._element, 'cancel', event => {
-      // Prevent native close behavior — we handle it
       event.preventDefault();
       if (!this._config.keyboard) {
         this._triggerBackdropTransition();
@@ -6424,9 +5127,7 @@ class DialogBase extends BaseComponent {
     });
 
     // Handle backdrop clicks — only applies to modal dialogs
-    // Native <dialog> fires click on the dialog element itself when backdrop is clicked
     EventHandler.on(this._element, `click${eventKey}`, event => {
-      // Only handle clicks directly on the dialog (backdrop area), not child content
       if (event.target !== this._element || !this._openedAsModal) {
         return;
       }
@@ -6437,11 +5138,6 @@ class DialogBase extends BaseComponent {
       this.hide();
     });
   }
-
-  // Hook for subclasses to fire component-specific cancel events
-  _onCancel() {
-    // No-op by default — Dialog overrides this to fire its cancel event
-  }
 }
 
 /**
@@ -6460,9 +5156,7 @@ const NAME$c = 'dialog';
 const DATA_KEY$9 = 'bs.dialog';
 const EVENT_KEY$9 = `.${DATA_KEY$9}`;
 const DATA_API_KEY$5 = '.data-api';
-const EVENT_SHOW$4 = `show${EVENT_KEY$9}`;
-const EVENT_SHOWN$4 = `shown${EVENT_KEY$9}`;
-const EVENT_HIDE$4 = `hide${EVENT_KEY$9}`;
+const EVENT_SHOW$3 = `show${EVENT_KEY$9}`;
 const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$9}`;
 const EVENT_CANCEL = `cancel${EVENT_KEY$9}`;
 const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
@@ -6470,9 +5164,8 @@ const CLASS_NAME_NONMODAL = 'dialog-nonmodal';
 const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dialog"]';
 const Default$b = {
   backdrop: true,
-  // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs
   keyboard: true,
-  modal: true // true uses showModal(), false uses show() for non-modal dialogs
+  modal: true
 };
 const DefaultType$b = {
   backdrop: '(boolean|string)',
@@ -6497,61 +5190,26 @@ class Dialog extends DialogBase {
   }
 
   // Public
-  toggle(relatedTarget) {
-    return this._element.open ? this.hide() : this.show(relatedTarget);
+  handleUpdate() {
+    // Provided for API consistency with Modal.
   }
-  show(relatedTarget) {
-    if (this._element.open || this._isTransitioning) {
-      return;
-    }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {
-      relatedTarget
-    });
-    if (showEvent.defaultPrevented) {
-      return;
-    }
-    this._isTransitioning = true;
-    if (!this._config.modal) {
-      this._element.classList.add(CLASS_NAME_NONMODAL);
-    }
-    this._showElement({
+
+  // Protected — hook overrides
+
+  _getShowOptions() {
+    return {
       modal: this._config.modal,
       preventBodyScroll: this._config.modal
-    });
-
-    // CSS @starting-style handles the entry animation automatically.
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_SHOWN$4, {
-        relatedTarget
-      });
-    }, this._element, true);
+    };
   }
-  hide() {
-    if (!this._element.open || this._isTransitioning) {
-      return;
-    }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
-    if (hideEvent.defaultPrevented) {
-      return;
+  _onBeforeShow() {
+    if (!this._config.modal) {
+      this._element.classList.add(CLASS_NAME_NONMODAL);
     }
-    this._isTransitioning = true;
-
-    // Call close() immediately — CSS handles the exit animation via
-    // transition-behavior: allow-discrete on display and overlay.
-    this._hideElement();
-    this._element.classList.remove(CLASS_NAME_NONMODAL);
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_HIDDEN$4);
-    }, this._element, true);
   }
-  handleUpdate() {
-    // Provided for API consistency with Modal.
-    // Native dialogs handle their own positioning.
+  _onAfterHide() {
+    this._element.classList.remove(CLASS_NAME_NONMODAL);
   }
-
-  // Private
   _onCancel() {
     EventHandler.trigger(this._element, EVENT_CANCEL);
   }
@@ -6566,7 +5224,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, functi
   if (['A', 'AREA'].includes(this.tagName)) {
     event.preventDefault();
   }
-  EventHandler.one(target, EVENT_SHOW$4, showEvent => {
+  EventHandler.one(target, EVENT_SHOW$3, showEvent => {
     if (showEvent.defaultPrevented) {
       return;
     }
@@ -6580,15 +5238,12 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, functi
   // Get config from trigger's data attributes
   const config = Manipulator.getDataAttributes(this);
 
-  // Check if trigger is inside an open dialog
+  // Check if trigger is inside an open dialog (dialog swapping)
   const currentDialog = this.closest('dialog[open]');
   const shouldSwap = currentDialog && currentDialog !== target;
   if (shouldSwap) {
-    // Open new dialog first (its backdrop appears over current)
     const newDialog = Dialog.getOrCreateInstance(target, config);
     newDialog.show(this);
-
-    // Close the current dialog (no backdrop flash since new one is already open)
     const currentInstance = Dialog.getInstance(currentDialog);
     if (currentInstance) {
       currentInstance.hide();
@@ -6624,13 +5279,20 @@ const SELECTOR_NAV_ITEM = '.nav-item';
 const SELECTOR_NAV_LINK = '.nav-link';
 const SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle';
 const SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu';
+const SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]';
 const CLASS_NAME_KEEP = 'nav-overflow-keep';
 const Default$a = {
+  collapseBelow: 0,
+  iconPlacement: 'start',
+  menuPlacement: 'bottom-end',
   moreText: 'More',
   moreIcon: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',
   threshold: 0 // Minimum items to keep visible before showing overflow
 };
 const DefaultType$a = {
+  collapseBelow: '(number|string)',
+  iconPlacement: 'string',
+  menuPlacement: 'string',
   moreText: 'string',
   moreIcon: 'string',
   threshold: 'number'
@@ -6648,6 +5310,7 @@ class NavOverflow extends BaseComponent {
     this._overflowMenu = null;
     this._overflowToggle = null;
     this._resizeObserver = null;
+    this._collapseBelow = 0;
     this._isInitialized = false;
     this._init();
   }
@@ -6696,6 +5359,9 @@ class NavOverflow extends BaseComponent {
       item.dataset.bsNavOrder = index;
     }
 
+    // Resolve collapseBelow threshold once
+    this._collapseBelow = this._resolveCollapseBelow();
+
     // Create overflow menu if it doesn't exist
     this._createOverflowMenu();
 
@@ -6713,12 +5379,15 @@ class NavOverflow extends BaseComponent {
       this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element);
       return;
     }
+    const iconHtml = this._resolveIcon();
+    const iconSpan = `<span class="nav-overflow-icon">${iconHtml}</span>`;
+    const textSpan = `<span class="nav-overflow-text">${this._config.moreText}</span>`;
+    const toggleContent = this._config.iconPlacement === 'end' ? `${textSpan}${iconSpan}` : `${iconSpan}${textSpan}`;
     const overflowItem = document.createElement('li');
     overflowItem.className = 'nav-item nav-overflow-item';
     overflowItem.innerHTML = `
-      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">
-        <span class="nav-overflow-icon">${this._config.moreIcon}</span>
-        <span class="nav-overflow-text">${this._config.moreText}</span>
+      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="${this._config.menuPlacement}" aria-expanded="false">
+        ${toggleContent}
       </button>
       <div class="${CLASS_NAME_OVERFLOW_MENU} menu"></div>
     `;
@@ -6726,6 +5395,28 @@ class NavOverflow extends BaseComponent {
     this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE);
     this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU);
   }
+  _resolveIcon() {
+    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element);
+    if (!customIconElement) {
+      return this._config.moreIcon;
+    }
+    const iconClone = customIconElement.cloneNode(true);
+    iconClone.removeAttribute('data-bs-overflow-icon');
+    const iconHtml = iconClone.outerHTML;
+    customIconElement.remove();
+    return iconHtml;
+  }
+  _resolveCollapseBelow() {
+    const value = this._config.collapseBelow;
+    if (typeof value === 'number') {
+      return value;
+    }
+    if (typeof value === 'string' && value !== '') {
+      const cssValue = getComputedStyle(document.documentElement).getPropertyValue(`--bs-breakpoint-${value}`);
+      return Number.parseFloat(cssValue) || 0;
+    }
+    return 0;
+  }
   _setupResizeObserver() {
     if (typeof ResizeObserver === 'undefined') {
       // Fallback for older browsers
@@ -6742,6 +5433,26 @@ class NavOverflow extends BaseComponent {
     this._restoreItems();
     const navWidth = this._element.offsetWidth;
     const overflowItem = this._overflowToggle?.closest('.nav-item');
+
+    // When below the collapseBelow threshold, force all items into overflow
+    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {
+      const itemsToOverflow = this._items.filter(item => !item.classList.contains(CLASS_NAME_KEEP));
+      this._moveToOverflow(itemsToOverflow);
+      if (overflowItem) {
+        if (itemsToOverflow.length > 0) {
+          overflowItem.classList.remove(CLASS_NAME_HIDDEN);
+        } else {
+          overflowItem.classList.add(CLASS_NAME_HIDDEN);
+        }
+      }
+      if (itemsToOverflow.length > 0) {
+        EventHandler.trigger(this._element, EVENT_OVERFLOW, {
+          overflowCount: itemsToOverflow.length,
+          visibleCount: this._items.length - itemsToOverflow.length
+        });
+      }
+      return;
+    }
     const overflowWidth = overflowItem?.offsetWidth || 0;
     let usedWidth = 0;
     const itemsToOverflow = [];
@@ -6843,7 +5554,7 @@ EventHandler.on(document, 'DOMContentLoaded', () => {
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap offcanvas.js
+ * Bootstrap drawer.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -6853,18 +5564,15 @@ EventHandler.on(document, 'DOMContentLoaded', () => {
  * Constants
  */
 
-const NAME$a = 'offcanvas';
-const DATA_KEY$7 = 'bs.offcanvas';
+const NAME$a = 'drawer';
+const DATA_KEY$7 = 'bs.drawer';
 const EVENT_KEY$7 = `.${DATA_KEY$7}`;
 const DATA_API_KEY$4 = '.data-api';
 const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$7}${DATA_API_KEY$4}`;
-const EVENT_SHOW$3 = `show${EVENT_KEY$7}`;
-const EVENT_SHOWN$3 = `shown${EVENT_KEY$7}`;
-const EVENT_HIDE$3 = `hide${EVENT_KEY$7}`;
 const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$7}`;
 const EVENT_RESIZE = `resize${EVENT_KEY$7}`;
 const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
-const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="offcanvas"]';
+const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="drawer"]';
 const Default$9 = {
   backdrop: true,
   keyboard: true,
@@ -6880,7 +5588,12 @@ const DefaultType$9 = {
  * Class definition
  */
 
-class Offcanvas extends DialogBase {
+class Drawer extends DialogBase {
+  constructor(element, config) {
+    super(element, config);
+    this._swipeHelper = null;
+  }
+
   // Getters
   static get Default() {
     return Default$9;
@@ -6893,63 +5606,61 @@ class Offcanvas extends DialogBase {
   }
 
   // Public
-  toggle(relatedTarget) {
-    return this._element.open ? this.hide() : this.show(relatedTarget);
-  }
-  show(relatedTarget) {
-    if (this._element.open || this._isTransitioning) {
-      return;
-    }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
-      relatedTarget
-    });
-    if (showEvent.defaultPrevented) {
-      return;
+  dispose() {
+    if (this._swipeHelper) {
+      this._swipeHelper.dispose();
     }
-    this._isTransitioning = true;
+    super.dispose();
+  }
+
+  // Protected — hook overrides
 
-    // Determine modal mode:
-    // - Use showModal() (modal) when backdrop is enabled or scroll is disabled
-    // - Use show() (non-modal) when backdrop is false AND scroll is true
-    //   (matches behavior where focus trap is skipped for this combo)
+  _getShowOptions() {
     const useModal = Boolean(this._config.backdrop) || !this._config.scroll;
-    this._showElement({
+    return {
       modal: useModal,
       preventBodyScroll: !this._config.scroll
-    });
-
-    // CSS @starting-style handles the entry animation automatically.
-    // Wait for the transform transition to complete, then fire shown.
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_SHOWN$3, {
-        relatedTarget
-      });
-    }, this._element, true);
+    };
   }
-  hide() {
-    if (!this._element.open || this._isTransitioning) {
-      return;
-    }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
-    if (hideEvent.defaultPrevented) {
-      return;
-    }
-    this._isTransitioning = true;
-
-    // Call close() immediately — CSS handles the exit animation via
-    // transition-behavior: allow-discrete on display and overlay,
-    // keeping the element visible and in the top layer until complete.
-    this._hideElement();
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_HIDDEN$3);
-    }, this._element, true);
+  _onBeforeShow() {
+    this._initSwipe();
+  }
+  _getInstantClassName() {
+    return 'drawer-instant';
+  }
+  _getStaticClassName() {
+    return 'drawer-static';
   }
 
   // Private
-  _getStaticClassName() {
-    return 'offcanvas-static';
+
+  _initSwipe() {
+    if (this._swipeHelper || !Swipe.isSupported()) {
+      return;
+    }
+
+    // Determine which swipe direction dismisses based on placement
+    const swipeConfig = {};
+    const element = this._element;
+    if (element.classList.contains('drawer-bottom')) {
+      swipeConfig.downCallback = () => this.hide();
+    } else if (element.classList.contains('drawer-top')) {
+      swipeConfig.upCallback = () => this.hide();
+    } else if (element.classList.contains('drawer-end')) {
+      // RTL: swipe left to dismiss end drawer
+      if (isRTL$1()) {
+        swipeConfig.leftCallback = () => this.hide();
+      } else {
+        swipeConfig.rightCallback = () => this.hide();
+      }
+    } else if (isRTL$1()) {
+      // drawer-start (default): swipe right to dismiss in RTL
+      swipeConfig.rightCallback = () => this.hide();
+    } else {
+      // drawer-start (default): swipe left to dismiss in LTR
+      swipeConfig.leftCallback = () => this.hide();
+    }
+    this._swipeHelper = new Swipe(element, swipeConfig);
   }
 }
 
@@ -6966,33 +5677,32 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$4, functi
     return;
   }
   EventHandler.one(target, EVENT_HIDDEN$3, () => {
-    // Focus on trigger when it is closed
     if (isVisible(this)) {
       this.focus();
     }
   });
 
-  // Avoid conflict when clicking a toggler of an offcanvas, while another is open
-  const alreadyOpen = SelectorEngine.findOne('dialog.offcanvas[open]');
+  // Avoid conflict when clicking a toggler of a drawer, while another is open
+  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]');
   if (alreadyOpen && alreadyOpen !== target) {
-    Offcanvas.getInstance(alreadyOpen).hide();
+    Drawer.getInstance(alreadyOpen).hide();
   }
-  const data = Offcanvas.getOrCreateInstance(target);
+  const data = Drawer.getOrCreateInstance(target);
   data.toggle(this);
 });
 EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
-  for (const selector of SelectorEngine.find('dialog.offcanvas[open]')) {
-    Offcanvas.getOrCreateInstance(selector).show();
+  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {
+    Drawer.getOrCreateInstance(selector).show();
   }
 });
 EventHandler.on(window, EVENT_RESIZE, () => {
-  for (const element of SelectorEngine.find('dialog[open][class*="\\:offcanvas"]')) {
+  for (const element of SelectorEngine.find('dialog[open][class*="\\:drawer"]')) {
     if (getComputedStyle(element).position !== 'fixed') {
-      Offcanvas.getOrCreateInstance(element).hide();
+      Drawer.getOrCreateInstance(element).hide();
     }
   }
 });
-enableDismissTrigger(Offcanvas);
+enableDismissTrigger(Drawer);
 
 /**
  * --------------------------------------------------------------------------
@@ -9693,5 +8403,5 @@ class Toggler extends BaseComponent {
 
 eventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle');
 
-export { Alert, Button, Carousel, ChipInput, Collapse, Combobox, Datepicker, Dialog, Menu, NavOverflow, Offcanvas, OtpInput, Popover, ScrollSpy, Strength, Tab, Toast, Toggler, Tooltip };
+export { Alert, Button, Carousel, ChipInput, Collapse, Combobox, Datepicker, Dialog, Drawer, Menu, NavOverflow, OtpInput, Popover, ScrollSpy, Strength, Tab, Toast, Toggler, Tooltip };
 //# sourceMappingURL=bootstrap.bundle.js.map
index 0bdacccbb3a289e36f8fd6b13351f582b935bddd..0fa5ec6508bf40a22de97a38ac752b8cf252f60b 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../../../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Offcanvas components that use\n * the native <dialog> element. Provides common behavior for:\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  // This base name is only used if DialogBase is instantiated directly.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Protected - subclasses use these to implement show()/hide()\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    // this._hideChildComponents()\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Overrideable by subclasses for component-specific class names\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    // Note: 'cancel' is not in EventHandler's nativeEvents set, so we must\n    // register it without namespace to properly bind to the native event.\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior — we handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    // Native <dialog> fires click on the dialog element itself when backdrop is clicked\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      // Only handle clicks directly on the dialog (backdrop area), not child content\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n\n  // Hook for subclasses to fire component-specific cancel events\n  _onCancel() {\n    // No-op by default — Dialog overrides this to fire its cancel event\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n\n    this._showElement({\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay.\n    this._hideElement()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n        <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n        <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Determine modal mode:\n    // - Use showModal() (modal) when backdrop is enabled or scroll is disabled\n    // - Use show() (non-modal) when backdrop is false AND scroll is true\n    //   (matches behavior where focus trap is skipped for this combo)\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n\n    this._showElement({\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    // Wait for the transform transition to complete, then fire shown.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay,\n    // keeping the element visible and in the top layer until complete.\n    this._hideElement()\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  // Private\n  _getStaticClassName() {\n    return 'offcanvas-static'\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // Focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.offcanvas[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.offcanvas[open]')) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:offcanvas\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","round","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","detectOverflow","state","options","_await$platform$isEle","platform","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","altContext","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","MAX_RESET_COUNT","computePosition","middleware","platformWithDetectOverflow","getElementRects","statefulPlacement","resetCount","middlewareData","i","currentMiddleware","nextX","nextY","reset","initialPlacement","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","ignoreCrossAxisOverflow","d","resetPlacement","sort","a","b","_overflowsData$filter2","currentSideAxis","reduce","acc","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","enabled","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","display","isTableElement","isTopLayer","_e","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","css","transform","translate","scale","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","supports","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","result","assignedSlot","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","SCROLLBAR_MAX","getViewportRect","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","shouldDropCurrentNode","elementClippingAncestors","_c","clippingAncestors","firstRect","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","observeMove","onMove","io","timeoutId","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","IntersectionObserver","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","arrow$1","mergedOptions","platformWithCache","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","autoClose","container","floatingConfig","menu","submenuTrigger","submenuDelay","Menu","_openInstances","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","showEvent","_moveMenuToContainer","_createFloating","focus","focusVisible","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","_updateFloatingPosition","hideEvent","referenceElement","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","offsetValue","_getFallbackPlacements","fallbackMap","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","updatePosition","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","selectedItems","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","e","t","n","enumerable","writable","__spreadValues","__spreadProps","__publicField","errorMessages","notFoundSelector","notInit","notLocale","incorrectTime","incorrectMonthsCount","setContext","context","destroy","o","l","isInit","inputMode","mainElement","parentElement","removeChild","inputElement","replaceWith","originalElement","onDestroy","skipOpenOnFocus","WeakSet","shouldSkipOpenOnFocus","setSkipOpenOnFocus","clearSkipOpenOnFocus","PREV_TABINDEX_ATTR","isFocusable","tabIndex","storePrevTabIndex","restorePrevTabIndex","disableTabbing","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","nextNode","restoreTabbing","isShowInInputMode","currentType","vcCalendarHidden","cleanupHandlers","openOnFocus","onHide","getOffset","getViewportDimensions","vw","vh","innerHeight","getWindowScrollPosition","calculateAvailableSpace","s","r","getAvailablePosition","canShow","parentPositions","c","u","m","p","h","condition","handleDay","modifier","className","styles","datePopup","vcDatePopup","innerHTML","sanitizerHTML","ariaExpanded","ariaLabel","appendChild","createDatePopup","popups","getDate","getDateString","getFullYear","String","getMonth","padStart","parseDates","toISOString","substring","getTime","setDate","updateAttribute","setDateModifier","displayDateMin","displayDateMax","disableDates","selectionMonthsMode","selectionYearsMode","disableToday","dateToday","selectedWeekends","selectedHolidays","selectedDates","selectionDatesMode","enableEdgeDatesOnly","getLocaleString","toLocaleString","getWeekNumber","getDay","ceil","year","week","addWeekNumberForDate","firstWeekday","vcDateWeekNumber","setDaysAsDisabled","disableWeekdays","disableAllDates","enableDates","createDate","locale","date","vcDate","vcDateMonth","vcDateWeekDay","role","displayDatesOutside","dateBtn","dateStyle","timeZone","vcDateBtn","innerText","enableWeekNumbers","addDate","onCreateDateEls","createDatesFromCurrentMonth","createDatesFromNextMonth","createDatesFromPrevMonth","createWeekNumbers","weekNumbersTitle","vcWeekNumbers","weekNumbersContent","weekNumber","cloneNode","vcWeekNumber","vcWeekYear","createDates","selectedYear","selectedMonth","vcDatesDisabled","setMonth","datesRow","g","layoutDefault","header","labels","navigation","headerContent","wrapper","content","layoutMonths","layoutMultiple","controls","grid","column","layoutYears","ArrowNext","arrowNext","ArrowPrev","arrowPrev","ControlTime","selectionTimeMode","time","selectingTime","DateRangeTooltip","onCreateDateRangeTooltip","dateRangeTooltip","Dates","dates","Month","month","Months","months","Week","WeekNumbers","weekNumbers","Year","Years","years","components","getComponent","parseLayout","parseMultipleLayout","displayMonthsCount","fill","createLayouts","default","layouts","calendar","vc","vcType","application","vcGrid","vcColumn","setVisibilityArrows","visibility","handleDefaultType","monthsToSwitch","dateMin","dateMax","setFullYear","handleYearType","displayYear","visibilityArrows","visibilityHandler","long","visibilityTitle","setYearModifier","aria","selectedProperty","getColumnID","currentValue","columnID","findIndex","createMonthEl","monthsMonth","vcMonthsMonth","ariaDisabled","createMonths","vcYear","vcMonth","short","onCreateMonthEls","TimeInput","TimeRange","handleActions","hour","minute","selectedHours","selectedMinutes","selectedKeeping","onChangeTime","onChangeToInput","transformTime24","AM","PM","handleClickKeepingTime","btnKeeping","transformTime12","updateInputAndRange","updateKeepingTime$1","handleInput$1","updateInputAndTime","updateKeepingTime","handleRange","handleMouseOver","handleMouseOut","handleTime","timeMaxHour","timeMinHour","timeMaxMinute","timeMinMinute","createTime","timeControls","timeContent","timeHour","timeMinute","timeKeeping","timeRanges","timeRange","timeStepHour","timeStepMinute","createWeek","weekdays","titleShort","titleLong","isWeekend","onClickWeekDay","weekDay","vcWeekDay","vcWeekDayOff","createYearEl","yearsYear","vcYearsYear","createYears","onCreateYearEls","trackChangesHTMLElement","MutationObserver","attributeName","haveListener","check","setTheme","vcTheme","trackChangesThemeInSystemSettings","selectedTheme","addListener","detectTheme","themeAttrDetect","handleTheme","media","capitalizeFirstLetter","getLocaleWeekday","weekday","getLocaleMonth","getLocale","create","handleArrowKeys","localName","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","handleMonth","handleClickArrow","vcArrow","onClickArrow","resolveToggle","canToggleSelection","enableDateToggle","handleSelectDate","createDateRangeTooltip","vcDateRangeTooltip","self","lastDateEl","isHovering","rangeMin","rangeMax","tooltipEl","addHoverEffect","vcDateHover","removeHoverEffect","handleHoverDatesEvent","handleHoverSelectedDatesRangeEvent","optimizedHoverHandler","optimizedHandleHoverDatesEvent","optimizedHandleHoverSelectedDatesRangeEvent","handleCancelSelectionDates","handleMouseLeave","updateDisabledDates","disableDatesPast","handleSelectDateRange","disableDatesGaps","updateDateModifier","handleClickDate","single","multiple-ranged","onClickDate","enableMonthChangeOnDayClick","current","typeClick","getValue","handleMultipleYearSelection","handleMultipleMonthSelection","handleItemClick","onClickYear","onClickMonth","handleClickType","onClickTitle","handleClickMonthOrYear","handleClickWeekNumber","onClickWeekNumber","handleClickWeekDay","handleClick","initMonthsCount","getLocalDate","getTimezoneOffset","resolveDate","initRange","displayDisabledDates","initSelectedDates","displayClosestValidDate","setInitialContext","initSelectedMonthYear","enableJumpToSelectedDate","initTime","selectedTime","initAllVariables","createToInput","vcInput","onInit","canOpenOnFocus","handleInput","inputModeInit","shiftKey","init","onUpdate","replaceProperties","isArray","findBestPickerPosition","setPosition","vcPosition","click","positionToInput","capture","onShow","inputHour","inputMinute","rangeHour","rangeMinute","OptionsCalendar","_Calendar","memoizedElements","queryAndMemoize","Calendar","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateFormat","displayElement","inline","positionElement","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","getSelectedDates","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","attributeFilter","vcpTheme","_handleDateClick","firstDate","_parseDate","_maybeHideAfterSelection","shouldHide","dateStr","day","_formatDate","Intl","DateTimeFormat","format","toLocaleDateString","separator","isNaN","formatted","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","_showElement","modal","preventBodyScroll","showModal","_hideElement","_hideChildComponents","_triggerBackdropTransition","hidePreventedEvent","staticClass","_getStaticClassName","eventKey","_onCancel","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","open","handleUpdate","currentDialog","shouldSwap","newDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_isInitialized","_init","_calculateOverflow","_restoreItems","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","navWidth","overflowWidth","usedWidth","itemsToOverflow","overflowThreshold","itemWidth","toMove","_moveToOverflow","overflowCount","link","clonedLink","bsNavOverflow","EVENT_RESIZE","Offcanvas","useModal","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","addEvent","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeEvent","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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","x_google_ignoreList":[13,14,15,16,20]}
\ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/drawer.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  getAny(element) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).values().next().value || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null,\n  upCallback: null,\n  downCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)',\n  upCallback: '(function|null)',\n  downCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._deltaY = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n      this._deltaY = event.touches[0].clientY\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n      this._deltaY = event.clientY\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n      this._deltaY = event.clientY - this._deltaY\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    if (event.touches && event.touches.length > 1) {\n      this._deltaX = 0\n      this._deltaY = 0\n      return\n    }\n\n    this._deltaX = event.touches[0].clientX - this._deltaX\n    this._deltaY = event.touches[0].clientY - this._deltaY\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n    const absDeltaY = Math.abs(this._deltaY)\n\n    // Determine primary axis: whichever has greater movement wins\n    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {\n      // Vertical swipe\n      const direction = this._deltaY > 0 ? 'down' : 'up'\n      this._deltaX = 0\n      this._deltaY = 0\n      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback)\n      return\n    }\n\n    if (absDeltaX > SWIPE_THRESHOLD) {\n      // Horizontal swipe\n      const direction = absDeltaX / this._deltaX\n      this._deltaX = 0\n      this._deltaY = 0\n\n      if (!direction) {\n        return\n      }\n\n      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n      return\n    }\n\n    this._deltaX = 0\n    this._deltaY = 0\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Drawer components that use\n * the native <dialog> element. Provides common behavior for:\n * - Show/hide/toggle lifecycle with events\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n * - Child component cleanup (tooltips, popovers, toasts)\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Public — shared lifecycle methods\n\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('show'),\n      { relatedTarget }\n    )\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._onBeforeShow()\n\n    const { modal, preventBodyScroll } = this._getShowOptions()\n    this._showElement({ modal, preventBodyScroll })\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('shown'),\n        { relatedTarget }\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hide')\n    )\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._hideElement()\n    this._onAfterHide()\n\n    this._queueCallback(() => {\n      this._element.classList.remove('hiding')\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('hidden')\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  // Protected — hooks for subclasses to override\n\n  _getShowOptions() {\n    return { modal: true, preventBodyScroll: true }\n  }\n\n  _onBeforeShow() {\n    // No-op by default — Dialog overrides to add nonmodal class\n  }\n\n  _onAfterHide() {\n    // No-op by default — Dialog overrides to remove nonmodal class\n  }\n\n  _isAnimated() {\n    return !this._element.classList.contains(this._getInstantClassName())\n  }\n\n  _getInstantClassName() {\n    return 'dialog-instant'\n  }\n\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  _onCancel() {\n    // No-op by default — Dialog overrides to fire cancel event\n  }\n\n  // Protected — shared mechanics\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n\n    // Add .hiding before close() so CSS exit transitions can play.\n    // Without this, the navbar's `:not([open])` transition-kill rule\n    // would prevent the slide-out animation.\n    this._element.classList.add('hiding')\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    return {\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    }\n  }\n\n  _onBeforeShow() {\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n  }\n\n  _onAfterHide() {\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n  }\n\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog (dialog swapping)\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  collapseBelow: 0,\n  iconPlacement: 'start',\n  menuPlacement: 'bottom-end',\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  collapseBelow: '(number|string)',\n  iconPlacement: 'string',\n  menuPlacement: 'string',\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._collapseBelow = 0\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Resolve collapseBelow threshold once\n    this._collapseBelow = this._resolveCollapseBelow()\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const iconHtml = this._resolveIcon()\n    const iconSpan = `<span class=\"nav-overflow-icon\">${iconHtml}</span>`\n    const textSpan = `<span class=\"nav-overflow-text\">${this._config.moreText}</span>`\n    const toggleContent = this._config.iconPlacement === 'end' ?\n      `${textSpan}${iconSpan}` :\n      `${iconSpan}${textSpan}`\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"${this._config.menuPlacement}\" aria-expanded=\"false\">\n        ${toggleContent}\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _resolveIcon() {\n    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element)\n\n    if (!customIconElement) {\n      return this._config.moreIcon\n    }\n\n    const iconClone = customIconElement.cloneNode(true)\n    iconClone.removeAttribute('data-bs-overflow-icon')\n    const iconHtml = iconClone.outerHTML\n\n    customIconElement.remove()\n\n    return iconHtml\n  }\n\n  _resolveCollapseBelow() {\n    const value = this._config.collapseBelow\n\n    if (typeof value === 'number') {\n      return value\n    }\n\n    if (typeof value === 'string' && value !== '') {\n      const cssValue = getComputedStyle(document.documentElement)\n        .getPropertyValue(`--bs-breakpoint-${value}`)\n      return Number.parseFloat(cssValue) || 0\n    }\n\n    return 0\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n\n    // When below the collapseBelow threshold, force all items into overflow\n    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {\n      const itemsToOverflow = this._items.filter(\n        item => !item.classList.contains(CLASS_NAME_KEEP)\n      )\n\n      this._moveToOverflow(itemsToOverflow)\n\n      if (overflowItem) {\n        if (itemsToOverflow.length > 0) {\n          overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n        } else {\n          overflowItem.classList.add(CLASS_NAME_HIDDEN)\n        }\n      }\n\n      if (itemsToOverflow.length > 0) {\n        EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n          overflowCount: itemsToOverflow.length,\n          visibleCount: this._items.length - itemsToOverflow.length\n        })\n      }\n\n      return\n    }\n\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap drawer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isRTL,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'drawer'\nconst DATA_KEY = 'bs.drawer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"drawer\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Drawer extends DialogBase {\n  constructor(element, config) {\n    super(element, config)\n    this._swipeHelper = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n    return {\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    }\n  }\n\n  _onBeforeShow() {\n    this._initSwipe()\n  }\n\n  _getInstantClassName() {\n    return 'drawer-instant'\n  }\n\n  _getStaticClassName() {\n    return 'drawer-static'\n  }\n\n  // Private\n\n  _initSwipe() {\n    if (this._swipeHelper || !Swipe.isSupported()) {\n      return\n    }\n\n    // Determine which swipe direction dismisses based on placement\n    const swipeConfig = {}\n    const element = this._element\n\n    if (element.classList.contains('drawer-bottom')) {\n      swipeConfig.downCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-top')) {\n      swipeConfig.upCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-end')) {\n      // RTL: swipe left to dismiss end drawer\n      if (isRTL()) {\n        swipeConfig.leftCallback = () => this.hide()\n      } else {\n        swipeConfig.rightCallback = () => this.hide()\n      }\n    } else if (isRTL()) {\n      // drawer-start (default): swipe right to dismiss in RTL\n      swipeConfig.rightCallback = () => this.hide()\n    } else {\n      // drawer-start (default): swipe left to dismiss in LTR\n      swipeConfig.leftCallback = () => this.hide()\n    }\n\n    this._swipeHelper = new Swipe(element, swipeConfig)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of a drawer, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Drawer.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Drawer.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {\n    Drawer.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:drawer\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Drawer.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Drawer)\n\nexport default Drawer\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","getAny","values","next","value","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","upCallback","downCallback","Swipe","isSupported","_deltaX","_deltaY","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","clientY","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","absDeltaY","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","_openInstances","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","showEvent","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","hideEvent","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","selectedItems","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","open","_onBeforeShow","modal","preventBodyScroll","_getShowOptions","_showElement","_hideElement","_onAfterHide","_getInstantClassName","_getStaticClassName","_onCancel","showModal","_hideChildComponents","_triggerBackdropTransition","hidePreventedEvent","staticClass","eventKey","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","handleUpdate","currentDialog","shouldSwap","newDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","SELECTOR_CUSTOM_ICON","CLASS_NAME_KEEP","collapseBelow","iconPlacement","menuPlacement","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_collapseBelow","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_resolveCollapseBelow","_createOverflowMenu","_setupResizeObserver","iconHtml","_resolveIcon","iconSpan","textSpan","toggleContent","overflowItem","className","innerHTML","customIconElement","iconClone","cloneNode","outerHTML","cssValue","ResizeObserver","navWidth","offsetWidth","itemsToOverflow","_moveToOverflow","overflowCount","overflowWidth","usedWidth","overflowThreshold","itemWidth","toMove","link","clonedLink","bsNavOverflow","EVENT_RESIZE","scroll","Drawer","useModal","_initSwipe","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","addEvent","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeEvent","v","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","options","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","start","end","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","shiftKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","c","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elements","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","IntersectionObserver","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAMA,UAAU,GAAG,IAAIC,GAAG,EAAE;AAE5B,aAAe;AACbC,EAAAA,GAAGA,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAE;AAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;MAC5BH,UAAU,CAACE,GAAG,CAACC,OAAO,EAAE,IAAIF,GAAG,EAAE,CAAC;AACpC,IAAA;AAEA,IAAA,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;;AAE3C;AACA;AACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAG,CAACF,GAAG,CAAC,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AACnD;AACAC,MAAAA,OAAO,CAACC,KAAK,CAAC,+EAA+EC,KAAK,CAACC,IAAI,CAACN,WAAW,CAACO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClI,MAAA;AACF,IAAA;AAEAP,IAAAA,WAAW,CAACL,GAAG,CAACE,GAAG,EAAEC,QAAQ,CAAC;EAChC,CAAC;AAEDG,EAAAA,GAAGA,CAACL,OAAO,EAAEC,GAAG,EAAE;AAChB,IAAA,IAAIJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACK,GAAG,CAACJ,GAAG,CAAC,IAAI,IAAI;AACjD,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;EAEDW,MAAMA,CAACZ,OAAO,EAAE;AACd,IAAA,IAAIH,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACa,MAAM,EAAE,CAACC,IAAI,EAAE,CAACC,KAAK,IAAI,IAAI;AAC9D,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;AAEDC,EAAAA,MAAMA,CAAChB,OAAO,EAAEC,GAAG,EAAE;AACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA;AACF,IAAA;AAEA,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;AAE3CI,IAAAA,WAAW,CAACa,MAAM,CAAChB,GAAG,CAAC;;AAEvB;AACA,IAAA,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AAC1BT,MAAAA,UAAU,CAACoB,MAAM,CAACjB,OAAO,CAAC;AAC5B,IAAA;AACF,EAAA;AACF,CAAC;;AC9DD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAMkB,cAAc,GAAG,oBAAoB;AAC3C,MAAMC,cAAc,GAAG,MAAM;AAC7B,MAAMC,aAAa,GAAG,QAAQ;AAC9B,MAAMC,aAAa,GAAG,EAAE,CAAA;AACxB,IAAIC,QAAQ,GAAG,CAAC;AAChB,MAAMC,YAAY,GAAG;AACnBC,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAC,CAC3B,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;;AAEF;AACA;AACA;;AAEA,SAASC,YAAYA,CAAC5B,OAAO,EAAE6B,GAAG,EAAE;AAClC,EAAA,OAAQA,GAAG,IAAI,CAAA,EAAGA,GAAG,KAAKP,QAAQ,EAAE,CAAA,CAAE,IAAKtB,OAAO,CAACsB,QAAQ,IAAIA,QAAQ,EAAE;AAC3E;AAEA,SAASQ,gBAAgBA,CAAC9B,OAAO,EAAE;AACjC,EAAA,MAAM6B,GAAG,GAAGD,YAAY,CAAC5B,OAAO,CAAC;EAEjCA,OAAO,CAACsB,QAAQ,GAAGO,GAAG;EACtBR,aAAa,CAACQ,GAAG,CAAC,GAAGR,aAAa,CAACQ,GAAG,CAAC,IAAI,EAAE;EAE7C,OAAOR,aAAa,CAACQ,GAAG,CAAC;AAC3B;AAEA,SAASE,gBAAgBA,CAAC/B,OAAO,EAAEgC,EAAE,EAAE;AACrC,EAAA,OAAO,SAASC,OAAOA,CAACC,KAAK,EAAE;IAC7BC,UAAU,CAACD,KAAK,EAAE;AAAEE,MAAAA,cAAc,EAAEpC;AAAQ,KAAC,CAAC;IAE9C,IAAIiC,OAAO,CAACI,MAAM,EAAE;MAClBC,YAAY,CAACC,GAAG,CAACvC,OAAO,EAAEkC,KAAK,CAACM,IAAI,EAAER,EAAE,CAAC;AAC3C,IAAA;IAEA,OAAOA,EAAE,CAACS,KAAK,CAACzC,OAAO,EAAE,CAACkC,KAAK,CAAC,CAAC;EACnC,CAAC;AACH;AAEA,SAASQ,0BAA0BA,CAAC1C,OAAO,EAAE2C,QAAQ,EAAEX,EAAE,EAAE;AACzD,EAAA,OAAO,SAASC,OAAOA,CAACC,KAAK,EAAE;AAC7B,IAAA,MAAMU,WAAW,GAAG5C,OAAO,CAAC6C,gBAAgB,CAACF,QAAQ,CAAC;AAEtD,IAAA,KAAK,IAAI;AAAEG,MAAAA;AAAO,KAAC,GAAGZ,KAAK,EAAEY,MAAM,IAAIA,MAAM,KAAK,IAAI,EAAEA,MAAM,GAAGA,MAAM,CAACC,UAAU,EAAE;AAClF,MAAA,KAAK,MAAMC,UAAU,IAAIJ,WAAW,EAAE;QACpC,IAAII,UAAU,KAAKF,MAAM,EAAE;AACzB,UAAA;AACF,QAAA;QAEAX,UAAU,CAACD,KAAK,EAAE;AAAEE,UAAAA,cAAc,EAAEU;AAAO,SAAC,CAAC;QAE7C,IAAIb,OAAO,CAACI,MAAM,EAAE;AAClBC,UAAAA,YAAY,CAACC,GAAG,CAACvC,OAAO,EAAEkC,KAAK,CAACM,IAAI,EAAEG,QAAQ,EAAEX,EAAE,CAAC;AACrD,QAAA;QAEA,OAAOA,EAAE,CAACS,KAAK,CAACK,MAAM,EAAE,CAACZ,KAAK,CAAC,CAAC;AAClC,MAAA;AACF,IAAA;EACF,CAAC;AACH;AAEA,SAASe,WAAWA,CAACC,MAAM,EAAEC,QAAQ,EAAEC,kBAAkB,GAAG,IAAI,EAAE;EAChE,OAAOC,MAAM,CAACxC,MAAM,CAACqC,MAAM,CAAC,CACzBI,IAAI,CAACpB,KAAK,IAAIA,KAAK,CAACiB,QAAQ,KAAKA,QAAQ,IAAIjB,KAAK,CAACkB,kBAAkB,KAAKA,kBAAkB,CAAC;AAClG;AAEA,SAASG,mBAAmBA,CAACC,iBAAiB,EAAEvB,OAAO,EAAEwB,kBAAkB,EAAE;AAC3E,EAAA,MAAMC,WAAW,GAAG,OAAOzB,OAAO,KAAK,QAAQ;EAC/C,MAAMkB,QAAQ,GAAGO,WAAW,GAAGD,kBAAkB,GAAIxB,OAAO,IAAIwB,kBAAmB;AACnF,EAAA,IAAIE,SAAS,GAAGC,YAAY,CAACJ,iBAAiB,CAAC;AAE/C,EAAA,IAAI,CAAC9B,YAAY,CAACvB,GAAG,CAACwD,SAAS,CAAC,EAAE;AAChCA,IAAAA,SAAS,GAAGH,iBAAiB;AAC/B,EAAA;AAEA,EAAA,OAAO,CAACE,WAAW,EAAEP,QAAQ,EAAEQ,SAAS,CAAC;AAC3C;AAEA,SAASE,UAAUA,CAAC7D,OAAO,EAAEwD,iBAAiB,EAAEvB,OAAO,EAAEwB,kBAAkB,EAAEpB,MAAM,EAAE;AACnF,EAAA,IAAI,OAAOmB,iBAAiB,KAAK,QAAQ,IAAI,CAACxD,OAAO,EAAE;AACrD,IAAA;AACF,EAAA;AAEA,EAAA,IAAI,CAAC0D,WAAW,EAAEP,QAAQ,EAAEQ,SAAS,CAAC,GAAGJ,mBAAmB,CAACC,iBAAiB,EAAEvB,OAAO,EAAEwB,kBAAkB,CAAC;;AAE5G;AACA;EACA,IAAID,iBAAiB,IAAIjC,YAAY,EAAE;IACrC,MAAMuC,YAAY,GAAG9B,EAAE,IAAI;MACzB,OAAO,UAAUE,KAAK,EAAE;QACtB,IAAI,CAACA,KAAK,CAAC6B,aAAa,IAAK7B,KAAK,CAAC6B,aAAa,KAAK7B,KAAK,CAACE,cAAc,IAAI,CAACF,KAAK,CAACE,cAAc,CAAC4B,QAAQ,CAAC9B,KAAK,CAAC6B,aAAa,CAAE,EAAE;AACjI,UAAA,OAAO/B,EAAE,CAACiC,IAAI,CAAC,IAAI,EAAE/B,KAAK,CAAC;AAC7B,QAAA;MACF,CAAC;IACH,CAAC;AAEDiB,IAAAA,QAAQ,GAAGW,YAAY,CAACX,QAAQ,CAAC;AACnC,EAAA;AAEA,EAAA,MAAMD,MAAM,GAAGpB,gBAAgB,CAAC9B,OAAO,CAAC;AACxC,EAAA,MAAMkE,QAAQ,GAAGhB,MAAM,CAACS,SAAS,CAAC,KAAKT,MAAM,CAACS,SAAS,CAAC,GAAG,EAAE,CAAC;AAC9D,EAAA,MAAMQ,gBAAgB,GAAGlB,WAAW,CAACiB,QAAQ,EAAEf,QAAQ,EAAEO,WAAW,GAAGzB,OAAO,GAAG,IAAI,CAAC;AAEtF,EAAA,IAAIkC,gBAAgB,EAAE;AACpBA,IAAAA,gBAAgB,CAAC9B,MAAM,GAAG8B,gBAAgB,CAAC9B,MAAM,IAAIA,MAAM;AAE3D,IAAA;AACF,EAAA;AAEA,EAAA,MAAMR,GAAG,GAAGD,YAAY,CAACuB,QAAQ,EAAEK,iBAAiB,CAACY,OAAO,CAAClD,cAAc,EAAE,EAAE,CAAC,CAAC;AACjF,EAAA,MAAMc,EAAE,GAAG0B,WAAW,GACpBhB,0BAA0B,CAAC1C,OAAO,EAAEiC,OAAO,EAAEkB,QAAQ,CAAC,GACtDpB,gBAAgB,CAAC/B,OAAO,EAAEmD,QAAQ,CAAC;AAErCnB,EAAAA,EAAE,CAACoB,kBAAkB,GAAGM,WAAW,GAAGzB,OAAO,GAAG,IAAI;EACpDD,EAAE,CAACmB,QAAQ,GAAGA,QAAQ;EACtBnB,EAAE,CAACK,MAAM,GAAGA,MAAM;EAClBL,EAAE,CAACV,QAAQ,GAAGO,GAAG;AACjBqC,EAAAA,QAAQ,CAACrC,GAAG,CAAC,GAAGG,EAAE;EAElBhC,OAAO,CAACqE,gBAAgB,CAACV,SAAS,EAAE3B,EAAE,EAAE0B,WAAW,CAAC;AACtD;AAEA,SAASY,aAAaA,CAACtE,OAAO,EAAEkD,MAAM,EAAES,SAAS,EAAE1B,OAAO,EAAEmB,kBAAkB,EAAE;AAC9E,EAAA,MAAMpB,EAAE,GAAGiB,WAAW,CAACC,MAAM,CAACS,SAAS,CAAC,EAAE1B,OAAO,EAAEmB,kBAAkB,CAAC;EAEtE,IAAI,CAACpB,EAAE,EAAE;AACP,IAAA;AACF,EAAA;EAEAhC,OAAO,CAACuE,mBAAmB,CAACZ,SAAS,EAAE3B,EAAE,EAAEwC,OAAO,CAACpB,kBAAkB,CAAC,CAAC;EACvE,OAAOF,MAAM,CAACS,SAAS,CAAC,CAAC3B,EAAE,CAACV,QAAQ,CAAC;AACvC;AAEA,SAASmD,wBAAwBA,CAACzE,OAAO,EAAEkD,MAAM,EAAES,SAAS,EAAEe,SAAS,EAAE;EACvE,MAAMC,iBAAiB,GAAGzB,MAAM,CAACS,SAAS,CAAC,IAAI,EAAE;AAEjD,EAAA,KAAK,MAAM,CAACiB,UAAU,EAAE1C,KAAK,CAAC,IAAImB,MAAM,CAACwB,OAAO,CAACF,iBAAiB,CAAC,EAAE;AACnE,IAAA,IAAIC,UAAU,CAACE,QAAQ,CAACJ,SAAS,CAAC,EAAE;AAClCJ,MAAAA,aAAa,CAACtE,OAAO,EAAEkD,MAAM,EAAES,SAAS,EAAEzB,KAAK,CAACiB,QAAQ,EAAEjB,KAAK,CAACkB,kBAAkB,CAAC;AACrF,IAAA;AACF,EAAA;AACF;AAEA,SAASQ,YAAYA,CAAC1B,KAAK,EAAE;AAC3B;EACAA,KAAK,GAAGA,KAAK,CAACkC,OAAO,CAACjD,cAAc,EAAE,EAAE,CAAC;AACzC,EAAA,OAAOI,YAAY,CAACW,KAAK,CAAC,IAAIA,KAAK;AACrC;AAEA,MAAMI,YAAY,GAAG;EACnByC,EAAEA,CAAC/E,OAAO,EAAEkC,KAAK,EAAED,OAAO,EAAEwB,kBAAkB,EAAE;IAC9CI,UAAU,CAAC7D,OAAO,EAAEkC,KAAK,EAAED,OAAO,EAAEwB,kBAAkB,EAAE,KAAK,CAAC;EAChE,CAAC;EAEDuB,GAAGA,CAAChF,OAAO,EAAEkC,KAAK,EAAED,OAAO,EAAEwB,kBAAkB,EAAE;IAC/CI,UAAU,CAAC7D,OAAO,EAAEkC,KAAK,EAAED,OAAO,EAAEwB,kBAAkB,EAAE,IAAI,CAAC;EAC/D,CAAC;EAEDlB,GAAGA,CAACvC,OAAO,EAAEwD,iBAAiB,EAAEvB,OAAO,EAAEwB,kBAAkB,EAAE;AAC3D,IAAA,IAAI,OAAOD,iBAAiB,KAAK,QAAQ,IAAI,CAACxD,OAAO,EAAE;AACrD,MAAA;AACF,IAAA;AAEA,IAAA,MAAM,CAAC0D,WAAW,EAAEP,QAAQ,EAAEQ,SAAS,CAAC,GAAGJ,mBAAmB,CAACC,iBAAiB,EAAEvB,OAAO,EAAEwB,kBAAkB,CAAC;AAC9G,IAAA,MAAMwB,WAAW,GAAGtB,SAAS,KAAKH,iBAAiB;AACnD,IAAA,MAAMN,MAAM,GAAGpB,gBAAgB,CAAC9B,OAAO,CAAC;IACxC,MAAM2E,iBAAiB,GAAGzB,MAAM,CAACS,SAAS,CAAC,IAAI,EAAE;AACjD,IAAA,MAAMuB,WAAW,GAAG1B,iBAAiB,CAAC2B,UAAU,CAAC,GAAG,CAAC;AAErD,IAAA,IAAI,OAAOhC,QAAQ,KAAK,WAAW,EAAE;AACnC;MACA,IAAI,CAACE,MAAM,CAAC1C,IAAI,CAACgE,iBAAiB,CAAC,CAACS,MAAM,EAAE;AAC1C,QAAA;AACF,MAAA;AAEAd,MAAAA,aAAa,CAACtE,OAAO,EAAEkD,MAAM,EAAES,SAAS,EAAER,QAAQ,EAAEO,WAAW,GAAGzB,OAAO,GAAG,IAAI,CAAC;AACjF,MAAA;AACF,IAAA;AAEA,IAAA,IAAIiD,WAAW,EAAE;MACf,KAAK,MAAMG,YAAY,IAAIhC,MAAM,CAAC1C,IAAI,CAACuC,MAAM,CAAC,EAAE;AAC9CuB,QAAAA,wBAAwB,CAACzE,OAAO,EAAEkD,MAAM,EAAEmC,YAAY,EAAE7B,iBAAiB,CAAC8B,KAAK,CAAC,CAAC,CAAC,CAAC;AACrF,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAM,CAACC,WAAW,EAAErD,KAAK,CAAC,IAAImB,MAAM,CAACwB,OAAO,CAACF,iBAAiB,CAAC,EAAE;MACpE,MAAMC,UAAU,GAAGW,WAAW,CAACnB,OAAO,CAAChD,aAAa,EAAE,EAAE,CAAC;MAEzD,IAAI,CAAC6D,WAAW,IAAIzB,iBAAiB,CAACsB,QAAQ,CAACF,UAAU,CAAC,EAAE;AAC1DN,QAAAA,aAAa,CAACtE,OAAO,EAAEkD,MAAM,EAAES,SAAS,EAAEzB,KAAK,CAACiB,QAAQ,EAAEjB,KAAK,CAACkB,kBAAkB,CAAC;AACrF,MAAA;AACF,IAAA;EACF,CAAC;AAEDoC,EAAAA,OAAOA,CAACxF,OAAO,EAAEkC,KAAK,EAAEuD,IAAI,EAAE;AAC5B,IAAA,IAAI,OAAOvD,KAAK,KAAK,QAAQ,IAAI,CAAClC,OAAO,EAAE;AACzC,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAM0F,GAAG,GAAGvD,UAAU,CAAC,IAAIwD,KAAK,CAACzD,KAAK,EAAE;AAAE0D,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,UAAU,EAAE;KAAM,CAAC,EAAEJ,IAAI,CAAC;AACnFzF,IAAAA,OAAO,CAAC8F,aAAa,CAACJ,GAAG,CAAC;AAC1B,IAAA,OAAOA,GAAG;AACZ,EAAA;AACF,CAAC;AAED,SAASvD,UAAUA,CAAC4D,GAAG,EAAEC,IAAI,GAAG,EAAE,EAAE;AAClC,EAAA,KAAK,MAAM,CAAC/F,GAAG,EAAEc,KAAK,CAAC,IAAIsC,MAAM,CAACwB,OAAO,CAACmB,IAAI,CAAC,EAAE;IAC/C,IAAI;AACFD,MAAAA,GAAG,CAAC9F,GAAG,CAAC,GAAGc,KAAK;AAClB,IAAA,CAAC,CAAC,MAAM;AACNsC,MAAAA,MAAM,CAAC4C,cAAc,CAACF,GAAG,EAAE9F,GAAG,EAAE;AAC9BiG,QAAAA,YAAY,EAAE,IAAI;AAClB7F,QAAAA,GAAGA,GAAG;AACJ,UAAA,OAAOU,KAAK;AACd,QAAA;AACF,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;AAEA,EAAA,OAAOgF,GAAG;AACZ;;ACzRA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASI,aAAaA,CAACpF,KAAK,EAAE;EAC5B,IAAIA,KAAK,KAAK,MAAM,EAAE;AACpB,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;AACrB,IAAA,OAAO,KAAK;AACd,EAAA;EAEA,IAAIA,KAAK,KAAKqF,MAAM,CAACrF,KAAK,CAAC,CAACsF,QAAQ,EAAE,EAAE;IACtC,OAAOD,MAAM,CAACrF,KAAK,CAAC;AACtB,EAAA;AAEA,EAAA,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,MAAM,EAAE;AACpC,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK;AACd,EAAA;EAEA,IAAI;IACF,OAAOuF,IAAI,CAACC,KAAK,CAACC,kBAAkB,CAACzF,KAAK,CAAC,CAAC;AAC9C,EAAA,CAAC,CAAC,MAAM;AACN,IAAA,OAAOA,KAAK;AACd,EAAA;AACF;AAEA,SAAS0F,gBAAgBA,CAACxG,GAAG,EAAE;AAC7B,EAAA,OAAOA,GAAG,CAACmE,OAAO,CAAC,QAAQ,EAAEsC,GAAG,IAAI,CAAA,CAAA,EAAIA,GAAG,CAACC,WAAW,EAAE,EAAE,CAAC;AAC9D;AAEA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,gBAAgBA,CAAC7G,OAAO,EAAEC,GAAG,EAAEc,KAAK,EAAE;IACpCf,OAAO,CAAC8G,YAAY,CAAC,CAAA,QAAA,EAAWL,gBAAgB,CAACxG,GAAG,CAAC,CAAA,CAAE,EAAEc,KAAK,CAAC;EACjE,CAAC;AAEDgG,EAAAA,mBAAmBA,CAAC/G,OAAO,EAAEC,GAAG,EAAE;IAChCD,OAAO,CAACgH,eAAe,CAAC,CAAA,QAAA,EAAWP,gBAAgB,CAACxG,GAAG,CAAC,CAAA,CAAE,CAAC;EAC7D,CAAC;EAEDgH,iBAAiBA,CAACjH,OAAO,EAAE;IACzB,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA,OAAO,EAAE;AACX,IAAA;IAEA,MAAMkH,UAAU,GAAG,EAAE;AACrB,IAAA,MAAMC,MAAM,GAAG9D,MAAM,CAAC1C,IAAI,CAACX,OAAO,CAACoH,OAAO,CAAC,CAACC,MAAM,CAACpH,GAAG,IAAIA,GAAG,CAACkF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAClF,GAAG,CAACkF,UAAU,CAAC,UAAU,CAAC,CAAC;AAE9G,IAAA,KAAK,MAAMlF,GAAG,IAAIkH,MAAM,EAAE;MACxB,IAAIG,OAAO,GAAGrH,GAAG,CAACmE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpCkD,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAACZ,WAAW,EAAE,GAAGW,OAAO,CAAChC,KAAK,CAAC,CAAC,CAAC;AAC5D4B,MAAAA,UAAU,CAACI,OAAO,CAAC,GAAGnB,aAAa,CAACnG,OAAO,CAACoH,OAAO,CAACnH,GAAG,CAAC,CAAC;AAC3D,IAAA;AAEA,IAAA,OAAOiH,UAAU;EACnB,CAAC;AAEDM,EAAAA,gBAAgBA,CAACxH,OAAO,EAAEC,GAAG,EAAE;AAC7B,IAAA,OAAOkG,aAAa,CAACnG,OAAO,CAACyH,YAAY,CAAC,CAAA,QAAA,EAAWhB,gBAAgB,CAACxG,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC;AAChF,EAAA;AACF,CAAC;;ACpED;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMyH,OAAO,GAAG,SAAS;AACzB,MAAMC,uBAAuB,GAAG,IAAI;AACpC,MAAMC,cAAc,GAAG,eAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAGlF,QAAQ,IAAI;EAChC,IAAIA,QAAQ,IAAImF,MAAM,CAACC,GAAG,IAAID,MAAM,CAACC,GAAG,CAACC,MAAM,EAAE;AAC/C;IACArF,QAAQ,GAAGA,QAAQ,CAACyB,OAAO,CAAC,eAAe,EAAE,CAAC6D,KAAK,EAAEC,EAAE,KAAK,CAAA,CAAA,EAAIH,GAAG,CAACC,MAAM,CAACE,EAAE,CAAC,EAAE,CAAC;AACnF,EAAA;AAEA,EAAA,OAAOvF,QAAQ;AACjB,CAAC;;AAED;AACA,MAAMwF,MAAM,GAAGC,MAAM,IAAI;AACvB,EAAA,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAKC,SAAS,EAAE;IAC3C,OAAO,CAAA,EAAGD,MAAM,CAAA,CAAE;AACpB,EAAA;EAEA,OAAO/E,MAAM,CAACiF,SAAS,CAACjC,QAAQ,CAACpC,IAAI,CAACmE,MAAM,CAAC,CAACH,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAACtB,WAAW,EAAE;AACrF,CAAC;;AAED;AACA;AACA;;AAEA,MAAM4B,MAAM,GAAGC,MAAM,IAAI;EACvB,GAAG;AACDA,IAAAA,MAAM,IAAIC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAGjB,OAAO,CAAC;AAC/C,EAAA,CAAC,QAAQkB,QAAQ,CAACC,cAAc,CAACL,MAAM,CAAC;AAExC,EAAA,OAAOA,MAAM;AACf,CAAC;AAED,MAAMM,gCAAgC,GAAG9I,OAAO,IAAI;EAClD,IAAI,CAACA,OAAO,EAAE;AACZ,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;EACA,IAAI;IAAE+I,kBAAkB;AAAEC,IAAAA;AAAgB,GAAC,GAAGlB,MAAM,CAACmB,gBAAgB,CAACjJ,OAAO,CAAC;AAE9E,EAAA,MAAMkJ,uBAAuB,GAAG9C,MAAM,CAAC+C,UAAU,CAACJ,kBAAkB,CAAC;AACrE,EAAA,MAAMK,oBAAoB,GAAGhD,MAAM,CAAC+C,UAAU,CAACH,eAAe,CAAC;;AAE/D;AACA,EAAA,IAAI,CAACE,uBAAuB,IAAI,CAACE,oBAAoB,EAAE;AACrD,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;EACAL,kBAAkB,GAAGA,kBAAkB,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACrDL,eAAe,GAAGA,eAAe,CAACK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/C,EAAA,OAAO,CAACjD,MAAM,CAAC+C,UAAU,CAACJ,kBAAkB,CAAC,GAAG3C,MAAM,CAAC+C,UAAU,CAACH,eAAe,CAAC,IAAIrB,uBAAuB;AAC/G,CAAC;AAED,MAAM2B,oBAAoB,GAAGtJ,OAAO,IAAI;EACtCA,OAAO,CAAC8F,aAAa,CAAC,IAAIH,KAAK,CAACiC,cAAc,CAAC,CAAC;AAClD,CAAC;AAED,MAAM2B,WAAS,GAAGnB,MAAM,IAAI;AAC1B,EAAA,IAAI,CAACA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;AACzC,IAAA,OAAO,KAAK;AACd,EAAA;AAEA,EAAA,OAAO,OAAOA,MAAM,CAACoB,QAAQ,KAAK,WAAW;AAC/C,CAAC;AAED,MAAMC,UAAU,GAAGrB,MAAM,IAAI;AAC3B,EAAA,IAAImB,WAAS,CAACnB,MAAM,CAAC,EAAE;AACrB,IAAA,OAAOA,MAAM;AACf,EAAA;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAAChD,MAAM,GAAG,CAAC,EAAE;IACnD,OAAOwD,QAAQ,CAACc,aAAa,CAAC7B,aAAa,CAACO,MAAM,CAAC,CAAC;AACtD,EAAA;AAEA,EAAA,OAAO,IAAI;AACb,CAAC;AAED,MAAMuB,SAAS,GAAG3J,OAAO,IAAI;AAC3B,EAAA,IAAI,CAACuJ,WAAS,CAACvJ,OAAO,CAAC,IAAIA,OAAO,CAAC4J,cAAc,EAAE,CAACxE,MAAM,KAAK,CAAC,EAAE;AAChE,IAAA,OAAO,KAAK;AACd,EAAA;AAEA,EAAA,MAAMyE,gBAAgB,GAAGZ,gBAAgB,CAACjJ,OAAO,CAAC,CAAC8J,gBAAgB,CAAC,YAAY,CAAC,KAAK,SAAS;AAC/F;AACA,EAAA,MAAMC,aAAa,GAAG/J,OAAO,CAACgK,OAAO,CAAC,qBAAqB,CAAC;EAE5D,IAAI,CAACD,aAAa,EAAE;AAClB,IAAA,OAAOF,gBAAgB;AACzB,EAAA;EAEA,IAAIE,aAAa,KAAK/J,OAAO,EAAE;AAC7B,IAAA,MAAMiK,OAAO,GAAGjK,OAAO,CAACgK,OAAO,CAAC,SAAS,CAAC;AAC1C,IAAA,IAAIC,OAAO,IAAIA,OAAO,CAAClH,UAAU,KAAKgH,aAAa,EAAE;AACnD,MAAA,OAAO,KAAK;AACd,IAAA;IAEA,IAAIE,OAAO,KAAK,IAAI,EAAE;AACpB,MAAA,OAAO,KAAK;AACd,IAAA;AACF,EAAA;AAEA,EAAA,OAAOJ,gBAAgB;AACzB,CAAC;AAED,MAAMK,UAAU,GAAGlK,OAAO,IAAI;EAC5B,IAAI,CAACA,OAAO,IAAIA,OAAO,CAACwJ,QAAQ,KAAKW,IAAI,CAACC,YAAY,EAAE;AACtD,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,IAAIpK,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAAC,UAAU,CAAC,EAAE;AAC1C,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI,OAAOhE,OAAO,CAACsK,QAAQ,KAAK,WAAW,EAAE;IAC3C,OAAOtK,OAAO,CAACsK,QAAQ;AACzB,EAAA;AAEA,EAAA,OAAOtK,OAAO,CAACuK,YAAY,CAAC,UAAU,CAAC,IAAIvK,OAAO,CAACyH,YAAY,CAAC,UAAU,CAAC,KAAK,OAAO;AACzF,CAAC;AAED,MAAM+C,cAAc,GAAGxK,OAAO,IAAI;AAChC,EAAA,IAAI,CAAC4I,QAAQ,CAAC6B,eAAe,CAACC,YAAY,EAAE;AAC1C,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACA,EAAA,IAAI,OAAO1K,OAAO,CAAC2K,WAAW,KAAK,UAAU,EAAE;AAC7C,IAAA,MAAMC,IAAI,GAAG5K,OAAO,CAAC2K,WAAW,EAAE;AAClC,IAAA,OAAOC,IAAI,YAAYC,UAAU,GAAGD,IAAI,GAAG,IAAI;AACjD,EAAA;EAEA,IAAI5K,OAAO,YAAY6K,UAAU,EAAE;AACjC,IAAA,OAAO7K,OAAO;AAChB,EAAA;;AAEA;AACA,EAAA,IAAI,CAACA,OAAO,CAAC+C,UAAU,EAAE;AACvB,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,OAAOyH,cAAc,CAACxK,OAAO,CAAC+C,UAAU,CAAC;AAC3C,CAAC;AAED,MAAM+H,IAAI,GAAGA,MAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAG/K,OAAO,IAAI;EACxBA,OAAO,CAACgL,YAAY,CAAA;AACtB,CAAC;AAqBD,MAAMC,OAAK,GAAGA,MAAMrC,QAAQ,CAAC6B,eAAe,CAACS,GAAG,KAAK,KAAK;AAE1D,MAAMC,OAAO,GAAGA,CAACC,gBAAgB,EAAE3F,IAAI,GAAG,EAAE,EAAE4F,YAAY,GAAGD,gBAAgB,KAAK;AAChF,EAAA,OAAO,OAAOA,gBAAgB,KAAK,UAAU,GAAGA,gBAAgB,CAACnH,IAAI,CAAC,GAAGwB,IAAI,CAAC,GAAG4F,YAAY;AAC/F,CAAC;AAED,MAAMC,sBAAsB,GAAGA,CAACC,QAAQ,EAAEC,iBAAiB,EAAEC,iBAAiB,GAAG,IAAI,KAAK;EACxF,IAAI,CAACA,iBAAiB,EAAE;IACtBN,OAAO,CAACI,QAAQ,CAAC;AACjB,IAAA;AACF,EAAA;EAEA,MAAMG,eAAe,GAAG,CAAC;AACzB,EAAA,MAAMC,gBAAgB,GAAG7C,gCAAgC,CAAC0C,iBAAiB,CAAC,GAAGE,eAAe;EAE9F,IAAIE,MAAM,GAAG,KAAK;EAElB,MAAM3J,OAAO,GAAGA,CAAC;AAAEa,IAAAA;AAAO,GAAC,KAAK;IAC9B,IAAIA,MAAM,KAAK0I,iBAAiB,EAAE;AAChC,MAAA;AACF,IAAA;AAEAI,IAAAA,MAAM,GAAG,IAAI;AACbJ,IAAAA,iBAAiB,CAACjH,mBAAmB,CAACqD,cAAc,EAAE3F,OAAO,CAAC;IAC9DkJ,OAAO,CAACI,QAAQ,CAAC;EACnB,CAAC;AAEDC,EAAAA,iBAAiB,CAACnH,gBAAgB,CAACuD,cAAc,EAAE3F,OAAO,CAAC;AAC3D4J,EAAAA,UAAU,CAAC,MAAM;IACf,IAAI,CAACD,MAAM,EAAE;MACXtC,oBAAoB,CAACkC,iBAAiB,CAAC;AACzC,IAAA;EACF,CAAC,EAAEG,gBAAgB,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,oBAAoB,GAAGA,CAACC,IAAI,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,KAAK;AACnF,EAAA,MAAMC,UAAU,GAAGJ,IAAI,CAAC3G,MAAM;AAC9B,EAAA,IAAIgH,KAAK,GAAGL,IAAI,CAACM,OAAO,CAACL,aAAa,CAAC;;AAEvC;AACA;AACA,EAAA,IAAII,KAAK,KAAK,EAAE,EAAE;AAChB,IAAA,OAAO,CAACH,aAAa,IAAIC,cAAc,GAAGH,IAAI,CAACI,UAAU,GAAG,CAAC,CAAC,GAAGJ,IAAI,CAAC,CAAC,CAAC;AAC1E,EAAA;AAEAK,EAAAA,KAAK,IAAIH,aAAa,GAAG,CAAC,GAAG,EAAE;AAE/B,EAAA,IAAIC,cAAc,EAAE;AAClBE,IAAAA,KAAK,GAAG,CAACA,KAAK,GAAGD,UAAU,IAAIA,UAAU;AAC3C,EAAA;AAEA,EAAA,OAAOJ,IAAI,CAACtD,IAAI,CAAC6D,GAAG,CAAC,CAAC,EAAE7D,IAAI,CAAC8D,GAAG,CAACH,KAAK,EAAED,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;;AC7PD;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACA;AACA;;AAEA,MAAMK,MAAM,CAAC;AACX;EACA,WAAWC,OAAOA,GAAG;AACnB,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,MAAM,IAAIC,KAAK,CAAC,qEAAqE,CAAC;AACxF,EAAA;EAEAC,UAAUA,CAACC,MAAM,EAAE;AACjBA,IAAAA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC;AACrCA,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC;AACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC7B,IAAA,OAAOA,MAAM;AACf,EAAA;EAEAE,iBAAiBA,CAACF,MAAM,EAAE;AACxB,IAAA,OAAOA,MAAM;AACf,EAAA;AAEAC,EAAAA,eAAeA,CAACD,MAAM,EAAE9M,OAAO,EAAE;AAC/B,IAAA,MAAMkN,UAAU,GAAG3D,WAAS,CAACvJ,OAAO,CAAC,GAAG4G,WAAW,CAACY,gBAAgB,CAACxH,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAA;;IAE5F,OAAO;AACL,MAAA,GAAG,IAAI,CAACmN,WAAW,CAACV,OAAO;MAC3B,IAAI,OAAOS,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAG,EAAE,CAAC;AACrD,MAAA,IAAI3D,WAAS,CAACvJ,OAAO,CAAC,GAAG4G,WAAW,CAACK,iBAAiB,CAACjH,OAAO,CAAC,GAAG,EAAE,CAAC;MACrE,IAAI,OAAO8M,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,EAAE;KAC7C;AACH,EAAA;EAEAG,gBAAgBA,CAACH,MAAM,EAAEM,WAAW,GAAG,IAAI,CAACD,WAAW,CAACT,WAAW,EAAE;AACnE,IAAA,KAAK,MAAM,CAACW,QAAQ,EAAEC,aAAa,CAAC,IAAIjK,MAAM,CAACwB,OAAO,CAACuI,WAAW,CAAC,EAAE;AACnE,MAAA,MAAMrM,KAAK,GAAG+L,MAAM,CAACO,QAAQ,CAAC;AAC9B,MAAA,MAAME,SAAS,GAAGhE,WAAS,CAACxI,KAAK,CAAC,GAAG,SAAS,GAAGoH,MAAM,CAACpH,KAAK,CAAC;MAE9D,IAAI,CAAC,IAAIyM,MAAM,CAACF,aAAa,CAAC,CAACG,IAAI,CAACF,SAAS,CAAC,EAAE;QAC9C,MAAM,IAAIG,SAAS,CACjB,CAAA,EAAG,IAAI,CAACP,WAAW,CAACR,IAAI,CAACgB,WAAW,EAAE,aAAaN,QAAQ,CAAA,iBAAA,EAAoBE,SAAS,CAAA,qBAAA,EAAwBD,aAAa,IAC/H,CAAC;AACH,MAAA;AACF,IAAA;AACF,EAAA;AACF;;AC9DA;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMM,OAAO,GAAG,cAAc;;AAE9B;AACA;AACA;;AAEA,MAAMC,aAAa,SAASrB,MAAM,CAAC;AACjCW,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,EAAE;AAEP9M,IAAAA,OAAO,GAAGyJ,UAAU,CAACzJ,OAAO,CAAC;IAC7B,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;IAEA,IAAI,CAAC8N,QAAQ,GAAG9N,OAAO;IACvB,IAAI,CAAC+N,OAAO,GAAG,IAAI,CAAClB,UAAU,CAACC,MAAM,CAAC;AAEtCkB,IAAAA,IAAI,CAACjO,GAAG,CAAC,IAAI,CAAC+N,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACc,QAAQ,EAAE,IAAI,CAAC;AAC1D,EAAA;;AAEA;AACAC,EAAAA,OAAOA,GAAG;AACRF,IAAAA,IAAI,CAAChN,MAAM,CAAC,IAAI,CAAC8M,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACc,QAAQ,CAAC;AACrD3L,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACuL,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACgB,SAAS,CAAC;IAE3D,KAAK,MAAMC,YAAY,IAAI/K,MAAM,CAACgL,mBAAmB,CAAC,IAAI,CAAC,EAAE;AAC3D,MAAA,IAAI,CAACD,YAAY,CAAC,GAAG,IAAI;AAC3B,IAAA;AACF,EAAA;;AAEA;EACAE,cAAcA,CAAC/C,QAAQ,EAAEvL,OAAO,EAAEuO,UAAU,GAAG,IAAI,EAAE;AACnDjD,IAAAA,sBAAsB,CAACC,QAAQ,EAAEvL,OAAO,EAAEuO,UAAU,CAAC;AACvD,EAAA;EAEA1B,UAAUA,CAACC,MAAM,EAAE;IACjBA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,EAAE,IAAI,CAACgB,QAAQ,CAAC;AACpDhB,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC;AACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC7B,IAAA,OAAOA,MAAM;AACf,EAAA;;AAEA;EACA,OAAO0B,WAAWA,CAACxO,OAAO,EAAE;AAC1B,IAAA,OAAOgO,IAAI,CAAC3N,GAAG,CAACoJ,UAAU,CAACzJ,OAAO,CAAC,EAAE,IAAI,CAACiO,QAAQ,CAAC;AACrD,EAAA;EAEA,OAAOQ,mBAAmBA,CAACzO,OAAO,EAAE8M,MAAM,GAAG,EAAE,EAAE;IAC/C,OAAO,IAAI,CAAC0B,WAAW,CAACxO,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAO8M,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC;AACnG,EAAA;EAEA,WAAWc,OAAOA,GAAG;AACnB,IAAA,OAAOA,OAAO;AAChB,EAAA;EAEA,WAAWK,QAAQA,GAAG;AACpB,IAAA,OAAO,CAAA,GAAA,EAAM,IAAI,CAACtB,IAAI,CAAA,CAAE;AAC1B,EAAA;EAEA,WAAWwB,SAASA,GAAG;AACrB,IAAA,OAAO,CAAA,CAAA,EAAI,IAAI,CAACF,QAAQ,CAAA,CAAE;AAC5B,EAAA;EAEA,OAAOS,SAASA,CAACC,IAAI,EAAE;AACrB,IAAA,OAAO,GAAGA,IAAI,CAAA,EAAG,IAAI,CAACR,SAAS,CAAA,CAAE;AACnC,EAAA;AACF;;ACnFA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMS,WAAW,GAAG5O,OAAO,IAAI;AAC7B,EAAA,IAAI2C,QAAQ,GAAG3C,OAAO,CAACyH,YAAY,CAAC,gBAAgB,CAAC;AAErD,EAAA,IAAI,CAAC9E,QAAQ,IAAIA,QAAQ,KAAK,GAAG,EAAE;AACjC,IAAA,IAAIkM,aAAa,GAAG7O,OAAO,CAACyH,YAAY,CAAC,MAAM,CAAC;;AAEhD;AACA;AACA;AACA;AACA,IAAA,IAAI,CAACoH,aAAa,IAAK,CAACA,aAAa,CAAC/J,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC+J,aAAa,CAAC1J,UAAU,CAAC,GAAG,CAAE,EAAE;AACtF,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACA,IAAA,IAAI0J,aAAa,CAAC/J,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC+J,aAAa,CAAC1J,UAAU,CAAC,GAAG,CAAC,EAAE;MACjE0J,aAAa,GAAG,CAAA,CAAA,EAAIA,aAAa,CAACxF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE;AACnD,IAAA;AAEA1G,IAAAA,QAAQ,GAAGkM,aAAa,IAAIA,aAAa,KAAK,GAAG,GAAGA,aAAa,CAACC,IAAI,EAAE,GAAG,IAAI;AACjF,EAAA;EAEA,OAAOnM,QAAQ,GAAGA,QAAQ,CAAC0G,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAACC,GAAG,IAAInH,aAAa,CAACmH,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI;AACvF,CAAC;AAED,MAAMC,cAAc,GAAG;EACrB5L,IAAIA,CAACX,QAAQ,EAAE3C,OAAO,GAAG4I,QAAQ,CAAC6B,eAAe,EAAE;AACjD,IAAA,OAAO,EAAE,CAAC0E,MAAM,CAAC,GAAGC,OAAO,CAAC9G,SAAS,CAACzF,gBAAgB,CAACoB,IAAI,CAACjE,OAAO,EAAE2C,QAAQ,CAAC,CAAC;EACjF,CAAC;EAED0M,OAAOA,CAAC1M,QAAQ,EAAE3C,OAAO,GAAG4I,QAAQ,CAAC6B,eAAe,EAAE;IACpD,OAAO2E,OAAO,CAAC9G,SAAS,CAACoB,aAAa,CAACzF,IAAI,CAACjE,OAAO,EAAE2C,QAAQ,CAAC;EAChE,CAAC;AAED2M,EAAAA,QAAQA,CAACtP,OAAO,EAAE2C,QAAQ,EAAE;IAC1B,OAAO,EAAE,CAACwM,MAAM,CAAC,GAAGnP,OAAO,CAACsP,QAAQ,CAAC,CAACjI,MAAM,CAACkI,KAAK,IAAIA,KAAK,CAACC,OAAO,CAAC7M,QAAQ,CAAC,CAAC;EAChF,CAAC;AAED8M,EAAAA,OAAOA,CAACzP,OAAO,EAAE2C,QAAQ,EAAE;IACzB,MAAM8M,OAAO,GAAG,EAAE;IAClB,IAAIC,QAAQ,GAAG1P,OAAO,CAAC+C,UAAU,CAACiH,OAAO,CAACrH,QAAQ,CAAC;AAEnD,IAAA,OAAO+M,QAAQ,EAAE;AACfD,MAAAA,OAAO,CAACE,IAAI,CAACD,QAAQ,CAAC;MACtBA,QAAQ,GAAGA,QAAQ,CAAC3M,UAAU,CAACiH,OAAO,CAACrH,QAAQ,CAAC;AAClD,IAAA;AAEA,IAAA,OAAO8M,OAAO;EAChB,CAAC;AAEDG,EAAAA,IAAIA,CAAC5P,OAAO,EAAE2C,QAAQ,EAAE;AACtB,IAAA,IAAIkN,QAAQ,GAAG7P,OAAO,CAAC8P,sBAAsB;AAE7C,IAAA,OAAOD,QAAQ,EAAE;AACf,MAAA,IAAIA,QAAQ,CAACL,OAAO,CAAC7M,QAAQ,CAAC,EAAE;QAC9B,OAAO,CAACkN,QAAQ,CAAC;AACnB,MAAA;MAEAA,QAAQ,GAAGA,QAAQ,CAACC,sBAAsB;AAC5C,IAAA;AAEA,IAAA,OAAO,EAAE;EACX,CAAC;AAED;AACAhP,EAAAA,IAAIA,CAACd,OAAO,EAAE2C,QAAQ,EAAE;AACtB,IAAA,IAAI7B,IAAI,GAAGd,OAAO,CAAC+P,kBAAkB;AAErC,IAAA,OAAOjP,IAAI,EAAE;AACX,MAAA,IAAIA,IAAI,CAAC0O,OAAO,CAAC7M,QAAQ,CAAC,EAAE;QAC1B,OAAO,CAAC7B,IAAI,CAAC;AACf,MAAA;MAEAA,IAAI,GAAGA,IAAI,CAACiP,kBAAkB;AAChC,IAAA;AAEA,IAAA,OAAO,EAAE;EACX,CAAC;EAEDC,iBAAiBA,CAAChQ,OAAO,EAAE;AACzB,IAAA,MAAMiQ,UAAU,GAAG,CACjB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,0BAA0B,CAC3B,CAAClB,GAAG,CAACpM,QAAQ,IAAI,CAAA,EAAGA,QAAQ,CAAA,qBAAA,CAAuB,CAAC,CAACsM,IAAI,CAAC,GAAG,CAAC;IAE/D,OAAO,IAAI,CAAC3L,IAAI,CAAC2M,UAAU,EAAEjQ,OAAO,CAAC,CAACqH,MAAM,CAAC6I,EAAE,IAAI,CAAChG,UAAU,CAACgG,EAAE,CAAC,IAAIvG,SAAS,CAACuG,EAAE,CAAC,CAAC;EACtF,CAAC;EAEDC,sBAAsBA,CAACnQ,OAAO,EAAE;AAC9B,IAAA,MAAM2C,QAAQ,GAAGiM,WAAW,CAAC5O,OAAO,CAAC;AAErC,IAAA,IAAI2C,QAAQ,EAAE;MACZ,OAAOuM,cAAc,CAACG,OAAO,CAAC1M,QAAQ,CAAC,GAAGA,QAAQ,GAAG,IAAI;AAC3D,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;EAEDyN,sBAAsBA,CAACpQ,OAAO,EAAE;AAC9B,IAAA,MAAM2C,QAAQ,GAAGiM,WAAW,CAAC5O,OAAO,CAAC;IAErC,OAAO2C,QAAQ,GAAGuM,cAAc,CAACG,OAAO,CAAC1M,QAAQ,CAAC,GAAG,IAAI;EAC3D,CAAC;EAED0N,+BAA+BA,CAACrQ,OAAO,EAAE;AACvC,IAAA,MAAM2C,QAAQ,GAAGiM,WAAW,CAAC5O,OAAO,CAAC;IAErC,OAAO2C,QAAQ,GAAGuM,cAAc,CAAC5L,IAAI,CAACX,QAAQ,CAAC,GAAG,EAAE;AACtD,EAAA;AACF,CAAC;;AC5HD;AACA;AACA;AACA;AACA;AACA;;AAMA,MAAM2N,oBAAoB,GAAGA,CAACC,SAAS,EAAEC,MAAM,GAAG,MAAM,KAAK;AAC3D,EAAA,MAAMC,UAAU,GAAG,CAAA,aAAA,EAAgBF,SAAS,CAACpC,SAAS,CAAA,CAAE;AACxD,EAAA,MAAMQ,IAAI,GAAG4B,SAAS,CAAC5D,IAAI;AAE3BrK,EAAAA,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE6H,UAAU,EAAE,CAAA,kBAAA,EAAqB9B,IAAI,CAAA,EAAA,CAAI,EAAE,UAAUzM,KAAK,EAAE;AACpF,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC4C,QAAQ,CAAC,IAAI,CAAC4L,OAAO,CAAC,EAAE;MACxCxO,KAAK,CAACyO,cAAc,EAAE;AACxB,IAAA;AAEA,IAAA,IAAIzG,UAAU,CAAC,IAAI,CAAC,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMpH,MAAM,GAAGoM,cAAc,CAACkB,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAACpG,OAAO,CAAC,CAAA,CAAA,EAAI2E,IAAI,EAAE,CAAC;AACtF,IAAA,MAAMzO,QAAQ,GAAGqQ,SAAS,CAAC9B,mBAAmB,CAAC3L,MAAM,CAAC;;AAEtD;AACA5C,IAAAA,QAAQ,CAACsQ,MAAM,CAAC,EAAE;AACpB,EAAA,CAAC,CAAC;AACJ,CAAC;AAED,MAAMI,mBAAmB,GAAGA,CAACC,MAAM,EAAEC,OAAO,EAAEC,cAAc,EAAEP,MAAM,EAAEjF,QAAQ,GAAG,IAAI,KAAK;AACxFyF,EAAAA,WAAW,CAAC,CAAA,EAAGF,OAAO,CAAA,CAAA,EAAID,MAAM,CAAClE,IAAI,CAAA,CAAE,EAAEoE,cAAc,EAAEE,IAAI,IAAI;IAC/D,MAAMC,SAAS,GAAGD,IAAI,CAACE,OAAO,CAAC9J,MAAM,CAAC7C,OAAO,CAAC,CAACuK,GAAG,CAAC/O,OAAO,IAAI6Q,MAAM,CAACpC,mBAAmB,CAACzO,OAAO,CAAC,CAAC;AAClG,IAAA,IAAI,OAAOuL,QAAQ,KAAK,UAAU,EAAE;AAClCA,MAAAA,QAAQ,CAAC;AAAE,QAAA,GAAG0F,IAAI;AAAEC,QAAAA;AAAU,OAAC,CAAC;AAClC,IAAA;AAEA,IAAA,KAAK,MAAMhR,QAAQ,IAAIgR,SAAS,EAAE;AAChChR,MAAAA,QAAQ,CAACsQ,MAAM,CAAC,EAAE;AACpB,IAAA;AACF,EAAA,CAAC,CAAC;AACJ,CAAC;AAED,MAAMQ,WAAW,GAAGA,CAACF,OAAO,EAAEC,cAAc,EAAExF,QAAQ,KAAK;AACzD,EAAA,MAAM5I,QAAQ,GAAG,CAAA,EAAGoO,cAAc,CAAA,8BAAA,CAAgC;EAClEzO,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEkI,OAAO,EAAEnO,QAAQ,EAAE,UAAUT,KAAK,EAAE;AAC5D,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC4C,QAAQ,CAAC,IAAI,CAAC4L,OAAO,CAAC,EAAE;MACxCxO,KAAK,CAACyO,cAAc,EAAE;AACxB,IAAA;AAEA,IAAA,MAAMhO,QAAQ,GAAGuM,cAAc,CAACiB,sBAAsB,CAAC,IAAI,CAAC;AAC5D,IAAA,MAAMgB,OAAO,GAAGxO,QAAQ,GAAGuM,cAAc,CAAC5L,IAAI,CAACX,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AAEjE4I,IAAAA,QAAQ,CAAC;MAAE4F,OAAO;AAAEjP,MAAAA;AAAM,KAAC,CAAC;AAC9B,EAAA,CAAC,CAAC;AACJ,CAAC;;ACzDD;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMyK,MAAI,GAAG,OAAO;AACpB,MAAMsB,UAAQ,GAAG,UAAU;AAC3B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAMmD,WAAW,GAAG,CAAA,KAAA,EAAQjD,WAAS,CAAA,CAAE;AACvC,MAAMkD,YAAY,GAAG,CAAA,MAAA,EAASlD,WAAS,CAAA,CAAE;AACzC,MAAMmD,iBAAe,GAAG,MAAM;AAC9B,MAAMC,iBAAe,GAAG,MAAM;;AAE9B;AACA;AACA;;AAEA,MAAMC,KAAK,SAAS3D,aAAa,CAAC;AAChC;EACA,WAAWlB,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA8E,EAAAA,KAAKA,GAAG;IACN,MAAMC,UAAU,GAAGpP,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEsD,WAAW,CAAC;IAEnE,IAAIM,UAAU,CAACC,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC7D,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;IAE/C,MAAMhD,UAAU,GAAG,IAAI,CAACT,QAAQ,CAACzD,SAAS,CAACrG,QAAQ,CAACsN,iBAAe,CAAC;AACpE,IAAA,IAAI,CAAChD,cAAc,CAAC,MAAM,IAAI,CAACsD,eAAe,EAAE,EAAE,IAAI,CAAC9D,QAAQ,EAAES,UAAU,CAAC;AAC9E,EAAA;;AAEA;AACAqD,EAAAA,eAAeA,GAAG;AAChB,IAAA,IAAI,CAAC9D,QAAQ,CAAC9M,MAAM,EAAE;IACtBsB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEuD,YAAY,CAAC;IACjD,IAAI,CAACnD,OAAO,EAAE;AAChB,EAAA;AACF;;AAEA;AACA;AACA;;AAEAoC,oBAAoB,CAACkB,KAAK,EAAE,OAAO,CAAC;;AC5DpC;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACA;AACA;;AAEA,MAAM7E,MAAI,GAAG,QAAQ;AACrB,MAAMsB,UAAQ,GAAG,WAAW;AAC5B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMC,mBAAiB,GAAG,QAAQ;AAClC,MAAMC,sBAAoB,GAAG,2BAA2B;AACxD,MAAMC,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;;AAE/D;AACA;AACA;;AAEA,MAAMI,MAAM,SAASpE,aAAa,CAAC;AACjC;EACA,WAAWlB,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuF,EAAAA,MAAMA,GAAG;AACP;AACA,IAAA,IAAI,CAACpE,QAAQ,CAAChH,YAAY,CAAC,cAAc,EAAE,IAAI,CAACgH,QAAQ,CAACzD,SAAS,CAAC6H,MAAM,CAACJ,mBAAiB,CAAC,CAAC;AAC/F,EAAA;AACF;;AAEA;AACA;AACA;;AAEAxP,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE7P,KAAK,IAAI;EAC7EA,KAAK,CAACyO,cAAc,EAAE;EAEtB,MAAMwB,MAAM,GAAGjQ,KAAK,CAACY,MAAM,CAACkH,OAAO,CAAC+H,sBAAoB,CAAC;AACzD,EAAA,MAAMd,IAAI,GAAGgB,MAAM,CAACxD,mBAAmB,CAAC0D,MAAM,CAAC;EAE/ClB,IAAI,CAACiB,MAAM,EAAE;AACf,CAAC,CAAC;;ACnDF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMvF,MAAI,GAAG,OAAO;AACpB,MAAMwB,WAAS,GAAG,WAAW;AAC7B,MAAMiE,gBAAgB,GAAG,CAAA,UAAA,EAAajE,WAAS,CAAA,CAAE;AACjD,MAAMkE,eAAe,GAAG,CAAA,SAAA,EAAYlE,WAAS,CAAA,CAAE;AAC/C,MAAMmE,cAAc,GAAG,CAAA,QAAA,EAAWnE,WAAS,CAAA,CAAE;AAC7C,MAAMoE,iBAAiB,GAAG,CAAA,WAAA,EAAcpE,WAAS,CAAA,CAAE;AACnD,MAAMqE,eAAe,GAAG,CAAA,SAAA,EAAYrE,WAAS,CAAA,CAAE;AAC/C,MAAMsE,kBAAkB,GAAG,OAAO;AAClC,MAAMC,gBAAgB,GAAG,KAAK;AAC9B,MAAMC,wBAAwB,GAAG,eAAe;AAChD,MAAMC,eAAe,GAAG,EAAE;AAE1B,MAAMnG,SAAO,GAAG;AACdoG,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,YAAY,EAAE,IAAI;AAClBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,UAAU,EAAE,IAAI;AAChBC,EAAAA,YAAY,EAAE;AAChB,CAAC;AAED,MAAMvG,aAAW,GAAG;AAClBmG,EAAAA,WAAW,EAAE,iBAAiB;AAC9BC,EAAAA,YAAY,EAAE,iBAAiB;AAC/BC,EAAAA,aAAa,EAAE,iBAAiB;AAChCC,EAAAA,UAAU,EAAE,iBAAiB;AAC7BC,EAAAA,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,KAAK,SAAS1G,MAAM,CAAC;AACzBW,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,EAAE;IACP,IAAI,CAACgB,QAAQ,GAAG9N,OAAO;IAEvB,IAAI,CAACA,OAAO,IAAI,CAACkT,KAAK,CAACC,WAAW,EAAE,EAAE;AACpC,MAAA;AACF,IAAA;IAEA,IAAI,CAACpF,OAAO,GAAG,IAAI,CAAClB,UAAU,CAACC,MAAM,CAAC;IACtC,IAAI,CAACsG,OAAO,GAAG,CAAC;IAChB,IAAI,CAACC,OAAO,GAAG,CAAC;IAChB,IAAI,CAACC,qBAAqB,GAAG9O,OAAO,CAACsD,MAAM,CAACyL,YAAY,CAAC;IACzD,IAAI,CAACC,WAAW,EAAE;AACpB,EAAA;;AAEA;EACA,WAAW/G,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuB,EAAAA,OAAOA,GAAG;IACR5L,YAAY,CAACC,GAAG,CAAC,IAAI,CAACuL,QAAQ,EAAEK,WAAS,CAAC;AAC5C,EAAA;;AAEA;EACAsF,MAAMA,CAACvR,KAAK,EAAE;AACZ,IAAA,IAAI,CAAC,IAAI,CAACoR,qBAAqB,EAAE;MAC/B,IAAI,CAACF,OAAO,GAAGlR,KAAK,CAACwR,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;MACvC,IAAI,CAACN,OAAO,GAAGnR,KAAK,CAACwR,OAAO,CAAC,CAAC,CAAC,CAACE,OAAO;AAEvC,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACC,uBAAuB,CAAC3R,KAAK,CAAC,EAAE;AACvC,MAAA,IAAI,CAACkR,OAAO,GAAGlR,KAAK,CAACyR,OAAO;AAC5B,MAAA,IAAI,CAACN,OAAO,GAAGnR,KAAK,CAAC0R,OAAO;AAC9B,IAAA;AACF,EAAA;EAEAE,IAAIA,CAAC5R,KAAK,EAAE;AACV,IAAA,IAAI,IAAI,CAAC2R,uBAAuB,CAAC3R,KAAK,CAAC,EAAE;MACvC,IAAI,CAACkR,OAAO,GAAGlR,KAAK,CAACyR,OAAO,GAAG,IAAI,CAACP,OAAO;MAC3C,IAAI,CAACC,OAAO,GAAGnR,KAAK,CAAC0R,OAAO,GAAG,IAAI,CAACP,OAAO;AAC7C,IAAA;IAEA,IAAI,CAACU,YAAY,EAAE;AACnB5I,IAAAA,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAAC8E,WAAW,CAAC;AACnC,EAAA;EAEAmB,KAAKA,CAAC9R,KAAK,EAAE;IACX,IAAIA,KAAK,CAACwR,OAAO,IAAIxR,KAAK,CAACwR,OAAO,CAACtO,MAAM,GAAG,CAAC,EAAE;MAC7C,IAAI,CAACgO,OAAO,GAAG,CAAC;MAChB,IAAI,CAACC,OAAO,GAAG,CAAC;AAChB,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACD,OAAO,GAAGlR,KAAK,CAACwR,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,GAAG,IAAI,CAACP,OAAO;AACtD,IAAA,IAAI,CAACC,OAAO,GAAGnR,KAAK,CAACwR,OAAO,CAAC,CAAC,CAAC,CAACE,OAAO,GAAG,IAAI,CAACP,OAAO;AACxD,EAAA;AAEAU,EAAAA,YAAYA,GAAG;IACb,MAAME,SAAS,GAAGxL,IAAI,CAACyL,GAAG,CAAC,IAAI,CAACd,OAAO,CAAC;IACxC,MAAMe,SAAS,GAAG1L,IAAI,CAACyL,GAAG,CAAC,IAAI,CAACb,OAAO,CAAC;;AAExC;AACA,IAAA,IAAIc,SAAS,GAAGF,SAAS,IAAIE,SAAS,GAAGvB,eAAe,EAAE;AACxD;MACA,MAAMwB,SAAS,GAAG,IAAI,CAACf,OAAO,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;MAClD,IAAI,CAACD,OAAO,GAAG,CAAC;MAChB,IAAI,CAACC,OAAO,GAAG,CAAC;AAChBlI,MAAAA,OAAO,CAACiJ,SAAS,KAAK,MAAM,GAAG,IAAI,CAACrG,OAAO,CAACkF,YAAY,GAAG,IAAI,CAAClF,OAAO,CAACiF,UAAU,CAAC;AACnF,MAAA;AACF,IAAA;IAEA,IAAIiB,SAAS,GAAGrB,eAAe,EAAE;AAC/B;AACA,MAAA,MAAMwB,SAAS,GAAGH,SAAS,GAAG,IAAI,CAACb,OAAO;MAC1C,IAAI,CAACA,OAAO,GAAG,CAAC;MAChB,IAAI,CAACC,OAAO,GAAG,CAAC;MAEhB,IAAI,CAACe,SAAS,EAAE;AACd,QAAA;AACF,MAAA;AAEAjJ,MAAAA,OAAO,CAACiJ,SAAS,GAAG,CAAC,GAAG,IAAI,CAACrG,OAAO,CAACgF,aAAa,GAAG,IAAI,CAAChF,OAAO,CAAC+E,YAAY,CAAC;AAC/E,MAAA;AACF,IAAA;IAEA,IAAI,CAACM,OAAO,GAAG,CAAC;IAChB,IAAI,CAACC,OAAO,GAAG,CAAC;AAClB,EAAA;AAEAG,EAAAA,WAAWA,GAAG;IACZ,IAAI,IAAI,CAACF,qBAAqB,EAAE;AAC9BhR,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEyE,iBAAiB,EAAErQ,KAAK,IAAI,IAAI,CAACuR,MAAM,CAACvR,KAAK,CAAC,CAAC;AAC9EI,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE0E,eAAe,EAAEtQ,KAAK,IAAI,IAAI,CAAC4R,IAAI,CAAC5R,KAAK,CAAC,CAAC;MAE1E,IAAI,CAAC4L,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC1B,wBAAwB,CAAC;AACvD,IAAA,CAAC,MAAM;AACLrQ,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEsE,gBAAgB,EAAElQ,KAAK,IAAI,IAAI,CAACuR,MAAM,CAACvR,KAAK,CAAC,CAAC;AAC7EI,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEuE,eAAe,EAAEnQ,KAAK,IAAI,IAAI,CAAC8R,KAAK,CAAC9R,KAAK,CAAC,CAAC;AAC3EI,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEwE,cAAc,EAAEpQ,KAAK,IAAI,IAAI,CAAC4R,IAAI,CAAC5R,KAAK,CAAC,CAAC;AAC3E,IAAA;AACF,EAAA;EAEA2R,uBAAuBA,CAAC3R,KAAK,EAAE;AAC7B,IAAA,OAAO,IAAI,CAACoR,qBAAqB,KAAKpR,KAAK,CAACoS,WAAW,KAAK5B,gBAAgB,IAAIxQ,KAAK,CAACoS,WAAW,KAAK7B,kBAAkB,CAAC;AAC3H,EAAA;;AAEA;EACA,OAAOU,WAAWA,GAAG;IACnB,OAAO,cAAc,IAAIvK,QAAQ,CAAC6B,eAAe,IAAI8J,SAAS,CAACC,cAAc,GAAG,CAAC;AACnF,EAAA;AACF;;AC1KA;AACA;AACA;AACA;AACA;AACA;;;AAeA;AACA;AACA;;AAEA,MAAM7H,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAM4C,gBAAc,GAAG,WAAW;AAClC,MAAMC,iBAAe,GAAG,YAAY;AACpC,MAAMC,sBAAsB,GAAG,GAAG,CAAA;;AAElC,MAAMC,UAAU,GAAG,MAAM;AACzB,MAAMC,UAAU,GAAG,MAAM;AACzB,MAAMC,cAAc,GAAG,MAAM;AAC7B,MAAMC,eAAe,GAAG,OAAO;AAE/B,MAAMC,WAAW,GAAG,CAAA,KAAA,EAAQ7G,WAAS,CAAA,CAAE;AACvC,MAAM8G,UAAU,GAAG,CAAA,IAAA,EAAO9G,WAAS,CAAA,CAAE;AACrC,MAAM+G,eAAa,GAAG,CAAA,OAAA,EAAU/G,WAAS,CAAA,CAAE;AAC3C,MAAMgH,kBAAgB,GAAG,CAAA,UAAA,EAAahH,WAAS,CAAA,CAAE;AACjD,MAAMiH,kBAAgB,GAAG,CAAA,UAAA,EAAajH,WAAS,CAAA,CAAE;AACjD,MAAMkH,gBAAgB,GAAG,CAAA,SAAA,EAAYlH,WAAS,CAAA,CAAE;AAChD,MAAMmH,qBAAmB,GAAG,CAAA,IAAA,EAAOnH,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAC7D,MAAMG,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE/D,MAAM0D,mBAAmB,GAAG,UAAU;AACtC,MAAMzD,mBAAiB,GAAG,QAAQ;AAClC,MAAM0D,gBAAgB,GAAG,OAAO;AAChC,MAAMC,cAAc,GAAG,mBAAmB;AAC1C,MAAMC,gBAAgB,GAAG,qBAAqB;AAC9C,MAAMC,eAAe,GAAG,oBAAoB;AAC5C,MAAMC,eAAe,GAAG,oBAAoB;AAE5C,MAAMC,eAAe,GAAG,SAAS;AACjC,MAAMC,aAAa,GAAG,gBAAgB;AACtC,MAAMC,oBAAoB,GAAGF,eAAe,GAAGC,aAAa;AAC5D,MAAME,iBAAiB,GAAG,oBAAoB;AAC9C,MAAMC,mBAAmB,GAAG,sBAAsB;AAClD,MAAMC,mBAAmB,GAAG,qCAAqC;AACjE,MAAMC,kBAAkB,GAAG,2BAA2B;AAEtD,MAAMC,gBAAgB,GAAG;EACvB,CAAC3B,gBAAc,GAAGM,eAAe;AACjC,EAAA,CAACL,iBAAe,GAAGI;AACrB,CAAC;AAED,MAAMrI,SAAO,GAAG;AACd4J,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,IAAI,EAAE;AACR,CAAC;AAED,MAAMhK,aAAW,GAAG;AAClB2J,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,KAAK,EAAE,kBAAkB;AACzBC,EAAAA,IAAI,EAAE,kBAAkB;AACxBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAAS9I,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAAC8J,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,YAAY,GAAG,IAAI;AAExB,IAAA,IAAI,CAACC,kBAAkB,GAAG/H,cAAc,CAACG,OAAO,CAAC4G,mBAAmB,EAAE,IAAI,CAACnI,QAAQ,CAAC;IACpF,IAAI,CAACoJ,kBAAkB,EAAE;AAEzB,IAAA,IAAI,IAAI,CAACnJ,OAAO,CAACyI,IAAI,KAAKjB,mBAAmB,EAAE;MAC7C,IAAI,CAAC4B,KAAK,EAAE;AACd,IAAA;AACF,EAAA;;AAEA;EACA,WAAW1K,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA7L,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAACsW,MAAM,CAACxC,UAAU,CAAC;AACzB,EAAA;AAEAyC,EAAAA,eAAeA,GAAG;AAChB;AACA;AACA,IAAA,IAAIzO,QAAQ,CAAC0O,eAAe,KAAK,SAAS,IAAI3N,SAAS,CAAC,IAAI,CAACmE,QAAQ,CAAC,EAAE;MACtE,IAAI,CAAChN,IAAI,EAAE;AACb,IAAA;AACF,EAAA;AAEA8O,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAACwH,MAAM,CAACvC,UAAU,CAAC;AACzB,EAAA;AAEA0B,EAAAA,KAAKA,GAAG;IACN,IAAI,IAAI,CAACO,UAAU,EAAE;AACnBxN,MAAAA,oBAAoB,CAAC,IAAI,CAACwE,QAAQ,CAAC;AACrC,IAAA;IAEA,IAAI,CAACyJ,cAAc,EAAE;AACvB,EAAA;AAEAJ,EAAAA,KAAKA,GAAG;IACN,IAAI,CAACI,cAAc,EAAE;IACrB,IAAI,CAACC,eAAe,EAAE;AAEtB,IAAA,IAAI,CAACZ,SAAS,GAAGa,WAAW,CAAC,MAAM,IAAI,CAACJ,eAAe,EAAE,EAAE,IAAI,CAACtJ,OAAO,CAACsI,QAAQ,CAAC;AACnF,EAAA;AAEAqB,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,IAAI,CAAC,IAAI,CAAC3J,OAAO,CAACyI,IAAI,EAAE;AACtB,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACM,UAAU,EAAE;AACnBxU,MAAAA,YAAY,CAAC0C,GAAG,CAAC,IAAI,CAAC8I,QAAQ,EAAEmH,UAAU,EAAE,MAAM,IAAI,CAACkC,KAAK,EAAE,CAAC;AAC/D,MAAA;AACF,IAAA;IAEA,IAAI,CAACA,KAAK,EAAE;AACd,EAAA;EAEAQ,EAAEA,CAACvL,KAAK,EAAE;AACR,IAAA,MAAMwL,KAAK,GAAG,IAAI,CAACC,SAAS,EAAE;IAC9B,IAAIzL,KAAK,GAAGwL,KAAK,CAACxS,MAAM,GAAG,CAAC,IAAIgH,KAAK,GAAG,CAAC,EAAE;AACzC,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAAC0K,UAAU,EAAE;AACnBxU,MAAAA,YAAY,CAAC0C,GAAG,CAAC,IAAI,CAAC8I,QAAQ,EAAEmH,UAAU,EAAE,MAAM,IAAI,CAAC0C,EAAE,CAACvL,KAAK,CAAC,CAAC;AACjE,MAAA;AACF,IAAA;IAEA,MAAM0L,WAAW,GAAG,IAAI,CAACC,aAAa,CAAC,IAAI,CAACC,UAAU,EAAE,CAAC;IACzD,IAAIF,WAAW,KAAK1L,KAAK,EAAE;AACzB,MAAA;AACF,IAAA;IAEA,MAAM6L,KAAK,GAAG7L,KAAK,GAAG0L,WAAW,GAAGlD,UAAU,GAAGC,UAAU;IAE3D,IAAI,CAACuC,MAAM,CAACa,KAAK,EAAEL,KAAK,CAACxL,KAAK,CAAC,CAAC;AAClC,EAAA;AAEA8B,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAAC8I,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAAC9I,OAAO,EAAE;AAC7B,IAAA;IAEA,KAAK,CAACA,OAAO,EAAE;AACjB,EAAA;;AAEA;EACAlB,iBAAiBA,CAACF,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAACoL,eAAe,GAAGpL,MAAM,CAACuJ,QAAQ;AACxC,IAAA,OAAOvJ,MAAM;AACf,EAAA;AAEAoK,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,IAAI,IAAI,CAACnJ,OAAO,CAACuI,QAAQ,EAAE;AACzBhU,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEoH,eAAa,EAAEhT,KAAK,IAAI,IAAI,CAACiW,QAAQ,CAACjW,KAAK,CAAC,CAAC;AAC9E,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC6L,OAAO,CAACwI,KAAK,KAAK,OAAO,EAAE;AAClCjU,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEqH,kBAAgB,EAAE,MAAM,IAAI,CAACoB,KAAK,EAAE,CAAC;AACpEjU,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEsH,kBAAgB,EAAE,MAAM,IAAI,CAACsC,iBAAiB,EAAE,CAAC;AAClF,IAAA;IAEA,IAAI,IAAI,CAAC3J,OAAO,CAAC0I,KAAK,IAAIvD,KAAK,CAACC,WAAW,EAAE,EAAE;MAC7C,IAAI,CAACiF,uBAAuB,EAAE;AAChC,IAAA;AACF,EAAA;AAEAA,EAAAA,uBAAuBA,GAAG;AACxB,IAAA,KAAK,MAAMC,GAAG,IAAInJ,cAAc,CAAC5L,IAAI,CAAC0S,iBAAiB,EAAE,IAAI,CAAClI,QAAQ,CAAC,EAAE;AACvExL,MAAAA,YAAY,CAACyC,EAAE,CAACsT,GAAG,EAAEhD,gBAAgB,EAAEnT,KAAK,IAAIA,KAAK,CAACyO,cAAc,EAAE,CAAC;AACzE,IAAA;IAEA,MAAM2H,WAAW,GAAGA,MAAM;AACxB,MAAA,IAAI,IAAI,CAACvK,OAAO,CAACwI,KAAK,KAAK,OAAO,EAAE;AAClC,QAAA;AACF,MAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;MAEA,IAAI,CAACA,KAAK,EAAE;MACZ,IAAI,IAAI,CAACQ,YAAY,EAAE;AACrBwB,QAAAA,YAAY,CAAC,IAAI,CAACxB,YAAY,CAAC;AACjC,MAAA;AAEA,MAAA,IAAI,CAACA,YAAY,GAAGlL,UAAU,CAAC,MAAM,IAAI,CAAC6L,iBAAiB,EAAE,EAAE/C,sBAAsB,GAAG,IAAI,CAAC5G,OAAO,CAACsI,QAAQ,CAAC;IAChH,CAAC;AAED,IAAA,MAAMmC,WAAW,GAAG;AAClB1F,MAAAA,YAAY,EAAEA,MAAM,IAAI,CAACsE,MAAM,CAAC,IAAI,CAACqB,iBAAiB,CAAC3D,cAAc,CAAC,CAAC;AACvE/B,MAAAA,aAAa,EAAEA,MAAM,IAAI,CAACqE,MAAM,CAAC,IAAI,CAACqB,iBAAiB,CAAC1D,eAAe,CAAC,CAAC;AACzElC,MAAAA,WAAW,EAAEyF;KACd;IAED,IAAI,CAACtB,YAAY,GAAG,IAAI9D,KAAK,CAAC,IAAI,CAACpF,QAAQ,EAAE0K,WAAW,CAAC;AAC3D,EAAA;EAEAL,QAAQA,CAACjW,KAAK,EAAE;IACd,IAAI,iBAAiB,CAACuL,IAAI,CAACvL,KAAK,CAACY,MAAM,CAAC4N,OAAO,CAAC,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAM0D,SAAS,GAAGgC,gBAAgB,CAAClU,KAAK,CAACjC,GAAG,CAAC;AAC7C,IAAA,IAAImU,SAAS,EAAE;MACblS,KAAK,CAACyO,cAAc,EAAE;MACtB,IAAI,CAACyG,MAAM,CAAC,IAAI,CAACqB,iBAAiB,CAACrE,SAAS,CAAC,CAAC;AAChD,IAAA;AACF,EAAA;EAEA2D,aAAaA,CAAC/X,OAAO,EAAE;IACrB,OAAO,IAAI,CAAC6X,SAAS,EAAE,CAACxL,OAAO,CAACrM,OAAO,CAAC;AAC1C,EAAA;EAEA0Y,0BAA0BA,CAACtM,KAAK,EAAE;AAChC,IAAA,IAAI,CAAC,IAAI,CAAC6K,kBAAkB,EAAE;AAC5B,MAAA;AACF,IAAA;IAEA,MAAM0B,eAAe,GAAGzJ,cAAc,CAACG,OAAO,CAACwG,eAAe,EAAE,IAAI,CAACoB,kBAAkB,CAAC;AAExF0B,IAAAA,eAAe,CAACtO,SAAS,CAACrJ,MAAM,CAAC8Q,mBAAiB,CAAC;AACnD6G,IAAAA,eAAe,CAAC3R,eAAe,CAAC,cAAc,CAAC;AAE/C,IAAA,MAAM4R,kBAAkB,GAAG1J,cAAc,CAACG,OAAO,CAAC,CAAA,mBAAA,EAAsBjD,KAAK,CAAA,EAAA,CAAI,EAAE,IAAI,CAAC6K,kBAAkB,CAAC;AAE3G,IAAA,IAAI2B,kBAAkB,EAAE;AACtBA,MAAAA,kBAAkB,CAACvO,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;AACnD8G,MAAAA,kBAAkB,CAAC9R,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;AACzD,IAAA;AACF,EAAA;AAEA0Q,EAAAA,eAAeA,GAAG;IAChB,MAAMxX,OAAO,GAAG,IAAI,CAAC6W,cAAc,IAAI,IAAI,CAACmB,UAAU,EAAE;IAExD,IAAI,CAAChY,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,MAAM6Y,eAAe,GAAGzS,MAAM,CAAC0S,QAAQ,CAAC9Y,OAAO,CAACyH,YAAY,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;IAErF,IAAI,CAACsG,OAAO,CAACsI,QAAQ,GAAGwC,eAAe,IAAI,IAAI,CAAC9K,OAAO,CAACmK,eAAe;AACzE,EAAA;AAEAd,EAAAA,MAAMA,CAACa,KAAK,EAAEjY,OAAO,GAAG,IAAI,EAAE;IAC5B,IAAI,IAAI,CAAC8W,UAAU,EAAE;AACnB,MAAA;AACF,IAAA;AAEA,IAAA,MAAM9K,aAAa,GAAG,IAAI,CAACgM,UAAU,EAAE;AACvC,IAAA,MAAMe,MAAM,GAAGd,KAAK,KAAKrD,UAAU;IACnC,MAAMoE,WAAW,GAAGhZ,OAAO,IAAI8L,oBAAoB,CAAC,IAAI,CAAC+L,SAAS,EAAE,EAAE7L,aAAa,EAAE+M,MAAM,EAAE,IAAI,CAAChL,OAAO,CAAC2I,IAAI,CAAC;IAE/G,IAAIsC,WAAW,KAAKhN,aAAa,EAAE;AACjC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMiN,gBAAgB,GAAG,IAAI,CAAClB,aAAa,CAACiB,WAAW,CAAC;IAExD,MAAME,YAAY,GAAGxK,SAAS,IAAI;MAChC,OAAOpM,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEY,SAAS,EAAE;AACpD3K,QAAAA,aAAa,EAAEiV,WAAW;AAC1B5E,QAAAA,SAAS,EAAE,IAAI,CAAC+E,iBAAiB,CAAClB,KAAK,CAAC;AACxCvX,QAAAA,IAAI,EAAE,IAAI,CAACqX,aAAa,CAAC/L,aAAa,CAAC;AACvC2L,QAAAA,EAAE,EAAEsB;AACN,OAAC,CAAC;IACJ,CAAC;AAED,IAAA,MAAMG,UAAU,GAAGF,YAAY,CAAClE,WAAW,CAAC;IAE5C,IAAIoE,UAAU,CAACzH,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC3F,aAAa,IAAI,CAACgN,WAAW,EAAE;AAClC;AACA,MAAA;AACF,IAAA;AAEA,IAAA,MAAMK,SAAS,GAAG7U,OAAO,CAAC,IAAI,CAACoS,SAAS,CAAC;IACzC,IAAI,CAACL,KAAK,EAAE;IAEZ,IAAI,CAACO,UAAU,GAAG,IAAI;AAEtB,IAAA,IAAI,CAAC4B,0BAA0B,CAACO,gBAAgB,CAAC;IACjD,IAAI,CAACpC,cAAc,GAAGmC,WAAW;AAEjC,IAAA,MAAMM,oBAAoB,GAAGP,MAAM,GAAGrD,gBAAgB,GAAGD,cAAc;AACvE,IAAA,MAAM8D,cAAc,GAAGR,MAAM,GAAGpD,eAAe,GAAGC,eAAe;AAEjEoD,IAAAA,WAAW,CAAC3O,SAAS,CAACgK,GAAG,CAACkF,cAAc,CAAC;IAEzCxO,MAAM,CAACiO,WAAW,CAAC;AAEnBhN,IAAAA,aAAa,CAAC3B,SAAS,CAACgK,GAAG,CAACiF,oBAAoB,CAAC;AACjDN,IAAAA,WAAW,CAAC3O,SAAS,CAACgK,GAAG,CAACiF,oBAAoB,CAAC;IAE/C,MAAME,gBAAgB,GAAGA,MAAM;MAC7BR,WAAW,CAAC3O,SAAS,CAACrJ,MAAM,CAACsY,oBAAoB,EAAEC,cAAc,CAAC;AAClEP,MAAAA,WAAW,CAAC3O,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;MAE5C9F,aAAa,CAAC3B,SAAS,CAACrJ,MAAM,CAAC8Q,mBAAiB,EAAEyH,cAAc,EAAED,oBAAoB,CAAC;MAEvF,IAAI,CAACxC,UAAU,GAAG,KAAK;MAEvBoC,YAAY,CAACjE,UAAU,CAAC;IAC1B,CAAC;AAED,IAAA,IAAI,CAAC3G,cAAc,CAACkL,gBAAgB,EAAExN,aAAa,EAAE,IAAI,CAACyN,WAAW,EAAE,CAAC;AAExE,IAAA,IAAIJ,SAAS,EAAE;MACb,IAAI,CAAClC,KAAK,EAAE;AACd,IAAA;AACF,EAAA;AAEAsC,EAAAA,WAAWA,GAAG;IACZ,OAAO,IAAI,CAAC3L,QAAQ,CAACzD,SAAS,CAACrG,QAAQ,CAACwR,gBAAgB,CAAC;AAC3D,EAAA;AAEAwC,EAAAA,UAAUA,GAAG;IACX,OAAO9I,cAAc,CAACG,OAAO,CAAC0G,oBAAoB,EAAE,IAAI,CAACjI,QAAQ,CAAC;AACpE,EAAA;AAEA+J,EAAAA,SAASA,GAAG;IACV,OAAO3I,cAAc,CAAC5L,IAAI,CAACwS,aAAa,EAAE,IAAI,CAAChI,QAAQ,CAAC;AAC1D,EAAA;AAEAyJ,EAAAA,cAAcA,GAAG;IACf,IAAI,IAAI,CAACX,SAAS,EAAE;AAClB8C,MAAAA,aAAa,CAAC,IAAI,CAAC9C,SAAS,CAAC;MAC7B,IAAI,CAACA,SAAS,GAAG,IAAI;AACvB,IAAA;AACF,EAAA;EAEA6B,iBAAiBA,CAACrE,SAAS,EAAE;IAC3B,IAAInJ,OAAK,EAAE,EAAE;AACX,MAAA,OAAOmJ,SAAS,KAAKU,cAAc,GAAGD,UAAU,GAAGD,UAAU;AAC/D,IAAA;AAEA,IAAA,OAAOR,SAAS,KAAKU,cAAc,GAAGF,UAAU,GAAGC,UAAU;AAC/D,EAAA;EAEAsE,iBAAiBA,CAAClB,KAAK,EAAE;IACvB,IAAIhN,OAAK,EAAE,EAAE;AACX,MAAA,OAAOgN,KAAK,KAAKpD,UAAU,GAAGC,cAAc,GAAGC,eAAe;AAChE,IAAA;AAEA,IAAA,OAAOkD,KAAK,KAAKpD,UAAU,GAAGE,eAAe,GAAGD,cAAc;AAChE,EAAA;AACF;;AAEA;AACA;AACA;;AAEAxS,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAEkE,mBAAmB,EAAE,UAAUhU,KAAK,EAAE;AACpF,EAAA,MAAMY,MAAM,GAAGoM,cAAc,CAACkB,sBAAsB,CAAC,IAAI,CAAC;AAE1D,EAAA,IAAI,CAACtN,MAAM,IAAI,CAACA,MAAM,CAACuH,SAAS,CAACrG,QAAQ,CAACuR,mBAAmB,CAAC,EAAE;AAC9D,IAAA;AACF,EAAA;EAEArT,KAAK,CAACyO,cAAc,EAAE;AAEtB,EAAA,MAAMgJ,QAAQ,GAAGhD,QAAQ,CAAClI,mBAAmB,CAAC3L,MAAM,CAAC;AACrD,EAAA,MAAM8W,UAAU,GAAG,IAAI,CAACnS,YAAY,CAAC,kBAAkB,CAAC;AAExD,EAAA,IAAImS,UAAU,EAAE;AACdD,IAAAA,QAAQ,CAAChC,EAAE,CAACiC,UAAU,CAAC;IACvBD,QAAQ,CAACjC,iBAAiB,EAAE;AAC5B,IAAA;AACF,EAAA;EAEA,IAAI9Q,WAAW,CAACY,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,MAAM,EAAE;IAC1DmS,QAAQ,CAAC7Y,IAAI,EAAE;IACf6Y,QAAQ,CAACjC,iBAAiB,EAAE;AAC5B,IAAA;AACF,EAAA;EAEAiC,QAAQ,CAAC/J,IAAI,EAAE;EACf+J,QAAQ,CAACjC,iBAAiB,EAAE;AAC9B,CAAC,CAAC;AAEFpV,YAAY,CAACyC,EAAE,CAAC+C,MAAM,EAAEwN,qBAAmB,EAAE,MAAM;AACjD,EAAA,MAAMuE,SAAS,GAAG3K,cAAc,CAAC5L,IAAI,CAAC6S,kBAAkB,CAAC;AAEzD,EAAA,KAAK,MAAMwD,QAAQ,IAAIE,SAAS,EAAE;AAChClD,IAAAA,QAAQ,CAAClI,mBAAmB,CAACkL,QAAQ,CAAC;AACxC,EAAA;AACF,CAAC,CAAC;;AC1bF;AACA;AACA;AACA;AACA;AACA;;;AAUA;AACA;AACA;;AAEA,MAAMhN,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMiI,YAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM4L,aAAW,GAAG,CAAA,KAAA,EAAQ5L,WAAS,CAAA,CAAE;AACvC,MAAM6L,YAAU,GAAG,CAAA,IAAA,EAAO7L,WAAS,CAAA,CAAE;AACrC,MAAM8L,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAM6D,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE/D,MAAMN,iBAAe,GAAG,MAAM;AAC9B,MAAM2I,mBAAmB,GAAG,UAAU;AACtC,MAAMC,qBAAqB,GAAG,YAAY;AAC1C,MAAMC,oBAAoB,GAAG,WAAW;AACxC,MAAMC,0BAA0B,GAAG,CAAA,QAAA,EAAWH,mBAAmB,CAAA,EAAA,EAAKA,mBAAmB,CAAA,CAAE;AAC3F,MAAMI,qBAAqB,GAAG,qBAAqB;AAEnD,MAAMC,KAAK,GAAG,OAAO;AACrB,MAAMC,MAAM,GAAG,QAAQ;AAEvB,MAAMC,gBAAgB,GAAG,sCAAsC;AAC/D,MAAM1I,sBAAoB,GAAG,6BAA6B;AAE1D,MAAMtF,SAAO,GAAG;AACdiO,EAAAA,MAAM,EAAE,IAAI;AACZxI,EAAAA,MAAM,EAAE;AACV,CAAC;AAED,MAAMxF,aAAW,GAAG;AAClBgO,EAAAA,MAAM,EAAE,gBAAgB;AACxBxI,EAAAA,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;;AAEA,MAAMyI,QAAQ,SAAS9M,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAAC8N,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACC,aAAa,GAAG,EAAE;AAEvB,IAAA,MAAMC,UAAU,GAAG5L,cAAc,CAAC5L,IAAI,CAACyO,sBAAoB,CAAC;AAE5D,IAAA,KAAK,MAAMgJ,IAAI,IAAID,UAAU,EAAE;AAC7B,MAAA,MAAMnY,QAAQ,GAAGuM,cAAc,CAACiB,sBAAsB,CAAC4K,IAAI,CAAC;AAC5D,MAAA,MAAMC,aAAa,GAAG9L,cAAc,CAAC5L,IAAI,CAACX,QAAQ,CAAC,CAChD0E,MAAM,CAAC4T,YAAY,IAAIA,YAAY,KAAK,IAAI,CAACnN,QAAQ,CAAC;AAEzD,MAAA,IAAInL,QAAQ,KAAK,IAAI,IAAIqY,aAAa,CAAC5V,MAAM,EAAE;AAC7C,QAAA,IAAI,CAACyV,aAAa,CAAClL,IAAI,CAACoL,IAAI,CAAC;AAC/B,MAAA;AACF,IAAA;IAEA,IAAI,CAACG,mBAAmB,EAAE;AAE1B,IAAA,IAAI,CAAC,IAAI,CAACnN,OAAO,CAAC2M,MAAM,EAAE;AACxB,MAAA,IAAI,CAACS,yBAAyB,CAAC,IAAI,CAACN,aAAa,EAAE,IAAI,CAACO,QAAQ,EAAE,CAAC;AACrE,IAAA;AAEA,IAAA,IAAI,IAAI,CAACrN,OAAO,CAACmE,MAAM,EAAE;MACvB,IAAI,CAACA,MAAM,EAAE;AACf,IAAA;AACF,EAAA;;AAEA;EACA,WAAWzF,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuF,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACkJ,QAAQ,EAAE,EAAE;MACnB,IAAI,CAACC,IAAI,EAAE;AACb,IAAA,CAAC,MAAM;MACL,IAAI,CAACC,IAAI,EAAE;AACb,IAAA;AACF,EAAA;AAEAA,EAAAA,IAAIA,GAAG;IACL,IAAI,IAAI,CAACV,gBAAgB,IAAI,IAAI,CAACQ,QAAQ,EAAE,EAAE;AAC5C,MAAA;AACF,IAAA;IAEA,IAAIG,cAAc,GAAG,EAAE;;AAEvB;AACA,IAAA,IAAI,IAAI,CAACxN,OAAO,CAAC2M,MAAM,EAAE;AACvBa,MAAAA,cAAc,GAAG,IAAI,CAACC,sBAAsB,CAACf,gBAAgB,CAAC,CAC3DpT,MAAM,CAACrH,OAAO,IAAIA,OAAO,KAAK,IAAI,CAAC8N,QAAQ,CAAC,CAC5CiB,GAAG,CAAC/O,OAAO,IAAI2a,QAAQ,CAAClM,mBAAmB,CAACzO,OAAO,EAAE;AAAEkS,QAAAA,MAAM,EAAE;AAAM,OAAC,CAAC,CAAC;AAC7E,IAAA;IAEA,IAAIqJ,cAAc,CAACnW,MAAM,IAAImW,cAAc,CAAC,CAAC,CAAC,CAACX,gBAAgB,EAAE;AAC/D,MAAA;AACF,IAAA;IAEA,MAAMa,UAAU,GAAGnZ,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEgM,YAAU,CAAC;IAClE,IAAI2B,UAAU,CAAC9J,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAM+J,cAAc,IAAIH,cAAc,EAAE;MAC3CG,cAAc,CAACL,IAAI,EAAE;AACvB,IAAA;AAEA,IAAA,MAAMM,SAAS,GAAG,IAAI,CAACC,aAAa,EAAE;IAEtC,IAAI,CAAC9N,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACkZ,mBAAmB,CAAC;IACnD,IAAI,CAACpM,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC8F,qBAAqB,CAAC;IAElD,IAAI,CAACrM,QAAQ,CAAC+N,KAAK,CAACF,SAAS,CAAC,GAAG,CAAC;IAElC,IAAI,CAACR,yBAAyB,CAAC,IAAI,CAACN,aAAa,EAAE,IAAI,CAAC;IACxD,IAAI,CAACD,gBAAgB,GAAG,IAAI;IAE5B,MAAMkB,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAClB,gBAAgB,GAAG,KAAK;MAE7B,IAAI,CAAC9M,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACmZ,qBAAqB,CAAC;MACrD,IAAI,CAACrM,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC6F,mBAAmB,EAAE3I,iBAAe,CAAC;MAEjE,IAAI,CAACzD,QAAQ,CAAC+N,KAAK,CAACF,SAAS,CAAC,GAAG,EAAE;MAEnCrZ,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEiM,aAAW,CAAC;IAClD,CAAC;AAED,IAAA,MAAMgC,oBAAoB,GAAGJ,SAAS,CAAC,CAAC,CAAC,CAAChO,WAAW,EAAE,GAAGgO,SAAS,CAACrW,KAAK,CAAC,CAAC,CAAC;AAC5E,IAAA,MAAM0W,UAAU,GAAG,CAAA,MAAA,EAASD,oBAAoB,CAAA,CAAE;IAElD,IAAI,CAACzN,cAAc,CAACwN,QAAQ,EAAE,IAAI,CAAChO,QAAQ,EAAE,IAAI,CAAC;AAClD,IAAA,IAAI,CAACA,QAAQ,CAAC+N,KAAK,CAACF,SAAS,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC7N,QAAQ,CAACkO,UAAU,CAAC,CAAA,EAAA,CAAI;AACnE,EAAA;AAEAX,EAAAA,IAAIA,GAAG;IACL,IAAI,IAAI,CAACT,gBAAgB,IAAI,CAAC,IAAI,CAACQ,QAAQ,EAAE,EAAE;AAC7C,MAAA;AACF,IAAA;IAEA,MAAMK,UAAU,GAAGnZ,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEkM,YAAU,CAAC;IAClE,IAAIyB,UAAU,CAAC9J,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,MAAMgK,SAAS,GAAG,IAAI,CAACC,aAAa,EAAE;AAEtC,IAAA,IAAI,CAAC9N,QAAQ,CAAC+N,KAAK,CAACF,SAAS,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC7N,QAAQ,CAACmO,qBAAqB,EAAE,CAACN,SAAS,CAAC,CAAA,EAAA,CAAI;AAExF5Q,IAAAA,MAAM,CAAC,IAAI,CAAC+C,QAAQ,CAAC;IAErB,IAAI,CAACA,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC8F,qBAAqB,CAAC;IAClD,IAAI,CAACrM,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACkZ,mBAAmB,EAAE3I,iBAAe,CAAC;AAEpE,IAAA,KAAK,MAAM/L,OAAO,IAAI,IAAI,CAACqV,aAAa,EAAE;AACxC,MAAA,MAAM7a,OAAO,GAAGkP,cAAc,CAACkB,sBAAsB,CAAC5K,OAAO,CAAC;MAE9D,IAAIxF,OAAO,IAAI,CAAC,IAAI,CAACob,QAAQ,CAACpb,OAAO,CAAC,EAAE;QACtC,IAAI,CAACmb,yBAAyB,CAAC,CAAC3V,OAAO,CAAC,EAAE,KAAK,CAAC;AAClD,MAAA;AACF,IAAA;IAEA,IAAI,CAACoV,gBAAgB,GAAG,IAAI;IAE5B,MAAMkB,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAClB,gBAAgB,GAAG,KAAK;MAC7B,IAAI,CAAC9M,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACmZ,qBAAqB,CAAC;MACrD,IAAI,CAACrM,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC6F,mBAAmB,CAAC;MAChD5X,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEmM,cAAY,CAAC;IACnD,CAAC;IAED,IAAI,CAACnM,QAAQ,CAAC+N,KAAK,CAACF,SAAS,CAAC,GAAG,EAAE;IAEnC,IAAI,CAACrN,cAAc,CAACwN,QAAQ,EAAE,IAAI,CAAChO,QAAQ,EAAE,IAAI,CAAC;AACpD,EAAA;;AAEA;AACAsN,EAAAA,QAAQA,CAACpb,OAAO,GAAG,IAAI,CAAC8N,QAAQ,EAAE;AAChC,IAAA,OAAO9N,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAACuN,iBAAe,CAAC;AACpD,EAAA;EAEAvE,iBAAiBA,CAACF,MAAM,EAAE;IACxBA,MAAM,CAACoF,MAAM,GAAG1N,OAAO,CAACsI,MAAM,CAACoF,MAAM,CAAC,CAAA;IACtCpF,MAAM,CAAC4N,MAAM,GAAGjR,UAAU,CAACqD,MAAM,CAAC4N,MAAM,CAAC;AACzC,IAAA,OAAO5N,MAAM;AACf,EAAA;AAEA8O,EAAAA,aAAaA,GAAG;AACd,IAAA,OAAO,IAAI,CAAC9N,QAAQ,CAACzD,SAAS,CAACrG,QAAQ,CAACsW,qBAAqB,CAAC,GAAGC,KAAK,GAAGC,MAAM;AACjF,EAAA;AAEAU,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,IAAI,CAAC,IAAI,CAACnN,OAAO,CAAC2M,MAAM,EAAE;AACxB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMpL,QAAQ,GAAG,IAAI,CAACkM,sBAAsB,CAACzJ,sBAAoB,CAAC;AAElE,IAAA,KAAK,MAAM/R,OAAO,IAAIsP,QAAQ,EAAE;AAC9B,MAAA,MAAM4M,QAAQ,GAAGhN,cAAc,CAACkB,sBAAsB,CAACpQ,OAAO,CAAC;AAE/D,MAAA,IAAIkc,QAAQ,EAAE;AACZ,QAAA,IAAI,CAACf,yBAAyB,CAAC,CAACnb,OAAO,CAAC,EAAE,IAAI,CAACob,QAAQ,CAACc,QAAQ,CAAC,CAAC;AACpE,MAAA;AACF,IAAA;AACF,EAAA;EAEAV,sBAAsBA,CAAC7Y,QAAQ,EAAE;AAC/B,IAAA,MAAM2M,QAAQ,GAAGJ,cAAc,CAAC5L,IAAI,CAAC+W,0BAA0B,EAAE,IAAI,CAACtM,OAAO,CAAC2M,MAAM,CAAC;AACrF;IACA,OAAOxL,cAAc,CAAC5L,IAAI,CAACX,QAAQ,EAAE,IAAI,CAACoL,OAAO,CAAC2M,MAAM,CAAC,CAACrT,MAAM,CAACrH,OAAO,IAAI,CAACsP,QAAQ,CAACxK,QAAQ,CAAC9E,OAAO,CAAC,CAAC;AAC1G,EAAA;AAEAmb,EAAAA,yBAAyBA,CAACgB,YAAY,EAAEC,MAAM,EAAE;AAC9C,IAAA,IAAI,CAACD,YAAY,CAAC/W,MAAM,EAAE;AACxB,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAMpF,OAAO,IAAImc,YAAY,EAAE;MAClCnc,OAAO,CAACqK,SAAS,CAAC6H,MAAM,CAACkI,oBAAoB,EAAE,CAACgC,MAAM,CAAC;AACvDpc,MAAAA,OAAO,CAAC8G,YAAY,CAAC,eAAe,EAAEsV,MAAM,CAAC;AAC/C,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA9Z,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;AACrF;AACA,EAAA,IAAIA,KAAK,CAACY,MAAM,CAAC4N,OAAO,KAAK,GAAG,IAAKxO,KAAK,CAACE,cAAc,IAAIF,KAAK,CAACE,cAAc,CAACsO,OAAO,KAAK,GAAI,EAAE;IAClGxO,KAAK,CAACyO,cAAc,EAAE;AACxB,EAAA;EAEA,KAAK,MAAM3Q,OAAO,IAAIkP,cAAc,CAACmB,+BAA+B,CAAC,IAAI,CAAC,EAAE;AAC1EsK,IAAAA,QAAQ,CAAClM,mBAAmB,CAACzO,OAAO,EAAE;AAAEkS,MAAAA,MAAM,EAAE;AAAM,KAAC,CAAC,CAACA,MAAM,EAAE;AACnE,EAAA;AACF,CAAC,CAAC;;AC3QF;AACA;AACA;AACA;;AAKA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;AACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG;AACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;AACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;AACxB,MAAM,YAAY,GAAG,CAAC,KAAK;AAC3B,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,CAAC,EAAE;AACL,CAAC,CAAC;AACF,MAAM,eAAe,GAAG;AACxB,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,GAAG,EAAE;AACP,CAAC;AACD,SAAS,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;AAClC,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpC;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE;AAChC,EAAE,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;AAC3D;AACA,SAAS,OAAO,CAAC,SAAS,EAAE;AAC5B,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC;AACA,SAAS,YAAY,CAAC,SAAS,EAAE;AACjC,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;AACjC;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO;AAC1C;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;AAChC,EAAE,OAAO,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;AAC3D;AACA,SAAS,gBAAgB,CAAC,SAAS,EAAE;AACrC,EAAE,OAAO,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAChD;AACA,SAAS,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;AAClD,EAAE,IAAI,GAAG,KAAK,MAAM,EAAE;AACtB,IAAI,GAAG,GAAG,KAAK;AACf,EAAE;AACF,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;AAC3C,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC;AACnD,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC;AAC7C,EAAE,IAAI,iBAAiB,GAAG,aAAa,KAAK,GAAG,GAAG,SAAS,MAAM,GAAG,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,QAAQ,GAAG,KAAK;AACrJ,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxD,IAAI,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC;AAC/D,EAAE;AACF,EAAE,OAAO,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AACrE;AACA,SAAS,qBAAqB,CAAC,SAAS,EAAE;AAC1C,EAAE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC;AAC3D,EAAE,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;AACxH;AACA,SAAS,6BAA6B,CAAC,SAAS,EAAE;AAClD,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;AAC5G;AACA,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;AACrC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;AACrC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;AACrC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;AACrC,SAAS,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;AACzC,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,KAAK;AACd,IAAI,KAAK,QAAQ;AACjB,MAAM,IAAI,GAAG,EAAE,OAAO,OAAO,GAAG,WAAW,GAAG,WAAW;AACzD,MAAM,OAAO,OAAO,GAAG,WAAW,GAAG,WAAW;AAChD,IAAI,KAAK,MAAM;AACf,IAAI,KAAK,OAAO;AAChB,MAAM,OAAO,OAAO,GAAG,WAAW,GAAG,WAAW;AAChD,IAAI;AACJ,MAAM,OAAO,EAAE;AACf;AACA;AACA,SAAS,yBAAyB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,EAAE;AAC7E,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;AAC3C,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,OAAO,EAAE,GAAG,CAAC;AACxE,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC;AACnD,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACjE,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,oBAAoB,CAAC,SAAS,EAAE;AACzC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;AACjC,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7D;AACA,SAAS,mBAAmB,CAAC,OAAO,EAAE;AACtC,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,GAAG;AACP,GAAG;AACH;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACnC,EAAE,OAAO,OAAO,OAAO,KAAK,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG;AACtE,IAAI,GAAG,EAAE,OAAO;AAChB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,IAAI,EAAE;AACV,GAAG;AACH;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM;AACR,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,KAAK;AACT,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK;AACpB,IAAI,MAAM,EAAE,CAAC,GAAG,MAAM;AACtB,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;AClIA,SAAS,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;AAC1D,EAAE,IAAI;AACN,IAAI,SAAS;AACb,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AACzC,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC;AACnD,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC;AAClD,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;AACjC,EAAE,MAAM,UAAU,GAAG,QAAQ,KAAK,GAAG;AACrC,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC;AACxE,EAAE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;AAC1E,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;AAC5E,EAAE,IAAI,MAAM;AACZ,EAAE,QAAQ,IAAI;AACd,IAAI,KAAK,KAAK;AACd,MAAM,MAAM,GAAG;AACf,QAAQ,CAAC,EAAE,OAAO;AAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC;AAClC,OAAO;AACP,MAAM;AACN,IAAI,KAAK,QAAQ;AACjB,MAAM,MAAM,GAAG;AACf,QAAQ,CAAC,EAAE,OAAO;AAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;AACnC,OAAO;AACP,MAAM;AACN,IAAI,KAAK,OAAO;AAChB,MAAM,MAAM,GAAG;AACf,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK;AACxC,QAAQ,CAAC,EAAE;AACX,OAAO;AACP,MAAM;AACN,IAAI,KAAK,MAAM;AACf,MAAM,MAAM,GAAG;AACf,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK;AACvC,QAAQ,CAAC,EAAE;AACX,OAAO;AACP,MAAM;AACN,IAAI;AACJ,MAAM,MAAM,GAAG;AACf,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;AACrB,OAAO;AACP;AACA,EAAE,QAAQ,YAAY,CAAC,SAAS,CAAC;AACjC,IAAI,KAAK,OAAO;AAChB,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,IAAI,GAAG,IAAI,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;AACzE,MAAM;AACN,IAAI,KAAK,KAAK;AACd,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,IAAI,GAAG,IAAI,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;AACzE,MAAM;AACN;AACA,EAAE,OAAO,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,qBAAqB;AAC3B,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,EAAE;AAChB,EAAE;AACF,EAAE,MAAM;AACR,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG,GAAG,KAAK;AACX,EAAE,MAAM;AACR,IAAI,QAAQ,GAAG,mBAAmB;AAClC,IAAI,YAAY,GAAG,UAAU;AAC7B,IAAI,cAAc,GAAG,UAAU;AAC/B,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,OAAO,GAAG;AACd,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;AAC9B,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACjD,EAAE,MAAM,UAAU,GAAG,cAAc,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU;AAC7E,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC;AACrE,EAAE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,QAAQ,CAAC,eAAe,CAAC;AAC7E,IAAI,OAAO,EAAE,CAAC,CAAC,qBAAqB,GAAG,OAAO,QAAQ,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,GAAG,qBAAqB,GAAG,IAAI,IAAI,OAAO,GAAG,OAAO,CAAC,cAAc,KAAK,OAAO,QAAQ,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvS,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,IAAI,GAAG,cAAc,KAAK,UAAU,GAAG;AAC/C,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;AAC/B,IAAI,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;AAC3B,GAAG,GAAG,KAAK,CAAC,SAAS;AACrB,EAAE,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,eAAe,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACtH,EAAE,MAAM,WAAW,GAAG,CAAC,OAAO,QAAQ,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK;AAC3L,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE;AACP,GAAG,GAAG;AACN,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE;AACP,GAAG;AACH,EAAE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,qDAAqD,GAAG,MAAM,QAAQ,CAAC,qDAAqD,CAAC;AACnL,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG,CAAC,GAAG,IAAI,CAAC;AACZ,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;AAC7F,IAAI,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC;AACzG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;AACjG,IAAI,KAAK,EAAE,CAAC,iBAAiB,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,WAAW,CAAC;AACpG,GAAG;AACH;;AAEA;AACA,MAAM,eAAe,GAAG,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMmK,iBAAe,GAAG,OAAO,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK;AAC/D,EAAE,MAAM;AACR,IAAI,SAAS,GAAG,QAAQ;AACxB,IAAI,QAAQ,GAAG,UAAU;AACzB,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI;AACJ,GAAG,GAAG,MAAM;AACZ,EAAE,MAAM,0BAA0B,GAAG,QAAQ,CAAC,cAAc,GAAG,QAAQ,GAAG;AAC1E,IAAI,GAAG,QAAQ;AACf,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChF,EAAE,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC;AAC7C,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,IAAI;AACN,IAAI,CAAC;AACL,IAAI;AACJ,GAAG,GAAG,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC;AACvD,EAAE,IAAI,iBAAiB,GAAG,SAAS;AACnC,EAAE,IAAI,UAAU,GAAG,CAAC;AACpB,EAAE,MAAM,cAAc,GAAG,EAAE;AAC3B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,IAAI,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC5B,MAAM;AACN,IAAI;AACJ,IAAI,MAAM;AACV,MAAM,IAAI;AACV,MAAM;AACN,KAAK,GAAG,iBAAiB;AACzB,IAAI,MAAM;AACV,MAAM,CAAC,EAAE,KAAK;AACd,MAAM,CAAC,EAAE,KAAK;AACd,MAAM,IAAI;AACV,MAAM;AACN,KAAK,GAAG,MAAM,EAAE,CAAC;AACjB,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,gBAAgB,EAAE,SAAS;AACjC,MAAM,SAAS,EAAE,iBAAiB;AAClC,MAAM,QAAQ;AACd,MAAM,cAAc;AACpB,MAAM,KAAK;AACX,MAAM,QAAQ,EAAE,0BAA0B;AAC1C,MAAM,QAAQ,EAAE;AAChB,QAAQ,SAAS;AACjB,QAAQ;AACR;AACA,KAAK,CAAC;AACN,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC;AACjC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC;AACjC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG;AAC3B,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC;AAC7B,MAAM,GAAG;AACT,KAAK;AACL,IAAI,IAAI,KAAK,IAAI,UAAU,GAAG,eAAe,EAAE;AAC/C,MAAM,UAAU,EAAE;AAClB,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE;AAC7B,UAAU,iBAAiB,GAAG,KAAK,CAAC,SAAS;AAC7C,QAAQ;AACR,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE;AACzB,UAAU,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC;AACxE,YAAY,SAAS;AACrB,YAAY,QAAQ;AACpB,YAAY;AACZ,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK;AAC1B,QAAQ;AACR,QAAQ,CAAC;AACT,UAAU,CAAC;AACX,UAAU;AACV,SAAS,GAAG,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC;AACrE,MAAM;AACN,MAAM,CAAC,GAAG,EAAE;AACZ,IAAI;AACJ,EAAE;AACF,EAAE,OAAO;AACT,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAK,GAAG,OAAO,KAAK;AAC1B,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE;AAClB,IAAI,MAAM;AACV,MAAM,CAAC;AACP,MAAM,CAAC;AACP,MAAM,SAAS;AACf,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM;AACN,KAAK,GAAG,KAAK;AACb;AACA,IAAI,MAAM;AACV,MAAM,OAAO;AACb,MAAM,OAAO,GAAG;AAChB,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE;AACtC,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACnD,IAAI,MAAM,MAAM,GAAG;AACnB,MAAM,CAAC;AACP,MAAM;AACN,KAAK;AACL,IAAI,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC;AAC5C,IAAI,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACtC,IAAI,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AACjE,IAAI,MAAM,OAAO,GAAG,IAAI,KAAK,GAAG;AAChC,IAAI,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM;AAC5C,IAAI,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO;AAChD,IAAI,MAAM,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,aAAa;AAC/D,IAAI,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC3G,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;AAC1D,IAAI,MAAM,iBAAiB,GAAG,OAAO,QAAQ,CAAC,eAAe,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACnH,IAAI,IAAI,UAAU,GAAG,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;;AAE1E;AACA,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,OAAO,QAAQ,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;AAC/G,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1E,IAAI;AACJ,IAAI,MAAM,iBAAiB,GAAG,OAAO,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC;;AAEzD;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AACnF,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;AAC1E,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;;AAE1E;AACA;AACA,IAAI,MAAM,KAAK,GAAG,UAAU;AAC5B,IAAI,MAAM,GAAG,GAAG,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,UAAU;AACjE,IAAI,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB;AACnF,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;;AAE5C;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AACvN,IAAI,MAAM,eAAe,GAAG,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC;AAChG,IAAI,OAAO;AACX,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe;AAC5C,MAAM,IAAI,EAAE;AACZ,QAAQ,CAAC,IAAI,GAAG,MAAM;AACtB,QAAQ,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe;AACvD,QAAQ,IAAI,eAAe,IAAI;AAC/B,UAAU;AACV,SAAS;AACT,OAAO;AACP,MAAM,KAAK,EAAE;AACb,KAAK;AACL,EAAE;AACF,CAAC,CAAC;;AAyGF;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAI,GAAG,UAAU,OAAO,EAAE;AAChC,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,EAAE;AAChB,EAAE;AACF,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO;AACX,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE;AACpB,MAAM,IAAI,qBAAqB,EAAE,oBAAoB;AACrD,MAAM,MAAM;AACZ,QAAQ,SAAS;AACjB,QAAQ,cAAc;AACtB,QAAQ,KAAK;AACb,QAAQ,gBAAgB;AACxB,QAAQ,QAAQ;AAChB,QAAQ;AACR,OAAO,GAAG,KAAK;AACf,MAAM,MAAM;AACZ,QAAQ,QAAQ,EAAE,aAAa,GAAG,IAAI;AACtC,QAAQ,SAAS,EAAE,cAAc,GAAG,IAAI;AACxC,QAAQ,kBAAkB,EAAE,2BAA2B;AACvD,QAAQ,gBAAgB,GAAG,SAAS;AACpC,QAAQ,yBAAyB,GAAG,MAAM;AAC1C,QAAQ,aAAa,GAAG,IAAI;AAC5B,QAAQ,GAAG;AACX,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;;AAElC;AACA;AACA;AACA;AACA,MAAM,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,KAAK,KAAK,IAAI,IAAI,qBAAqB,CAAC,eAAe,EAAE;AAC3G,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;AACrC,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,gBAAgB;AAC5E,MAAM,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7F,MAAM,MAAM,kBAAkB,GAAG,2BAA2B,KAAK,eAAe,IAAI,CAAC,aAAa,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AACxL,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,KAAK,MAAM;AAC/E,MAAM,IAAI,CAAC,2BAA2B,IAAI,4BAA4B,EAAE;AACxE,QAAQ,kBAAkB,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,aAAa,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAC;AAC9H,MAAM;AACN,MAAM,MAAM,UAAU,GAAG,CAAC,gBAAgB,EAAE,GAAG,kBAAkB,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAClF,MAAM,MAAM,SAAS,GAAG,EAAE;AAC1B,MAAM,IAAI,aAAa,GAAG,CAAC,CAAC,oBAAoB,GAAG,cAAc,CAAC,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,oBAAoB,CAAC,SAAS,KAAK,EAAE;AAChI,MAAM,IAAI,aAAa,EAAE;AACzB,QAAQ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC,MAAM;AACN,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC;AAC9D,QAAQ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM;AACN,MAAM,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE;AACzC,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO,CAAC;;AAER;AACA,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE;AAC/C,QAAQ,IAAI,qBAAqB,EAAE,qBAAqB;AACxD,QAAQ,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,qBAAqB,GAAG,cAAc,CAAC,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,qBAAqB,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC;AACnI,QAAQ,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC;AACnD,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,MAAM,uBAAuB,GAAG,cAAc,KAAK,WAAW,GAAG,eAAe,KAAK,WAAW,CAAC,aAAa,CAAC,GAAG,KAAK;AACjI,UAAU,IAAI,CAAC,uBAAuB;AACtC;AACA;AACA,UAAU,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE;AAC9G;AACA,YAAY,OAAO;AACnB,cAAc,IAAI,EAAE;AACpB,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,SAAS,EAAE;AAC3B,eAAe;AACf,cAAc,KAAK,EAAE;AACrB,gBAAgB,SAAS,EAAE;AAC3B;AACA,aAAa;AACb,UAAU;AACV,QAAQ;;AAER;AACA;AACA,QAAQ,IAAI,cAAc,GAAG,CAAC,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,qBAAqB,CAAC,SAAS;;AAE3M;AACA,QAAQ,IAAI,CAAC,cAAc,EAAE;AAC7B,UAAU,QAAQ,gBAAgB;AAClC,YAAY,KAAK,SAAS;AAC1B,cAAc;AACd,gBAAgB,IAAI,sBAAsB;AAC1C,gBAAgB,MAAM,SAAS,GAAG,CAAC,sBAAsB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI;AACtF,kBAAkB,IAAI,4BAA4B,EAAE;AACpD,oBAAoB,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,oBAAoB,OAAO,eAAe,KAAK,eAAe;AAC9D;AACA;AACA,oBAAoB,eAAe,KAAK,GAAG;AAC3C,kBAAkB;AAClB,kBAAkB,OAAO,IAAI;AAC7B,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC;AAClN,gBAAgB,IAAI,SAAS,EAAE;AAC/B,kBAAkB,cAAc,GAAG,SAAS;AAC5C,gBAAgB;AAChB,gBAAgB;AAChB,cAAc;AACd,YAAY,KAAK,kBAAkB;AACnC,cAAc,cAAc,GAAG,gBAAgB;AAC/C,cAAc;AACd;AACA,QAAQ;AACR,QAAQ,IAAI,SAAS,KAAK,cAAc,EAAE;AAC1C,UAAU,OAAO;AACjB,YAAY,KAAK,EAAE;AACnB,cAAc,SAAS,EAAE;AACzB;AACA,WAAW;AACX,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,GAAG;AACH,CAAC;;AA2MD,MAAM,WAAW,gBAAgB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;AAEzD;AACA;;AAEA,eAAe,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE;AACpD,EAAE,MAAM;AACR,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG,GAAG,KAAK;AACX,EAAE,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzF,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;AACjC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;AAC3C,EAAE,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG;AACnD,EAAE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AACtD,EAAE,MAAM,cAAc,GAAG,GAAG,IAAI,UAAU,GAAG,EAAE,GAAG,CAAC;AACnD,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;;AAE3C;AACA,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI;AACJ,GAAG,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACrC,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,aAAa,EAAE;AACnB,GAAG,GAAG;AACN,IAAI,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,CAAC;AACpC,IAAI,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC;AACtC,IAAI,aAAa,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,IAAI,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACtD,IAAI,SAAS,GAAG,SAAS,KAAK,KAAK,GAAG,aAAa,GAAG,EAAE,GAAG,aAAa;AACxE,EAAE;AACF,EAAE,OAAO,UAAU,GAAG;AACtB,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc;AACjC,IAAI,CAAC,EAAE,QAAQ,GAAG;AAClB,GAAG,GAAG;AACN,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa;AAC/B,IAAI,CAAC,EAAE,SAAS,GAAG;AACnB,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAM,GAAG,UAAU,OAAO,EAAE;AAClC,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,CAAC;AACf,EAAE;AACF,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,OAAO;AACX,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE;AACpB,MAAM,IAAI,qBAAqB,EAAE,qBAAqB;AACtD,MAAM,MAAM;AACZ,QAAQ,CAAC;AACT,QAAQ,CAAC;AACT,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO,GAAG,KAAK;AACf,MAAM,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC;;AAEnE;AACA;AACA,MAAM,IAAI,SAAS,MAAM,CAAC,qBAAqB,GAAG,cAAc,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAAC,KAAK,KAAK,IAAI,IAAI,qBAAqB,CAAC,eAAe,EAAE;AACjO,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,MAAM,OAAO;AACb,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3B,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3B,QAAQ,IAAI,EAAE;AACd,UAAU,GAAG,UAAU;AACvB,UAAU;AACV;AACA,OAAO;AACP,IAAI;AACJ,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAK,GAAG,UAAU,OAAO,EAAE;AACjC,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,EAAE;AAChB,EAAE;AACF,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO;AACX,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE;AACpB,MAAM,MAAM;AACZ,QAAQ,CAAC;AACT,QAAQ,CAAC;AACT,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO,GAAG,KAAK;AACf,MAAM,MAAM;AACZ,QAAQ,QAAQ,EAAE,aAAa,GAAG,IAAI;AACtC,QAAQ,SAAS,EAAE,cAAc,GAAG,KAAK;AACzC,QAAQ,OAAO,GAAG;AAClB,UAAU,EAAE,EAAE,IAAI,IAAI;AACtB,YAAY,IAAI;AAChB,cAAc,CAAC;AACf,cAAc;AACd,aAAa,GAAG,IAAI;AACpB,YAAY,OAAO;AACnB,cAAc,CAAC;AACf,cAAc;AACd,aAAa;AACb,UAAU;AACV,SAAS;AACT,QAAQ,GAAG;AACX,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;AAClC,MAAM,MAAM,MAAM,GAAG;AACrB,QAAQ,CAAC;AACT,QAAQ;AACR,OAAO;AACP,MAAM,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC;AAClF,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC;AACjD,MAAM,IAAI,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC1C,MAAM,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5C,MAAM,IAAI,aAAa,EAAE;AACzB,QAAQ,MAAM,OAAO,GAAG,QAAQ,KAAK,GAAG,GAAG,KAAK,GAAG,MAAM;AACzD,QAAQ,MAAM,OAAO,GAAG,QAAQ,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO;AAC7D,QAAQ,MAAM,GAAG,GAAG,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACrD,QAAQ,MAAM,GAAG,GAAG,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AACrD,QAAQ,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC;AACtD,MAAM;AACN,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,MAAM,OAAO,GAAG,SAAS,KAAK,GAAG,GAAG,KAAK,GAAG,MAAM;AAC1D,QAAQ,MAAM,OAAO,GAAG,SAAS,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO;AAC9D,QAAQ,MAAM,GAAG,GAAG,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;AACtD,QAAQ,MAAM,GAAG,GAAG,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;AACtD,QAAQ,cAAc,GAAG,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC;AACxD,MAAM;AACN,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC;AACvC,QAAQ,GAAG,KAAK;AAChB,QAAQ,CAAC,QAAQ,GAAG,aAAa;AACjC,QAAQ,CAAC,SAAS,GAAG;AACrB,OAAO,CAAC;AACR,MAAM,OAAO;AACb,QAAQ,GAAG,aAAa;AACxB,QAAQ,IAAI,EAAE;AACd,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC;AAChC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC;AAChC,UAAU,OAAO,EAAE;AACnB,YAAY,CAAC,QAAQ,GAAG,aAAa;AACrC,YAAY,CAAC,SAAS,GAAG;AACzB;AACA;AACA,OAAO;AACP,IAAI;AACJ,GAAG;AACH,CAAC;;ACv4BD,SAAS,SAAS,GAAG;AACrB,EAAE,OAAO,OAAO,MAAM,KAAK,WAAW;AACtC;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;AACpB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,WAAW,EAAE;AAC9C,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,WAAW;AACpB;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,IAAI,mBAAmB;AACzB,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,MAAM,GAAG,mBAAmB,CAAC,WAAW,KAAK,MAAM;AAClI;AACA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,IAAI,IAAI;AACV,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,eAAe;AAChI;AACA,SAAS,MAAM,CAAC,KAAK,EAAE;AACvB,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI;AACxE;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,KAAK,YAAY,OAAO,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO;AAC9E;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE;AACpB,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,KAAK,YAAY,WAAW,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW;AACtF;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACzD,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,KAAK,YAAY,UAAU,IAAI,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU;AACpF;AACA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI;AACJ,GAAG,GAAGxT,kBAAgB,CAAC,OAAO,CAAC;AAC/B,EAAE,OAAO,iCAAiC,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,UAAU;AACnI;AACA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,SAAS,UAAU,CAAC,OAAO,EAAE;AAC7B,EAAE,IAAI;AACN,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC1C,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;AACf;AACA,EAAE;AACF,EAAE,IAAI;AACN,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;AACpC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;AACf,IAAI,OAAO,KAAK;AAChB,EAAE;AACF;AACA,MAAM,YAAY,GAAG,qDAAqD;AAC1E,MAAM,SAAS,GAAG,6BAA6B;AAC/C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,MAAM;AACtD,IAAI,aAAa;AACjB,SAAS,iBAAiB,CAAC,YAAY,EAAE;AACzC,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,GAAGA,kBAAgB,CAAC,YAAY,CAAC,GAAG,YAAY;;AAErF;AACA;AACA,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;AACvS;AACA,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACrC,EAAE,IAAI,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC;AAC1C,EAAE,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE;AAC5E,IAAI,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE;AACxC,MAAM,OAAO,WAAW;AACxB,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;AACxC,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;AAC5C,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,QAAQ,GAAG;AACpB,EAAE,IAAI,aAAa,IAAI,IAAI,EAAE;AAC7B,IAAI,aAAa,GAAG,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;AACjH,EAAE;AACF,EAAE,OAAO,aAAa;AACtB;AACA,SAAS,qBAAqB,CAAC,IAAI,EAAE;AACrC,EAAE,OAAO,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1D;AACA,SAASA,kBAAgB,CAAC,OAAO,EAAE;AACnC,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACrD;AACA,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;AAC1B,IAAI,OAAO;AACX,MAAM,UAAU,EAAE,OAAO,CAAC,UAAU;AACpC,MAAM,SAAS,EAAE,OAAO,CAAC;AACzB,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,UAAU,EAAE,OAAO,CAAC,OAAO;AAC/B,IAAI,SAAS,EAAE,OAAO,CAAC;AACvB,GAAG;AACH;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE;AACpC,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,MAAM;AACd;AACA,EAAE,IAAI,CAAC,YAAY;AACnB;AACA,EAAE,IAAI,CAAC,UAAU;AACjB;AACA,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;AACjC;AACA,EAAE,kBAAkB,CAAC,IAAI,CAAC;AAC1B,EAAE,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM;AACpD;AACA,SAAS,0BAA0B,CAAC,IAAI,EAAE;AAC1C,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC;AACxC,EAAE,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE;AACzC,IAAI,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACnE,EAAE;AACF,EAAE,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE;AAClE,IAAI,OAAO,UAAU;AACrB,EAAE;AACF,EAAE,OAAO,0BAA0B,CAAC,UAAU,CAAC;AAC/C;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE;AAC3D,EAAE,IAAI,oBAAoB;AAC1B,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE;AACvB,IAAI,IAAI,GAAG,EAAE;AACb,EAAE;AACF,EAAE,IAAI,eAAe,KAAK,MAAM,EAAE;AAClC,IAAI,eAAe,GAAG,IAAI;AAC1B,EAAE;AACF,EAAE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,IAAI,CAAC;AAC7D,EAAE,MAAM,MAAM,GAAG,kBAAkB,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC;AAClI,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,kBAAkB,CAAC;AAC3C,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC;AAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,GAAG,EAAE,EAAE,YAAY,IAAI,eAAe,GAAG,oBAAoB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;AACjM,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;AACzG,EAAE;AACF;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,OAAO,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI;AAClF;;AC7JA,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACnC,EAAE,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACzC;AACA;AACA,EAAE,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACxC,EAAE,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1C,EAAE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK;AAC7D,EAAE,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM;AAChE,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,YAAY;AACvF,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,KAAK,GAAG,WAAW;AACvB,IAAI,MAAM,GAAG,YAAY;AACzB,EAAE;AACF,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,CAAC,EAAE;AACP,GAAG;AACH;;AAEA,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,OAAO;AAC/D;;AAEA,SAAS,QAAQ,CAAC,OAAO,EAAE;AAC3B,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;AAClC,IAAI,OAAO,YAAY,CAAC,CAAC,CAAC;AAC1B,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,qBAAqB,EAAE;AACjD,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI;AACJ,GAAG,GAAG,gBAAgB,CAAC,UAAU,CAAC;AAClC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK;AACtD,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM;;AAEzD;;AAEA,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AACjC,IAAI,CAAC,GAAG,CAAC;AACT,EAAE;AACF,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AACjC,IAAI,CAAC,GAAG,CAAC;AACT,EAAE;AACF,EAAE,OAAO;AACT,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;AAEA,MAAM,SAAS,gBAAgB,YAAY,CAAC,CAAC,CAAC;AAC9C,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACnC,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;AAChC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;AAC1C,IAAI,OAAO,SAAS;AACpB,EAAE;AACF,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,UAAU;AACpC,IAAI,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;AAC1B,GAAG;AACH;AACA,SAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE;AACxE,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,KAAK;AACnB,EAAE;AACF,EAAE,IAAI,CAAC,oBAAoB,IAAI,OAAO,IAAI,oBAAoB,KAAK,SAAS,CAAC,OAAO,CAAC,EAAE;AACvF,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;;AAEA,SAAS,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE;AACrF,EAAE,IAAI,YAAY,KAAK,MAAM,EAAE;AAC/B,IAAI,YAAY,GAAG,KAAK;AACxB,EAAE;AACF,EAAE,IAAI,eAAe,KAAK,MAAM,EAAE;AAClC,IAAI,eAAe,GAAG,KAAK;AAC3B,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE;AACpD,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;AAC7B,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;AACnC,QAAQ,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC/B,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AAC1I,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;AACvD,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;AACtD,EAAE,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AACxC,EAAE,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AAC1C,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC;AACrC,IAAI,MAAM,SAAS,GAAG,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,YAAY;AACtG,IAAI,IAAI,UAAU,GAAG,GAAG;AACxB,IAAI,IAAI,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC;AACnD,IAAI,OAAO,aAAa,IAAI,YAAY,IAAI,SAAS,KAAK,UAAU,EAAE;AACtE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,qBAAqB,EAAE;AAC9D,MAAM,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,CAAC;AACnD,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC;AAC7G,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,CAAC;AACzG,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;AACxB,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;AACxB,MAAM,KAAK,IAAI,WAAW,CAAC,CAAC;AAC5B,MAAM,MAAM,IAAI,WAAW,CAAC,CAAC;AAC7B,MAAM,CAAC,IAAI,IAAI;AACf,MAAM,CAAC,IAAI,GAAG;AACd,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC;AAC3C,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC;AACjD,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,gBAAgB,CAAC;AAC1B,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,CAAC;AACL,IAAI;AACJ,GAAG,CAAC;AACJ;;AAEA;AACA;AACA,SAAS,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE;AAC5C,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU;AACtD,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU;AAC/E,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,IAAI,GAAG,UAAU;AAC/B;;AAEA,SAAS,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE;AAChD,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,qBAAqB,EAAE;AAC1D,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC;AAC9F,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS;AAC3C,EAAE,OAAO;AACT,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;AAEA,SAAS,qDAAqD,CAAC,IAAI,EAAE;AACrE,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO;AACtC,EAAE,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC;AAC1D,EAAE,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK;AACnE,EAAE,IAAI,YAAY,KAAK,eAAe,IAAI,QAAQ,IAAI,OAAO,EAAE;AAC/D,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;AAC7B,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;AACjC,EAAE,MAAM,uBAAuB,GAAG,aAAa,CAAC,YAAY,CAAC;AAC7D,EAAE,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,EAAE;AACvE,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,iBAAiB,CAAC,eAAe,CAAC,EAAE;AACpF,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;AAC1C,IAAI;AACJ,IAAI,IAAI,uBAAuB,EAAE;AACjC,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,CAAC;AAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;AACpC,MAAM,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU;AACxD,MAAM,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS;AACvD,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,eAAe,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AACvI,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;AAC/B,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACjC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AAChF,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC;AAC9E,GAAG;AACH;;AAEA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;AAC7C;;AAEA;AACA;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;AACvC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI;AACzC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;AAC3F,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;AAChG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;AAC3D,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS;AAC7B,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE;AACpD,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK;AACxD,EAAE;AACF,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA,MAAM,aAAa,GAAG,EAAE;AACxB,SAAS,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC5C,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;AAChC,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc;AAC3C,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW;AAC9B,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY;AAChC,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK;AAChC,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM;AAClC,IAAI,MAAM,mBAAmB,GAAG,QAAQ,EAAE;AAC1C,IAAI,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,IAAI,QAAQ,KAAK,OAAO,EAAE;AAC7E,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU;AACnC,MAAM,CAAC,GAAG,cAAc,CAAC,SAAS;AAClC,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC;AACpD;AACA;AACA;AACA,EAAE,IAAI,gBAAgB,IAAI,CAAC,EAAE;AAC7B,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa;AAClC,IAAI,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI;AACzB,IAAI,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAC7C,IAAI,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,KAAK,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9I,IAAI,MAAM,4BAA4B,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACzG,IAAI,IAAI,4BAA4B,IAAI,aAAa,EAAE;AACvD,MAAM,KAAK,IAAI,4BAA4B;AAC3C,IAAI;AACJ,EAAE,CAAC,MAAM,IAAI,gBAAgB,IAAI,aAAa,EAAE;AAChD;AACA;AACA,IAAI,KAAK,IAAI,gBAAgB;AAC7B,EAAE;AACF,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;;AAEA;AACA,SAAS,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE;AACvD,EAAE,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAC/E,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,SAAS;AAChD,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU;AACnD,EAAE,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AAC5E,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;AAC7C,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;AAC/C,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1B,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AACzB,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;AACA,SAAS,iCAAiC,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE;AAChF,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,gBAAgB,KAAK,UAAU,EAAE;AACvC,IAAI,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7C,EAAE,CAAC,MAAM,IAAI,gBAAgB,KAAK,UAAU,EAAE;AAC9C,IAAI,IAAI,GAAG,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACvD,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC,gBAAgB,CAAC,EAAE;AAC1C,IAAI,IAAI,GAAG,0BAA0B,CAAC,gBAAgB,EAAE,QAAQ,CAAC;AACjE,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACnD,IAAI,IAAI,GAAG;AACX,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AAC7C,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;AAC7C,MAAM,KAAK,EAAE,gBAAgB,CAAC,KAAK;AACnC,MAAM,MAAM,EAAE,gBAAgB,CAAC;AAC/B,KAAK;AACL,EAAE;AACF,EAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAC/B;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE;AACrD,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,UAAU,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC9G;;AAEA;AACA;AACA;AACA,SAAS,2BAA2B,CAAC,OAAO,EAAE,KAAK,EAAE;AACrD,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY;AACvB,EAAE;AACF,EAAE,IAAI,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AACjH,EAAE,IAAI,mCAAmC,GAAG,IAAI;AAChD,EAAE,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO;AACzE,EAAE,IAAI,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO;;AAErE;AACA,EAAE,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE;AACxE,IAAI,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC;AACzD,IAAI,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,WAAW,CAAC;AAClE,IAAI,IAAI,CAAC,uBAAuB,IAAI,aAAa,CAAC,QAAQ,KAAK,OAAO,EAAE;AACxE,MAAM,mCAAmC,GAAG,IAAI;AAChD,IAAI;AACJ,IAAI,MAAM,qBAAqB,GAAG,cAAc,GAAG,CAAC,uBAAuB,IAAI,CAAC,mCAAmC,GAAG,CAAC,uBAAuB,IAAI,aAAa,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,mCAAmC,KAAK,mCAAmC,CAAC,QAAQ,KAAK,UAAU,IAAI,mCAAmC,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,IAAI,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC3c,IAAI,IAAI,qBAAqB,EAAE;AAC/B;AACA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW,CAAC;AAClE,IAAI,CAAC,MAAM;AACX;AACA,MAAM,mCAAmC,GAAG,aAAa;AACzD,IAAI;AACJ,IAAI,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;AAC5C,EAAE;AACF,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;AAC5B,EAAE,OAAO,MAAM;AACf;;AAEA;AACA;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI;AACN,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,MAAM,wBAAwB,GAAG,QAAQ,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpK,EAAE,MAAM,iBAAiB,GAAG,CAAC,GAAG,wBAAwB,EAAE,YAAY,CAAC;AACvE,EAAE,MAAM,SAAS,GAAG,iCAAiC,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;AAC9F,EAAE,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG;AACzB,EAAE,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK;AAC7B,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM;AAC/B,EAAE,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI;AAC3B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrD,IAAI,MAAM,IAAI,GAAG,iCAAiC,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;AAC3F,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AAC5B,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AAClC,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AACrC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/B,EAAE;AACF,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,KAAK,GAAG,IAAI;AACvB,IAAI,MAAM,EAAE,MAAM,GAAG,GAAG;AACxB,IAAI,CAAC,EAAE,IAAI;AACX,IAAI,CAAC,EAAE;AACP,GAAG;AACH;;AAEA,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI;AACJ,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC/B,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI;AACJ,GAAG;AACH;;AAEA,SAAS,6BAA6B,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE;AACxE,EAAE,MAAM,uBAAuB,GAAG,aAAa,CAAC,YAAY,CAAC;AAC7D,EAAE,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC;AAC1D,EAAE,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO;AACtC,EAAE,MAAM,IAAI,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC;AAC1E,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;;AAEjC;AACA;AACA,EAAE,SAAS,yBAAyB,GAAG;AACvC,IAAI,OAAO,CAAC,CAAC,GAAG,mBAAmB,CAAC,eAAe,CAAC;AACpD,EAAE;AACF,EAAE,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,EAAE;AACvE,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,iBAAiB,CAAC,eAAe,CAAC,EAAE;AACpF,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;AAC1C,IAAI;AACJ,IAAI,IAAI,uBAAuB,EAAE;AACjC,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC;AACzF,MAAM,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU;AACxD,MAAM,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS;AACvD,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE;AAChC,MAAM,yBAAyB,EAAE;AACjC,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,CAAC,uBAAuB,IAAI,eAAe,EAAE;AAC9D,IAAI,yBAAyB,EAAE;AAC/B,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,eAAe,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AACvI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AACpE,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AAClE,EAAE,OAAO;AACT,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;AACrB,IAAI,MAAM,EAAE,IAAI,CAAC;AACjB,GAAG;AACH;;AAEA,SAAS,kBAAkB,CAAC,OAAO,EAAE;AACrC,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;AAC1D;;AAEA,SAAS,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE;AAChD,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE;AACnF,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC5B,EAAE;AACF,EAAE,IAAI,eAAe,GAAG,OAAO,CAAC,YAAY;;AAE5C;AACA;AACA;AACA;AACA,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,eAAe,EAAE;AACvD,IAAI,eAAe,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI;AACxD,EAAE;AACF,EAAE,OAAO,eAAe;AACxB;;AAEA;AACA;AACA,SAAS,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC5C,EAAE,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;AAChC,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AAC3B,IAAI,OAAO,GAAG;AACd,EAAE;AACF,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;AAC/B,IAAI,IAAI,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC;AAChD,IAAI,OAAO,eAAe,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE;AACvE,MAAM,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE;AAC9E,QAAQ,OAAO,eAAe;AAC9B,MAAM;AACN,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;AACtD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE;AACF,EAAE,IAAI,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3D,EAAE,OAAO,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE;AAC3F,IAAI,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC;AAC9D,EAAE;AACF,EAAE,IAAI,YAAY,IAAI,qBAAqB,CAAC,YAAY,CAAC,IAAI,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE;AACnI,IAAI,OAAO,GAAG;AACd,EAAE;AACF,EAAE,OAAO,YAAY,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,GAAG;AAC3D;;AAEA,MAAM,eAAe,GAAG,gBAAgB,IAAI,EAAE;AAC9C,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,IAAI,eAAe;AACnE,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa;AAC5C,EAAE,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;AACjE,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,6BAA6B,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;AACnH,IAAI,QAAQ,EAAE;AACd,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,KAAK,EAAE,kBAAkB,CAAC,KAAK;AACrC,MAAM,MAAM,EAAE,kBAAkB,CAAC;AACjC;AACA,GAAG;AACH,CAAC;;AAED,SAAS,KAAK,CAAC,OAAO,EAAE;AACxB,EAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,KAAK;AACxD;;AAEA,MAAM,QAAQ,GAAG;AACjB,EAAE,qDAAqD;AACvD,EAAE,kBAAkB;AACpB,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,EAAE,eAAe;AACjB,EAAE,cAAc;AAChB,EAAE,aAAa;AACf,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE;AACF,CAAC;;AAED,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE;AAC7B,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;AACnF;;AAEA;AACA,SAAS,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;AACtC,EAAE,IAAI,EAAE,GAAG,IAAI;AACf,EAAE,IAAI,SAAS;AACf,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC;AAC1C,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,IAAI,GAAG;AACX,IAAI,YAAY,CAAC,SAAS,CAAC;AAC3B,IAAI,CAAC,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE;AAC1C,IAAI,EAAE,GAAG,IAAI;AACb,EAAE;AACF,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE;AACpC,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE;AACzB,MAAM,IAAI,GAAG,KAAK;AAClB,IAAI;AACJ,IAAI,IAAI,SAAS,KAAK,MAAM,EAAE;AAC9B,MAAM,SAAS,GAAG,CAAC;AACnB,IAAI;AACJ,IAAI,OAAO,EAAE;AACb,IAAI,MAAM,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,EAAE;AACpE,IAAI,MAAM;AACV,MAAM,IAAI;AACV,MAAM,GAAG;AACT,MAAM,KAAK;AACX,MAAM;AACN,KAAK,GAAG,wBAAwB;AAChC,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,MAAM,EAAE;AACd,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;AAC3B,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;AAC/B,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC;AACjE,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;AACjC,IAAI,MAAM,UAAU,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,UAAU,GAAG,KAAK,GAAG,CAAC,WAAW,GAAG,KAAK,GAAG,CAAC,SAAS,GAAG,IAAI;AACzG,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,UAAU;AAChB,MAAM,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI;AAC9C,KAAK;AACL,IAAI,IAAI,aAAa,GAAG,IAAI;AAC5B,IAAI,SAAS,aAAa,CAAC,OAAO,EAAE;AACpC,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB;AAChD,MAAM,IAAI,KAAK,KAAK,SAAS,EAAE;AAC/B,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,UAAU,OAAO,OAAO,EAAE;AAC1B,QAAQ;AACR,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB;AACA;AACA,UAAU,SAAS,GAAG,UAAU,CAAC,MAAM;AACvC,YAAY,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;AAChC,UAAU,CAAC,EAAE,IAAI,CAAC;AAClB,QAAQ,CAAC,MAAM;AACf,UAAU,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;AAC/B,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,MAAM,aAAa,GAAG,KAAK;AAC3B,IAAI;;AAEJ;AACA;AACA,IAAI,IAAI;AACR,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAC,aAAa,EAAE;AACnD,QAAQ,GAAG,OAAO;AAClB;AACA,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;AACjB,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAC,aAAa,EAAE,OAAO,CAAC;AAC3D,IAAI;AACJ,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;AACvB,EAAE;AACF,EAAE,OAAO,CAAC,IAAI,CAAC;AACf,EAAE,OAAO,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;AAC1D,EAAE,IAAI,OAAO,KAAK,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,EAAE;AAChB,EAAE;AACF,EAAE,MAAM;AACR,IAAI,cAAc,GAAG,IAAI;AACzB,IAAI,cAAc,GAAG,IAAI;AACzB,IAAI,aAAa,GAAG,OAAO,cAAc,KAAK,UAAU;AACxD,IAAI,WAAW,GAAG,OAAO,oBAAoB,KAAK,UAAU;AAC5D,IAAI,cAAc,GAAG;AACrB,GAAG,GAAG,OAAO;AACb,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC;AAC9C,EAAE,MAAM,SAAS,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC,IAAI,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;AAC5K,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AAChC,IAAI,cAAc,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE;AAClE,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,IAAI,cAAc,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjE,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,WAAW,IAAI,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI;AACxF,EAAE,IAAI,cAAc,GAAG,EAAE;AACzB,EAAE,IAAI,cAAc,GAAG,IAAI;AAC3B,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,IAAI;AAChD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI;AAC7B,MAAM,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,cAAc,IAAI,QAAQ,EAAE;AACzF;AACA;AACA,QAAQ,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC1C,QAAQ,oBAAoB,CAAC,cAAc,CAAC;AAC5C,QAAQ,cAAc,GAAG,qBAAqB,CAAC,MAAM;AACrD,UAAU,IAAI,eAAe;AAC7B,UAAU,CAAC,eAAe,GAAG,cAAc,KAAK,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;AACzF,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,MAAM,MAAM,EAAE;AACd,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,WAAW,IAAI,CAAC,cAAc,EAAE;AACxC,MAAM,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;AACzC,IAAI;AACJ,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;AACtC,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,WAAW,GAAG,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,IAAI;AAC5E,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,SAAS,EAAE;AACf,EAAE;AACF,EAAE,SAAS,SAAS,GAAG;AACvB,IAAI,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC;AACxD,IAAI,IAAI,WAAW,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;AACjE,MAAM,MAAM,EAAE;AACd,IAAI;AACJ,IAAI,WAAW,GAAG,WAAW;AAC7B,IAAI,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC;AAC9C,EAAE;AACF,EAAE,MAAM,EAAE;AACV,EAAE,OAAO,MAAM;AACf,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AAClC,MAAM,cAAc,IAAI,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtE,MAAM,cAAc,IAAI,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtE,IAAI,CAAC,CAAC;AACN,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,EAAE;AACpC,IAAI,CAAC,gBAAgB,GAAG,cAAc,KAAK,IAAI,IAAI,gBAAgB,CAAC,UAAU,EAAE;AAChF,IAAI,cAAc,GAAG,IAAI;AACzB,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,oBAAoB,CAAC,OAAO,CAAC;AACnC,IAAI;AACJ,EAAE,CAAC;AACH;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,GAAG,QAAQ;;AAUvB;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,GAAG,OAAO;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAG,MAAM;;AAiBnB;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,GAAG,OAAO;;AAcrB;AACA;AACA;AACA;AACA,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,KAAK;AAC1D;AACA;AACA;AACA,EAAE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE;AACzB,EAAE,MAAM,aAAa,GAAG;AACxB,IAAI,QAAQ;AACZ,IAAI,GAAG;AACP,GAAG;AACH,EAAE,MAAM,iBAAiB,GAAG;AAC5B,IAAI,GAAG,aAAa,CAAC,QAAQ;AAC7B,IAAI,EAAE,EAAE;AACR,GAAG;AACH,EAAE,OAAO,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE;AAChD,IAAI,GAAG,aAAa;AACpB,IAAI,QAAQ,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;;AC1wBD;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACO,MAAMyT,WAAW,GAAG;AACzBC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACR,EAAA,KAAK,EAAE;AACT,CAAC;;AAeD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,wBAAwB,GAAGA,CAACC,eAAe,EAAEC,gBAAgB,GAAG,QAAQ,KAAK;AACxF;EACA,IAAI,CAACD,eAAe,IAAI,CAACA,eAAe,CAAClY,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtD,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACA,EAAA,MAAMoY,KAAK,GAAGF,eAAe,CAAC3T,KAAK,CAAC,KAAK,CAAC;AAC1C,EAAA,MAAM8T,UAAU,GAAG;AAAEC,IAAAA,EAAE,EAAEH;AAAiB,GAAC,CAAA;;AAE3C,EAAA,KAAK,MAAMI,IAAI,IAAIH,KAAK,EAAE;AACxB,IAAA,IAAIG,IAAI,CAACvY,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB;MACA,MAAM,CAACwY,UAAU,EAAEC,SAAS,CAAC,GAAGF,IAAI,CAAChU,KAAK,CAAC,GAAG,CAAC;AAC/C,MAAA,IAAIqT,WAAW,CAACY,UAAU,CAAC,KAAKjV,SAAS,EAAE;AACzC8U,QAAAA,UAAU,CAACG,UAAU,CAAC,GAAGC,SAAS;AACpC,MAAA;AACF,IAAA,CAAC,MAAM;AACL;MACAJ,UAAU,CAACC,EAAE,GAAGC,IAAI;AACtB,IAAA;AACF,EAAA;AAEA,EAAA,OAAOF,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,sBAAsB,GAAGA,CAACC,oBAAoB,EAAER,gBAAgB,GAAG,QAAQ,KAAK;EAC3F,IAAI,CAACQ,oBAAoB,EAAE;AACzB,IAAA,OAAOR,gBAAgB;AACzB,EAAA;;AAEA;AACA,EAAA,MAAMS,aAAa,GAAG5V,MAAM,CAAC6V,UAAU;;AAEvC;AACA,EAAA,IAAIC,eAAe,GAAGH,oBAAoB,CAACL,EAAE,IAAIH,gBAAgB;;AAEjE;AACA,EAAA,MAAMY,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AAEvD,EAAA,KAAK,MAAMP,UAAU,IAAIO,eAAe,EAAE;AACxC,IAAA,MAAMC,QAAQ,GAAGpB,WAAW,CAACY,UAAU,CAAC;IACxC,IAAII,aAAa,IAAII,QAAQ,IAAIL,oBAAoB,CAACH,UAAU,CAAC,EAAE;AACjEM,MAAAA,eAAe,GAAGH,oBAAoB,CAACH,UAAU,CAAC;AACpD,IAAA;AACF,EAAA;AAEA,EAAA,OAAOM,eAAe;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,yBAAyB,GAAGxS,QAAQ,IAAI;EACnD,MAAMyS,SAAS,GAAG,EAAE;EAEpB,KAAK,MAAMV,UAAU,IAAIja,MAAM,CAAC1C,IAAI,CAAC+b,WAAW,CAAC,EAAE;AACjD,IAAA,MAAMoB,QAAQ,GAAGpB,WAAW,CAACY,UAAU,CAAC;IACxC,MAAMW,GAAG,GAAGnW,MAAM,CAACoW,UAAU,CAAC,CAAA,YAAA,EAAeJ,QAAQ,CAAA,GAAA,CAAK,CAAC;AAE3DG,IAAAA,GAAG,CAAC5Z,gBAAgB,CAAC,QAAQ,EAAEkH,QAAQ,CAAC;IACxCyS,SAAS,CAACrO,IAAI,CAAC;MAAEsO,GAAG;AAAEhc,MAAAA,OAAO,EAAEsJ;AAAS,KAAC,CAAC;AAC5C,EAAA;AAEA,EAAA,OAAOyS,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,0BAA0B,GAAGH,SAAS,IAAI;AACrD,EAAA,KAAK,MAAM;IAAEC,GAAG;AAAEhc,IAAAA;GAAS,IAAI+b,SAAS,EAAE;AACxCC,IAAAA,GAAG,CAAC1Z,mBAAmB,CAAC,QAAQ,EAAEtC,OAAO,CAAC;AAC5C,EAAA;AACF,CAAC;;AC/HD;AACA;AACA;AACA;AACA;AACA;;;AA8BA;AACA;AACA;;AAEA,MAAM0K,MAAI,GAAG,MAAM;AACnB,MAAMsB,UAAQ,GAAG,SAAS;AAC1B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMuM,YAAU,GAAG,QAAQ;AAC3B,MAAMC,SAAO,GAAG,KAAK;AACrB,MAAMC,cAAY,GAAG,SAAS;AAC9B,MAAMC,gBAAc,GAAG,WAAW;AAClC,MAAM9J,gBAAc,GAAG,WAAW;AAClC,MAAMC,iBAAe,GAAG,YAAY;AACpC,MAAM8J,UAAQ,GAAG,MAAM;AACvB,MAAMC,SAAO,GAAG,KAAK;AACrB,MAAMC,WAAS,GAAG,OAAO;AACzB,MAAMC,WAAS,GAAG,GAAG;AACrB,MAAMC,kBAAkB,GAAG,CAAC;AAE5B,MAAMC,mBAAmB,GAAG,GAAG;AAE/B,MAAM7E,YAAU,GAAG,CAAA,IAAA,EAAO7L,WAAS,CAAA,CAAE;AACrC,MAAM8L,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAM2L,YAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM4L,aAAW,GAAG,CAAA,KAAA,EAAQ5L,WAAS,CAAA,CAAE;AACvC,MAAM6D,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAC/D,MAAMiN,sBAAsB,GAAG,CAAA,OAAA,EAAU3Q,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AACnE,MAAMkN,oBAAoB,GAAG,CAAA,KAAA,EAAQ5Q,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE/D,MAAMN,iBAAe,GAAG,MAAM;AAE9B,MAAMQ,sBAAoB,GAAG,uDAAuD;AAEpF,MAAMiN,eAAa,GAAG,OAAO;AAC7B,MAAMC,gBAAgB,GAAG,UAAU;AACnC,MAAMC,uBAAuB,GAAG,uBAAuB;AACvD,MAAMC,mBAAmB,GAAG,aAAa;AACzC,MAAMC,wBAAsB,GAAG,0CAA0C;AAEzE,MAAMC,iBAAiB,GAAG,cAAc;AACxC,MAAMC,iBAAiB,GAAG,WAAW;AAErC,MAAMC,uBAAuB,GAAGhC,SAAS,IAAI;EAC3C,IAAItS,OAAK,EAAE,EAAE;AACX,IAAA,OAAOsS,SAAS,CAACnZ,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAACA,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;AACnF,EAAA;AAEA,EAAA,OAAOmZ,SAAS,CAACnZ,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;AACnF,CAAC;AAED,MAAMob,YAAY,GAAGA,CAACC,EAAE,EAAEC,EAAE,EAAEC,EAAE,KAC7B,CAACF,EAAE,CAACG,CAAC,GAAGD,EAAE,CAACC,CAAC,KAAKF,EAAE,CAACG,CAAC,GAAGF,EAAE,CAACE,CAAC,CAAC,GAAK,CAACH,EAAE,CAACE,CAAC,GAAGD,EAAE,CAACC,CAAC,KAAKH,EAAE,CAACI,CAAC,GAAGF,EAAE,CAACE,CAAC,CAAE;AAEnE,MAAMpT,SAAO,GAAG;AACdqT,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,QAAQ,EAAE,iBAAiB;AAC3BC,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,OAAO,EAAE,SAAS;AAClBzD,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACd0D,EAAAA,cAAc,EAAE,IAAI;AACpBC,EAAAA,IAAI,EAAE,IAAI;AACV5C,EAAAA,SAAS,EAAE8B,iBAAiB;AAC5Be,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,cAAc,EAAE,MAAM;AACtBC,EAAAA,YAAY,EAAE1B;AAChB,CAAC;AAED,MAAMnS,aAAW,GAAG;AAClBoT,EAAAA,SAAS,EAAE,kBAAkB;AAC7BC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE,0BAA0B;AACrCC,EAAAA,OAAO,EAAE,QAAQ;AACjBzD,EAAAA,MAAM,EAAE,yBAAyB;AACjC0D,EAAAA,cAAc,EAAE,wBAAwB;AACxCC,EAAAA,IAAI,EAAE,gBAAgB;AACtB5C,EAAAA,SAAS,EAAE,QAAQ;AACnB6C,EAAAA,SAAS,EAAE,yBAAyB;AACpCC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,IAAI,SAAS3S,aAAa,CAAC;AAC/B,EAAA,OAAO4S,cAAc,GAAA,CAAA,MAAG,IAAI9e,GAAG,EAAE,GAAA;AAEjCwL,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,IAAI,OAAOuP,eAAe,KAAK,WAAW,EAAE;AAC1C,MAAA,MAAM,IAAI3O,SAAS,CAAC,kEAAkE,CAAC;AACzF,IAAA;AAEA,IAAA,KAAK,CAAC1N,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAAC4T,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,oBAAoB,GAAG,EAAE;IAC9B,IAAI,CAACC,qBAAqB,GAAG,IAAI;AACjC,IAAA,IAAI,CAACC,OAAO,GAAG,IAAI,CAAC/S,QAAQ,CAAC/K,UAAU;AACvC,IAAA,IAAI,CAAC+d,UAAU,GAAG,IAAI,CAACD,OAAO,CAACxW,SAAS,EAAErG,QAAQ,CAAC,SAAS,CAAC;AAC7D,IAAA,IAAI,CAAC+c,aAAa,GAAG,IAAIjhB,GAAG,EAAE;AAC9B,IAAA,IAAI,CAACkhB,qBAAqB,GAAG,IAAIlhB,GAAG,EAAE;IACtC,IAAI,CAACmhB,gBAAgB,GAAG,IAAI;AAE5B,IAAA,IAAI,CAACC,KAAK,GAAG,IAAI,CAACnT,OAAO,CAACoS,IAAI,IAAI,IAAI,CAACgB,SAAS,EAAE;AAElD,IAAA,IAAI,CAACC,mBAAmB,GAAG,IAAI,CAACF,KAAK,EAAEne,UAAU;IAEjD,IAAI,CAACse,0BAA0B,EAAE;IACjC,IAAI,CAACC,sBAAsB,EAAE;AAC/B,EAAA;;AAEA;EACA,WAAW7U,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuF,EAAAA,MAAMA,GAAG;AACP,IAAA,OAAO,IAAI,CAACkJ,QAAQ,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;AACpD,EAAA;AAEAA,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAIpR,UAAU,CAAC,IAAI,CAAC4D,QAAQ,CAAC,IAAI,IAAI,CAACsN,QAAQ,EAAE,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMrX,aAAa,GAAG;MACpBA,aAAa,EAAE,IAAI,CAAC+J;KACrB;AAED,IAAA,MAAMyT,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEgM,YAAU,EAAE/V,aAAa,CAAC;IAEhF,IAAIwd,SAAS,CAAC5P,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC6P,oBAAoB,EAAE;IAC3B,IAAI,CAACC,eAAe,EAAE;AAEtB,IAAA,IAAI,cAAc,IAAI7Y,QAAQ,CAAC6B,eAAe,IAAI,CAAC,IAAI,CAACoW,OAAO,CAAC7W,OAAO,CAACmV,mBAAmB,CAAC,EAAE;AAC5F,MAAA,KAAK,MAAMnf,OAAO,IAAI,EAAE,CAACmP,MAAM,CAAC,GAAGvG,QAAQ,CAAC8Y,IAAI,CAACpS,QAAQ,CAAC,EAAE;QAC1DhN,YAAY,CAACyC,EAAE,CAAC/E,OAAO,EAAE,WAAW,EAAE8K,IAAI,CAAC;AAC7C,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACgD,QAAQ,CAAC6T,KAAK,CAAC;AAAEC,MAAAA,YAAY,EAAE;AAAM,KAAC,CAAC;IAC5C,IAAI,CAAC9T,QAAQ,CAAChH,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;IAEnD,IAAI,CAACoa,KAAK,CAAC7W,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;IACzC,IAAI,CAACzD,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;IAE5C,IAAI,IAAI,CAACsP,OAAO,EAAE;MAChB,IAAI,CAACA,OAAO,CAACxW,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;AAC7C,IAAA;AAEAiP,IAAAA,IAAI,CAACC,cAAc,CAACpM,GAAG,CAAC,IAAI,CAAC;IAC7B/R,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEiM,aAAW,EAAEhW,aAAa,CAAC;AACjE,EAAA;AAEAsX,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAInR,UAAU,CAAC,IAAI,CAAC4D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACsN,QAAQ,EAAE,EAAE;AACjD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMrX,aAAa,GAAG;MACpBA,aAAa,EAAE,IAAI,CAAC+J;KACrB;AAED,IAAA,IAAI,CAAC+T,aAAa,CAAC9d,aAAa,CAAC;AACnC,EAAA;AAEAmK,EAAAA,OAAOA,GAAG;IACR,IAAI,CAAC4T,gBAAgB,EAAE;IACvB,IAAI,CAACC,4BAA4B,EAAE;IACnC,IAAI,CAACC,2BAA2B,EAAE;IAClC,IAAI,CAACC,iBAAiB,EAAE;IACxB,IAAI,CAACC,wBAAwB,EAAE;AAC/B1B,IAAAA,IAAI,CAACC,cAAc,CAACxf,MAAM,CAAC,IAAI,CAAC;IAChC,KAAK,CAACiN,OAAO,EAAE;AACjB,EAAA;AAEAiU,EAAAA,MAAMA,GAAG;IACP,IAAI,IAAI,CAACzB,gBAAgB,EAAE;MACzB,IAAI,CAAC0B,uBAAuB,EAAE;AAChC,IAAA;AACF,EAAA;;AAEA;AACAjB,EAAAA,SAASA,GAAG;AACV,IAAA,OAAOjS,cAAc,CAACpO,IAAI,CAAC,IAAI,CAACgN,QAAQ,EAAEkR,eAAa,CAAC,CAAC,CAAC,CAAC,IACzD9P,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC9B,QAAQ,EAAEkR,eAAa,CAAC,CAAC,CAAC,CAAC,IACpD9P,cAAc,CAACG,OAAO,CAAC2P,eAAa,EAAE,IAAI,CAAC6B,OAAO,CAAC;AACvD,EAAA;EAEAgB,aAAaA,CAAC9d,aAAa,EAAE;AAC3B,IAAA,MAAMse,SAAS,GAAG/f,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEkM,YAAU,EAAEjW,aAAa,CAAC;IAChF,IAAIse,SAAS,CAAC1Q,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAACsQ,iBAAiB,EAAE;AAExB,IAAA,IAAI,cAAc,IAAIrZ,QAAQ,CAAC6B,eAAe,EAAE;AAC9C,MAAA,KAAK,MAAMzK,OAAO,IAAI,EAAE,CAACmP,MAAM,CAAC,GAAGvG,QAAQ,CAAC8Y,IAAI,CAACpS,QAAQ,CAAC,EAAE;QAC1DhN,YAAY,CAACC,GAAG,CAACvC,OAAO,EAAE,WAAW,EAAE8K,IAAI,CAAC;AAC9C,MAAA;AACF,IAAA;IAEA,IAAI,CAACgX,gBAAgB,EAAE;IACvB,IAAI,CAACC,4BAA4B,EAAE;IAEnC,IAAI,CAACb,KAAK,CAAC7W,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;IAC5C,IAAI,CAACzD,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;IAE/C,IAAI,IAAI,CAACsP,OAAO,EAAE;MAChB,IAAI,CAACA,OAAO,CAACxW,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;AAChD,IAAA;IAEA,IAAI,CAACzD,QAAQ,CAAChH,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;IACpDF,WAAW,CAACG,mBAAmB,CAAC,IAAI,CAACma,KAAK,EAAE,WAAW,CAAC;IACxDta,WAAW,CAACG,mBAAmB,CAAC,IAAI,CAACma,KAAK,EAAE,SAAS,CAAC;AACtDV,IAAAA,IAAI,CAACC,cAAc,CAACxf,MAAM,CAAC,IAAI,CAAC;IAChCqB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEmM,cAAY,EAAElW,aAAa,CAAC;AAClE,EAAA;EAEA8I,UAAUA,CAACC,MAAM,EAAE;AACjBA,IAAAA,MAAM,GAAG,KAAK,CAACD,UAAU,CAACC,MAAM,CAAC;IAEjC,IAAI,OAAOA,MAAM,CAACsT,SAAS,KAAK,QAAQ,IAAI,CAAC7W,WAAS,CAACuD,MAAM,CAACsT,SAAS,CAAC,IACtE,OAAOtT,MAAM,CAACsT,SAAS,CAACnE,qBAAqB,KAAK,UAAU,EAC5D;MACA,MAAM,IAAIvO,SAAS,CAAC,CAAA,EAAGf,MAAI,CAACgB,WAAW,EAAE,CAAA,8FAAA,CAAgG,CAAC;AAC5I,IAAA;AAEA,IAAA,OAAOb,MAAM;AACf,EAAA;AAEA2U,EAAAA,eAAeA,GAAG;AAChB,IAAA,IAAI,IAAI,CAAC1T,OAAO,CAACkS,OAAO,KAAK,QAAQ,EAAE;MACrCrZ,WAAW,CAACC,gBAAgB,CAAC,IAAI,CAACqa,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;AAC7D,MAAA;AACF,IAAA;AAEA,IAAA,IAAIoB,gBAAgB,GAAG,IAAI,CAACxU,QAAQ;AAEpC,IAAA,IAAI,IAAI,CAACC,OAAO,CAACqS,SAAS,KAAK,QAAQ,EAAE;MACvCkC,gBAAgB,GAAG,IAAI,CAACzB,OAAO;IACjC,CAAC,MAAM,IAAItX,WAAS,CAAC,IAAI,CAACwE,OAAO,CAACqS,SAAS,CAAC,EAAE;MAC5CkC,gBAAgB,GAAG7Y,UAAU,CAAC,IAAI,CAACsE,OAAO,CAACqS,SAAS,CAAC;IACvD,CAAC,MAAM,IAAI,OAAO,IAAI,CAACrS,OAAO,CAACqS,SAAS,KAAK,QAAQ,EAAE;AACrDkC,MAAAA,gBAAgB,GAAG,IAAI,CAACvU,OAAO,CAACqS,SAAS;AAC3C,IAAA;AAEA,IAAA,IAAI,CAACgC,uBAAuB,CAACE,gBAAgB,CAAC;AAE9C,IAAA,IAAI,CAAC5B,gBAAgB,GAAG6B,UAAU,CAChCD,gBAAgB,EAChB,IAAI,CAACpB,KAAK,EACV,MAAM,IAAI,CAACkB,uBAAuB,CAACE,gBAAgB,CACrD,CAAC;AACH,EAAA;AAEA,EAAA,MAAMF,uBAAuBA,CAACE,gBAAgB,GAAG,IAAI,EAAE;AACrD,IAAA,IAAI,CAAC,IAAI,CAACpB,KAAK,EAAE;AACf,MAAA;AACF,IAAA;IAEA,IAAI,CAACoB,gBAAgB,EAAE;AACrB,MAAA,IAAI,IAAI,CAACvU,OAAO,CAACqS,SAAS,KAAK,QAAQ,EAAE;QACvCkC,gBAAgB,GAAG,IAAI,CAACzB,OAAO;MACjC,CAAC,MAAM,IAAItX,WAAS,CAAC,IAAI,CAACwE,OAAO,CAACqS,SAAS,CAAC,EAAE;QAC5CkC,gBAAgB,GAAG7Y,UAAU,CAAC,IAAI,CAACsE,OAAO,CAACqS,SAAS,CAAC;MACvD,CAAC,MAAM,IAAI,OAAO,IAAI,CAACrS,OAAO,CAACqS,SAAS,KAAK,QAAQ,EAAE;AACrDkC,QAAAA,gBAAgB,GAAG,IAAI,CAACvU,OAAO,CAACqS,SAAS;AAC3C,MAAA,CAAC,MAAM;QACLkC,gBAAgB,GAAG,IAAI,CAACxU,QAAQ;AAClC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMyP,SAAS,GAAG,IAAI,CAACiF,aAAa,EAAE;AACtC,IAAA,MAAMC,UAAU,GAAG,IAAI,CAACC,sBAAsB,EAAE;IAChD,MAAMxC,cAAc,GAAG,IAAI,CAACyC,kBAAkB,CAACpF,SAAS,EAAEkF,UAAU,CAAC;IAErE,MAAM,IAAI,CAACG,sBAAsB,CAC/BN,gBAAgB,EAChB,IAAI,CAACpB,KAAK,EACVhB,cAAc,CAAC3C,SAAS,EACxB2C,cAAc,CAACuC,UAAU,EACzBvC,cAAc,CAACG,QACjB,CAAC;AACH,EAAA;AAEAjF,EAAAA,QAAQA,GAAG;IACT,OAAO,IAAI,CAAC8F,KAAK,CAAC7W,SAAS,CAACrG,QAAQ,CAACuN,iBAAe,CAAC;AACvD,EAAA;AAEAiR,EAAAA,aAAaA,GAAG;AACd,IAAA,MAAMjF,SAAS,GAAG,IAAI,CAACqD,qBAAqB,GAC1CpD,sBAAsB,CAAC,IAAI,CAACoD,qBAAqB,EAAEvB,iBAAiB,CAAC,GACrE,IAAI,CAACtR,OAAO,CAACwP,SAAS;IAExB,OAAOgC,uBAAuB,CAAChC,SAAS,CAAC;AAC3C,EAAA;AAEA8D,EAAAA,0BAA0BA,GAAG;AAC3B,IAAA,IAAI,CAACT,qBAAqB,GAAG7D,wBAAwB,CAAC,IAAI,CAAChP,OAAO,CAACwP,SAAS,EAAE8B,iBAAiB,CAAC;IAEhG,IAAI,IAAI,CAACuB,qBAAqB,EAAE;MAC9B,IAAI,CAACiC,yBAAyB,EAAE;AAClC,IAAA;AACF,EAAA;AAEAA,EAAAA,yBAAyBA,GAAG;IAC1B,IAAI,CAACb,2BAA2B,EAAE;AAClC,IAAA,IAAI,CAACrB,oBAAoB,GAAG5C,yBAAyB,CAAC,MAAM;AAC1D,MAAA,IAAI,IAAI,CAAC3C,QAAQ,EAAE,EAAE;QACnB,IAAI,CAACgH,uBAAuB,EAAE;AAChC,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAJ,EAAAA,2BAA2BA,GAAG;AAC5B7D,IAAAA,0BAA0B,CAAC,IAAI,CAACwC,oBAAoB,CAAC;IACrD,IAAI,CAACA,oBAAoB,GAAG,EAAE;AAChC,EAAA;AAEAmC,EAAAA,UAAUA,GAAG;IACX,MAAM;AAAEtG,MAAAA,MAAM,EAAEuG;KAAc,GAAG,IAAI,CAAChV,OAAO;AAE7C,IAAA,IAAI,OAAOgV,YAAY,KAAK,QAAQ,EAAE;AACpC,MAAA,OAAOA,YAAY,CAAC1Z,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAAChO,KAAK,IAAIqF,MAAM,CAAC0S,QAAQ,CAAC/X,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE,IAAA;AAEA,IAAA,IAAI,OAAOgiB,YAAY,KAAK,UAAU,EAAE;AACtC,MAAA,OAAO,CAAC;QAAExF,SAAS;AAAEyF,QAAAA;AAAM,OAAC,KAAK;QAC/B,MAAMC,MAAM,GAAGF,YAAY,CAAC;UAAExF,SAAS;UAAE6C,SAAS,EAAE4C,KAAK,CAAC5C,SAAS;UAAE8C,QAAQ,EAAEF,KAAK,CAACE;AAAS,SAAC,EAAE,IAAI,CAACpV,QAAQ,CAAC;AAC/G,QAAA,OAAOmV,MAAM;MACf,CAAC;AACH,IAAA;AAEA,IAAA,OAAOF,YAAY;AACrB,EAAA;AAEAL,EAAAA,sBAAsBA,GAAG;AACvB,IAAA,MAAMS,WAAW,GAAG,IAAI,CAACL,UAAU,EAAE;IAErC,MAAML,UAAU,GAAG,CACjBjG,MAAM,CACJ,OAAO2G,WAAW,KAAK,UAAU,GAC/BA,WAAW,GACX;AAAEC,MAAAA,QAAQ,EAAED,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAAEE,MAAAA,SAAS,EAAEF,WAAW,CAAC,CAAC,CAAC,IAAI;KAClE,CAAC,EACD5G,IAAI,CAAC;AACH+G,MAAAA,kBAAkB,EAAE,IAAI,CAACC,sBAAsB;KAChD,CAAC,EACF9G,KAAK,CAAC;AACJsD,MAAAA,QAAQ,EAAE,IAAI,CAAChS,OAAO,CAACgS,QAAQ,KAAK,iBAAiB,GAAG,mBAAmB,GAAG,IAAI,CAAChS,OAAO,CAACgS;AAC7F,KAAC,CAAC,CACH;AAED,IAAA,OAAO0C,UAAU;AACnB,EAAA;AAEAc,EAAAA,sBAAsBA,GAAG;AACvB,IAAA,MAAMhG,SAAS,GAAG,IAAI,CAACiF,aAAa,EAAE;AAEtC,IAAA,MAAMgB,WAAW,GAAG;MAClBC,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC;AACrE,MAAA,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC;AACtD,MAAA,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC;MACtDC,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC;AACrE,MAAA,WAAW,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,YAAY,CAAC;AACtD,MAAA,SAAS,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC;MACtDC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;MACrE,aAAa,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC;MACnF,WAAW,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC;MAC/EC,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC;MACrE,YAAY,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC;MACnF,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY;KAC/E;AAED,IAAA,OAAOJ,WAAW,CAACjG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;AACrE,EAAA;AAEAoF,EAAAA,kBAAkBA,CAACpF,SAAS,EAAEkF,UAAU,EAAE;AACxC,IAAA,MAAMoB,aAAa,GAAG;MACpBtG,SAAS;MACTkF,UAAU;AACVpC,MAAAA,QAAQ,EAAE,IAAI,CAACtS,OAAO,CAACsS;KACxB;IAED,OAAO;AACL,MAAA,GAAGwD,aAAa;AAChB,MAAA,GAAG1Y,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAACmS,cAAc,EAAE,CAAC7X,SAAS,EAAEwb,aAAa,CAAC;KACnE;AACH,EAAA;AAEA/B,EAAAA,gBAAgBA,GAAG;IACjB,IAAI,IAAI,CAACpB,gBAAgB,EAAE;MACzB,IAAI,CAACA,gBAAgB,EAAE;MACvB,IAAI,CAACA,gBAAgB,GAAG,IAAI;AAC9B,IAAA;AACF,EAAA;AAEAoD,EAAAA,aAAaA,GAAG;IACd,MAAM;AAAE9D,MAAAA;KAAW,GAAG,IAAI,CAACjS,OAAO;IAClC,IAAIiS,SAAS,KAAK,KAAK,EAAE;AACvB,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,OAAOA,SAAS,KAAK,IAAI,GAAGpX,QAAQ,CAAC8Y,IAAI,GAAGjY,UAAU,CAACuW,SAAS,CAAC;AACnE,EAAA;AAEAwB,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,MAAMxB,SAAS,GAAG,IAAI,CAAC8D,aAAa,EAAE;AACtC,IAAA,IAAI,CAAC9D,SAAS,IAAI,CAAC,IAAI,CAACkB,KAAK,EAAE;AAC7B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACA,KAAK,CAACne,UAAU,KAAKid,SAAS,EAAE;AACvCA,MAAAA,SAAS,CAAC+D,MAAM,CAAC,IAAI,CAAC7C,KAAK,CAAC;AAC9B,IAAA;AACF,EAAA;AAEAa,EAAAA,4BAA4BA,GAAG;IAC7B,IAAI,CAAC,IAAI,CAACX,mBAAmB,IAAI,CAAC,IAAI,CAACF,KAAK,EAAE;AAC5C,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACA,KAAK,CAACne,UAAU,KAAK,IAAI,CAACqe,mBAAmB,EAAE;MACtD,IAAI,CAACA,mBAAmB,CAAC2C,MAAM,CAAC,IAAI,CAAC7C,KAAK,CAAC;AAC7C,IAAA;AACF,EAAA;AAEA,EAAA,MAAM0B,sBAAsBA,CAACxC,SAAS,EAAE8C,QAAQ,EAAE3F,SAAS,EAAEkF,UAAU,EAAEpC,QAAQ,GAAG,UAAU,EAAE;AAC9F,IAAA,IAAI,CAAC6C,QAAQ,CAACc,WAAW,EAAE;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAM;MAAEpE,CAAC;MAAEC,CAAC;AAAEtC,MAAAA,SAAS,EAAE0G;AAAe,KAAC,GAAG,MAAM5H,eAAe,CAC/D+D,SAAS,EACT8C,QAAQ,EACR;MAAE3F,SAAS;MAAEkF,UAAU;AAAEpC,MAAAA;AAAS,KACpC,CAAC;AAED,IAAA,IAAI,CAAC6C,QAAQ,CAACc,WAAW,EAAE;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;AAEA3gB,IAAAA,MAAM,CAAC6gB,MAAM,CAAChB,QAAQ,CAACrH,KAAK,EAAE;AAC5BsI,MAAAA,QAAQ,EAAE9D,QAAQ;MAClBuD,IAAI,EAAE,CAAA,EAAGhE,CAAC,CAAA,EAAA,CAAI;MACd8D,GAAG,EAAE,CAAA,EAAG7D,CAAC,CAAA,EAAA,CAAI;AACbuE,MAAAA,MAAM,EAAE;AACV,KAAC,CAAC;IAEFxd,WAAW,CAACC,gBAAgB,CAACqc,QAAQ,EAAE,WAAW,EAAEe,cAAc,CAAC;AACnE,IAAA,OAAOA,cAAc;AACvB,EAAA;;AAEA;AACA;AACA;;AAEA3C,EAAAA,sBAAsBA,GAAG;AACvB,IAAA,IAAI,IAAI,CAACvT,OAAO,CAACuS,cAAc,KAAK,OAAO,IAAI,IAAI,CAACvS,OAAO,CAACuS,cAAc,KAAK,MAAM,EAAE;AACrFhe,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACmc,KAAK,EAAE,YAAY,EAAEhC,uBAAuB,EAAEhd,KAAK,IAAI;AAC1E,QAAA,IAAI,CAACmiB,sBAAsB,CAACniB,KAAK,CAAC;AACpC,MAAA,CAAC,CAAC;AAEFI,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACmc,KAAK,EAAE,YAAY,EAAEjC,gBAAgB,EAAE/c,KAAK,IAAI;AACnE,QAAA,IAAI,CAACoiB,eAAe,CAACpiB,KAAK,CAAC;AAC7B,MAAA,CAAC,CAAC;MAEFI,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACmc,KAAK,EAAE,WAAW,EAAEhf,KAAK,IAAI;AAChD,QAAA,IAAI,CAACqiB,mBAAmB,CAACriB,KAAK,CAAC;AACjC,MAAA,CAAC,CAAC;AACJ,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC6L,OAAO,CAACuS,cAAc,KAAK,OAAO,IAAI,IAAI,CAACvS,OAAO,CAACuS,cAAc,KAAK,MAAM,EAAE;AACrFhe,MAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACmc,KAAK,EAAE,OAAO,EAAEhC,uBAAuB,EAAEhd,KAAK,IAAI;AACrE,QAAA,IAAI,CAACsiB,sBAAsB,CAACtiB,KAAK,CAAC;AACpC,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEAmiB,sBAAsBA,CAACniB,KAAK,EAAE;IAC5B,MAAMsD,OAAO,GAAGtD,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACkV,uBAAuB,CAAC;IAC7D,IAAI,CAAC1Z,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,MAAMif,cAAc,GAAGjf,OAAO,CAACwE,OAAO,CAACiV,gBAAgB,CAAC;IACxD,MAAMyF,OAAO,GAAGxV,cAAc,CAACG,OAAO,CAAC2P,eAAa,EAAEyF,cAAc,CAAC;IACrE,IAAI,CAACC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACC,0BAA0B,CAACD,OAAO,CAAC;AACxC,IAAA,IAAI,CAACE,qBAAqB,CAACH,cAAc,CAAC;IAC1C,IAAI,CAACI,YAAY,CAACrf,OAAO,EAAEkf,OAAO,EAAED,cAAc,CAAC;AACrD,EAAA;EAEAH,eAAeA,CAACpiB,KAAK,EAAE;IACrB,MAAMuiB,cAAc,GAAGviB,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACiV,gBAAgB,CAAC;IAC7D,MAAMyF,OAAO,GAAGxV,cAAc,CAACG,OAAO,CAAC2P,eAAa,EAAEyF,cAAc,CAAC;AACrE,IAAA,IAAI,CAACC,OAAO,IAAI,CAAC,IAAI,CAAC3D,aAAa,CAAC5gB,GAAG,CAACukB,OAAO,CAAC,EAAE;AAChD,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACI,sBAAsB,CAAC5iB,KAAK,EAAEwiB,OAAO,CAAC,EAAE;AAC/C,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACK,qBAAqB,CAACL,OAAO,EAAED,cAAc,CAAC;AACrD,EAAA;EAEAD,sBAAsBA,CAACtiB,KAAK,EAAE;IAC5B,MAAMsD,OAAO,GAAGtD,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACkV,uBAAuB,CAAC;IAC7D,IAAI,CAAC1Z,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;IAEAtD,KAAK,CAACyO,cAAc,EAAE;IACtBzO,KAAK,CAAC8iB,eAAe,EAAE;AAEvB,IAAA,MAAMP,cAAc,GAAGjf,OAAO,CAACwE,OAAO,CAACiV,gBAAgB,CAAC;IACxD,MAAMyF,OAAO,GAAGxV,cAAc,CAACG,OAAO,CAAC2P,eAAa,EAAEyF,cAAc,CAAC;IACrE,IAAI,CAACC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAAC3D,aAAa,CAAC5gB,GAAG,CAACukB,OAAO,CAAC,EAAE;AACnC,MAAA,IAAI,CAACO,aAAa,CAACP,OAAO,EAAED,cAAc,CAAC;AAC7C,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACG,qBAAqB,CAACH,cAAc,CAAC;MAC1C,IAAI,CAACI,YAAY,CAACrf,OAAO,EAAEkf,OAAO,EAAED,cAAc,CAAC;AACrD,IAAA;AACF,EAAA;AAEAI,EAAAA,YAAYA,CAACrf,OAAO,EAAEkf,OAAO,EAAED,cAAc,EAAE;IAC7C,IAAI,IAAI,CAAC1D,aAAa,CAAC5gB,GAAG,CAACukB,OAAO,CAAC,EAAE;AACnC,MAAA;AACF,IAAA;AAEAlf,IAAAA,OAAO,CAACsB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAC7CtB,IAAAA,OAAO,CAACsB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAE7C4d,IAAAA,OAAO,CAACra,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;AACtCkT,IAAAA,cAAc,CAACpa,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;IAE7C,MAAM2T,OAAO,GAAG,IAAI,CAACC,sBAAsB,CAAC3f,OAAO,EAAEkf,OAAO,EAAED,cAAc,CAAC;IAC7E,IAAI,CAAC1D,aAAa,CAAChhB,GAAG,CAAC2kB,OAAO,EAAEQ,OAAO,CAAC;AAExC5iB,IAAAA,YAAY,CAACyC,EAAE,CAAC2f,OAAO,EAAE,YAAY,EAAE,MAAM;AAC3C,MAAA,IAAI,CAACC,0BAA0B,CAACD,OAAO,CAAC;AAC1C,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAO,EAAAA,aAAaA,CAACP,OAAO,EAAED,cAAc,EAAE;IACrC,IAAI,CAAC,IAAI,CAAC1D,aAAa,CAAC5gB,GAAG,CAACukB,OAAO,CAAC,EAAE;AACpC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMU,cAAc,GAAGlW,cAAc,CAAC5L,IAAI,CAAC,CAAA,EAAG2b,gBAAgB,CAAA,CAAA,EAAID,eAAa,CAAA,CAAA,EAAIzN,iBAAe,CAAA,CAAE,EAAEmT,OAAO,CAAC;AAC9G,IAAA,KAAK,MAAMW,MAAM,IAAID,cAAc,EAAE;AACnC,MAAA,MAAME,aAAa,GAAGD,MAAM,CAACrb,OAAO,CAACiV,gBAAgB,CAAC;AACtD,MAAA,IAAI,CAACgG,aAAa,CAACI,MAAM,EAAEC,aAAa,CAAC;AAC3C,IAAA;IAEA,MAAM9f,OAAO,GAAG0J,cAAc,CAACG,OAAO,CAAC6P,uBAAuB,EAAEuF,cAAc,CAAC;IAE/E,MAAMS,OAAO,GAAG,IAAI,CAACnE,aAAa,CAAC1gB,GAAG,CAACqkB,OAAO,CAAC;AAC/C,IAAA,IAAIQ,OAAO,EAAE;AACXA,MAAAA,OAAO,EAAE;AACX,IAAA;AAEA,IAAA,IAAI,CAACnE,aAAa,CAAC9f,MAAM,CAACyjB,OAAO,CAAC;AAClCpiB,IAAAA,YAAY,CAACC,GAAG,CAACmiB,OAAO,EAAE,YAAY,CAAC;AAEvC,IAAA,IAAIlf,OAAO,EAAE;AACXA,MAAAA,OAAO,CAACsB,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;AAChD,IAAA;AAEA4d,IAAAA,OAAO,CAACra,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;AACzCkT,IAAAA,cAAc,CAACpa,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;AAEhDmT,IAAAA,OAAO,CAAC7I,KAAK,CAACsI,QAAQ,GAAG,EAAE;AAC3BO,IAAAA,OAAO,CAAC7I,KAAK,CAAC+H,IAAI,GAAG,EAAE;AACvBc,IAAAA,OAAO,CAAC7I,KAAK,CAAC6H,GAAG,GAAG,EAAE;AACtBgB,IAAAA,OAAO,CAAC7I,KAAK,CAACuI,MAAM,GAAG,EAAE;AAC3B,EAAA;AAEAnC,EAAAA,iBAAiBA,GAAG;IAClB,KAAK,MAAM,CAACyC,OAAO,CAAC,IAAI,IAAI,CAAC3D,aAAa,EAAE;AAC1C,MAAA,MAAM0D,cAAc,GAAGC,OAAO,CAAC1a,OAAO,CAACiV,gBAAgB,CAAC;AACxD,MAAA,IAAI,CAACgG,aAAa,CAACP,OAAO,EAAED,cAAc,CAAC;AAC7C,IAAA;AACF,EAAA;EAEAG,qBAAqBA,CAACW,qBAAqB,EAAE;AAC3C,IAAA,MAAM7K,MAAM,GAAG6K,qBAAqB,CAACxiB,UAAU;AAC/C,IAAA,MAAMyiB,eAAe,GAAGtW,cAAc,CAAC5L,IAAI,CAAC,CAAA,EAAG2b,gBAAgB,CAAA,GAAA,EAAMD,eAAa,CAAA,CAAA,EAAIzN,iBAAe,CAAA,CAAE,EAAEmJ,MAAM,CAAC;AAEhH,IAAA,KAAK,MAAM+K,WAAW,IAAID,eAAe,EAAE;AACzC,MAAA,MAAME,cAAc,GAAGD,WAAW,CAACzb,OAAO,CAACiV,gBAAgB,CAAC;MAC5D,IAAIyG,cAAc,KAAKH,qBAAqB,EAAE;AAC5C,QAAA,IAAI,CAACN,aAAa,CAACQ,WAAW,EAAEC,cAAc,CAAC;AACjD,MAAA;AACF,IAAA;AACF,EAAA;AAEAP,EAAAA,sBAAsBA,CAAC3f,OAAO,EAAEkf,OAAO,EAAED,cAAc,EAAE;IACvD,MAAMnC,gBAAgB,GAAGmC,cAAc;AACvC,IAAA,MAAMlH,SAAS,GAAGgC,uBAAuB,CAACD,iBAAiB,CAAC;AAC5D,IAAA,MAAMmD,UAAU,GAAG,CACjBjG,MAAM,CAAC;AAAE4G,MAAAA,QAAQ,EAAE,CAAC;AAAEC,MAAAA,SAAS,EAAE;KAAI,CAAC,EACtC9G,IAAI,CAAC;AACH+G,MAAAA,kBAAkB,EAAE,CAClB/D,uBAAuB,CAAC,aAAa,CAAC,EACtCA,uBAAuB,CAAC,SAAS,CAAC,EAClCA,uBAAuB,CAAC,WAAW,CAAC;KAEvC,CAAC,EACF9C,KAAK,CAAC;AAAEkJ,MAAAA,OAAO,EAAE;AAAE,KAAC,CAAC,CACtB;AAED,IAAA,MAAMC,cAAc,GAAGA,MAAM,IAAI,CAAChD,sBAAsB,CAACN,gBAAgB,EAAEoC,OAAO,EAAEnH,SAAS,EAAEkF,UAAU,CAAC;AAE1GmD,IAAAA,cAAc,EAAE;AAChB,IAAA,OAAOrD,UAAU,CAACD,gBAAgB,EAAEoC,OAAO,EAAEkB,cAAc,CAAC;AAC9D,EAAA;AAEAb,EAAAA,qBAAqBA,CAACL,OAAO,EAAED,cAAc,EAAE;AAC7C,IAAA,IAAI,CAACE,0BAA0B,CAACD,OAAO,CAAC;AAExC,IAAA,MAAMmB,SAAS,GAAGha,UAAU,CAAC,MAAM;AACjC,MAAA,IAAI,CAACoZ,aAAa,CAACP,OAAO,EAAED,cAAc,CAAC;AAC3C,MAAA,IAAI,CAACzD,qBAAqB,CAAC/f,MAAM,CAACyjB,OAAO,CAAC;AAC5C,IAAA,CAAC,EAAE,IAAI,CAAC3W,OAAO,CAACwS,YAAY,CAAC;IAE7B,IAAI,CAACS,qBAAqB,CAACjhB,GAAG,CAAC2kB,OAAO,EAAEmB,SAAS,CAAC;AACpD,EAAA;EAEAlB,0BAA0BA,CAACD,OAAO,EAAE;IAClC,MAAMmB,SAAS,GAAG,IAAI,CAAC7E,qBAAqB,CAAC3gB,GAAG,CAACqkB,OAAO,CAAC;AACzD,IAAA,IAAImB,SAAS,EAAE;MACbtN,YAAY,CAACsN,SAAS,CAAC;AACvB,MAAA,IAAI,CAAC7E,qBAAqB,CAAC/f,MAAM,CAACyjB,OAAO,CAAC;AAC5C,IAAA;AACF,EAAA;AAEAxC,EAAAA,wBAAwBA,GAAG;IACzB,KAAK,MAAM2D,SAAS,IAAI,IAAI,CAAC7E,qBAAqB,CAACngB,MAAM,EAAE,EAAE;MAC3D0X,YAAY,CAACsN,SAAS,CAAC;AACzB,IAAA;AAEA,IAAA,IAAI,CAAC7E,qBAAqB,CAAC8E,KAAK,EAAE;AACpC,EAAA;;AAEA;AACA;AACA;;EAEAvB,mBAAmBA,CAACriB,KAAK,EAAE;IACzB,IAAI,CAAC+e,gBAAgB,GAAG;MACtBrB,CAAC,EAAE1d,KAAK,CAACyR,OAAO;MAChBkM,CAAC,EAAE3d,KAAK,CAAC0R,OAAO;AAChBmS,MAAAA,SAAS,EAAEC,IAAI,CAACC,GAAG;KACpB;AACH,EAAA;AAEAnB,EAAAA,sBAAsBA,CAAC5iB,KAAK,EAAEwiB,OAAO,EAAE;AACrC,IAAA,IAAI,CAAC,IAAI,CAACzD,gBAAgB,EAAE;AAC1B,MAAA,OAAO,KAAK;AACd,IAAA;AAEA,IAAA,MAAMiF,WAAW,GAAGxB,OAAO,CAACzI,qBAAqB,EAAE;AACnD,IAAA,MAAMkK,UAAU,GAAG;MAAEvG,CAAC,EAAE1d,KAAK,CAACyR,OAAO;MAAEkM,CAAC,EAAE3d,KAAK,CAAC0R;KAAS;AACzD,IAAA,MAAMwS,OAAO,GAAG;AAAExG,MAAAA,CAAC,EAAE,IAAI,CAACqB,gBAAgB,CAACrB,CAAC;AAAEC,MAAAA,CAAC,EAAE,IAAI,CAACoB,gBAAgB,CAACpB;KAAG;AAE1E,IAAA,MAAMwG,KAAK,GAAGpb,OAAK,EAAE;IACrB,MAAMqb,OAAO,GAAGD,KAAK,GAAGH,WAAW,CAACvC,KAAK,GAAGuC,WAAW,CAACtC,IAAI;AAC5D,IAAA,MAAM2C,SAAS,GAAG;AAAE3G,MAAAA,CAAC,EAAE0G,OAAO;MAAEzG,CAAC,EAAEqG,WAAW,CAACxC;KAAK;AACpD,IAAA,MAAM8C,YAAY,GAAG;AAAE5G,MAAAA,CAAC,EAAE0G,OAAO;MAAEzG,CAAC,EAAEqG,WAAW,CAACzC;KAAQ;IAE1D,OAAO,IAAI,CAACgD,gBAAgB,CAACN,UAAU,EAAEC,OAAO,EAAEG,SAAS,EAAEC,YAAY,CAAC;AAC5E,EAAA;EAEAC,gBAAgBA,CAACC,KAAK,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE;IAClC,MAAMC,EAAE,GAAGtH,YAAY,CAACkH,KAAK,EAAEC,EAAE,EAAEC,EAAE,CAAC;IACtC,MAAMG,EAAE,GAAGvH,YAAY,CAACkH,KAAK,EAAEE,EAAE,EAAEC,EAAE,CAAC;IACtC,MAAMG,EAAE,GAAGxH,YAAY,CAACkH,KAAK,EAAEG,EAAE,EAAEF,EAAE,CAAC;AAEtC,IAAA,MAAMM,MAAM,GAAIH,EAAE,GAAG,CAAC,IAAMC,EAAE,GAAG,CAAE,IAAKC,EAAE,GAAG,CAAE;AAC/C,IAAA,MAAME,MAAM,GAAIJ,EAAE,GAAG,CAAC,IAAMC,EAAE,GAAG,CAAE,IAAKC,EAAE,GAAG,CAAE;AAE/C,IAAA,OAAO,EAAEC,MAAM,IAAIC,MAAM,CAAC;AAC5B,EAAA;;AAEA;AACA;AACA;;AAEAC,EAAAA,eAAeA,CAAC;IAAElnB,GAAG;AAAE6C,IAAAA;AAAO,GAAC,EAAE;IAC/B,MAAMskB,WAAW,GAAGtkB,MAAM,CAACkH,OAAO,CAACgV,eAAa,CAAC,IAAI,IAAI,CAACkC,KAAK;IAC/D,MAAMtJ,KAAK,GAAG1I,cAAc,CAAC5L,IAAI,CAAC,CAAA,SAAA,EAAY8b,wBAAsB,CAAA,CAAE,EAAEgI,WAAW,CAAC,CACjF/f,MAAM,CAACrH,OAAO,IAAI2J,SAAS,CAAC3J,OAAO,CAAC,CAAC;AAExC,IAAA,IAAI,CAAC4X,KAAK,CAACxS,MAAM,EAAE;AACjB,MAAA;AACF,IAAA;IAEA0G,oBAAoB,CAAC8L,KAAK,EAAE9U,MAAM,EAAE7C,GAAG,KAAKse,gBAAc,EAAE,CAAC3G,KAAK,CAAC9S,QAAQ,CAAChC,MAAM,CAAC,CAAC,CAAC6e,KAAK,EAAE;AAC9F,EAAA;EAEA0F,qBAAqBA,CAACnlB,KAAK,EAAE;IAC3B,MAAM;MAAEjC,GAAG;AAAE6C,MAAAA;AAAO,KAAC,GAAGZ,KAAK;AAC7B,IAAA,MAAMmkB,KAAK,GAAGpb,OAAK,EAAE;AAErB,IAAA,MAAMqc,QAAQ,GAAGjB,KAAK,GAAG5R,gBAAc,GAAGC,iBAAe;AACzD,IAAA,MAAM6S,OAAO,GAAGlB,KAAK,GAAG3R,iBAAe,GAAGD,gBAAc;AAExD,IAAA,MAAMgQ,cAAc,GAAG3hB,MAAM,CAACkH,OAAO,CAACiV,gBAAgB,CAAC;IACvD,MAAMuI,gBAAgB,GAAG/C,cAAc,IAAI3hB,MAAM,CAAC0M,OAAO,CAAC0P,uBAAuB,CAAC;IAElF,IAAI,CAACjf,GAAG,KAAKye,WAAS,IAAIze,GAAG,KAAK0e,WAAS,KAAK6I,gBAAgB,EAAE;MAChEtlB,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;MAEvB,MAAMN,OAAO,GAAGxV,cAAc,CAACG,OAAO,CAAC2P,eAAa,EAAEyF,cAAc,CAAC;AACrE,MAAA,IAAIC,OAAO,EAAE;AACX,QAAA,IAAI,CAACE,qBAAqB,CAACH,cAAc,CAAC;QAC1C,IAAI,CAACI,YAAY,CAAC/hB,MAAM,EAAE4hB,OAAO,EAAED,cAAc,CAAC;AAClDgD,QAAAA,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,SAAS,GAAGxY,cAAc,CAACG,OAAO,CAAC+P,wBAAsB,EAAEsF,OAAO,CAAC;AACzE,UAAA,IAAIgD,SAAS,EAAE;YACbA,SAAS,CAAC/F,KAAK,EAAE;AACnB,UAAA;AACF,QAAA,CAAC,CAAC;AACJ,MAAA;AAEA,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,IAAI1hB,GAAG,KAAKqnB,QAAQ,IAAIE,gBAAgB,EAAE;MACxCtlB,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;MAEvB,MAAMN,OAAO,GAAGxV,cAAc,CAACG,OAAO,CAAC2P,eAAa,EAAEyF,cAAc,CAAC;AACrE,MAAA,IAAIC,OAAO,EAAE;AACX,QAAA,IAAI,CAACE,qBAAqB,CAACH,cAAc,CAAC;QAC1C,IAAI,CAACI,YAAY,CAAC/hB,MAAM,EAAE4hB,OAAO,EAAED,cAAc,CAAC;AAClDgD,QAAAA,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,SAAS,GAAGxY,cAAc,CAACG,OAAO,CAAC+P,wBAAsB,EAAEsF,OAAO,CAAC;AACzE,UAAA,IAAIgD,SAAS,EAAE;YACbA,SAAS,CAAC/F,KAAK,EAAE;AACnB,UAAA;AACF,QAAA,CAAC,CAAC;AACJ,MAAA;AAEA,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,IAAI1hB,GAAG,KAAKsnB,OAAO,EAAE;AACnB,MAAA,MAAMH,WAAW,GAAGtkB,MAAM,CAACkH,OAAO,CAACgV,eAAa,CAAC;AACjD,MAAA,MAAM2I,oBAAoB,GAAGP,WAAW,EAAEpd,OAAO,CAACiV,gBAAgB,CAAC;AAEnE,MAAA,IAAI0I,oBAAoB,EAAE;QACxBzlB,KAAK,CAACyO,cAAc,EAAE;QACtBzO,KAAK,CAAC8iB,eAAe,EAAE;QAEvB,MAAM4C,aAAa,GAAG1Y,cAAc,CAACG,OAAO,CAAC6P,uBAAuB,EAAEyI,oBAAoB,CAAC;AAC3F,QAAA,IAAI,CAAC1C,aAAa,CAACmC,WAAW,EAAEO,oBAAoB,CAAC;AACrD,QAAA,IAAIC,aAAa,EAAE;UACjBA,aAAa,CAACjG,KAAK,EAAE;AACvB,QAAA;AAEA,QAAA,OAAO,IAAI;AACb,MAAA;AACF,IAAA;AAEA,IAAA,IAAI1hB,GAAG,KAAKue,UAAQ,IAAIve,GAAG,KAAKwe,SAAO,EAAE;MACvCvc,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;AAEvB,MAAA,MAAMoC,WAAW,GAAGtkB,MAAM,CAACkH,OAAO,CAACgV,eAAa,CAAC;MACjD,MAAMpH,KAAK,GAAG1I,cAAc,CAAC5L,IAAI,CAAC,CAAA,SAAA,EAAY8b,wBAAsB,CAAA,CAAE,EAAEgI,WAAW,CAAC,CACjF/f,MAAM,CAACrH,OAAO,IAAI2J,SAAS,CAAC3J,OAAO,CAAC,CAAC;MAExC,IAAI4X,KAAK,CAACxS,MAAM,EAAE;AAChB,QAAA,MAAMyiB,UAAU,GAAG5nB,GAAG,KAAKue,UAAQ,GAAG5G,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACxS,MAAM,GAAG,CAAC,CAAC;QACxEyiB,UAAU,CAAClG,KAAK,EAAE;AACpB,MAAA;AAEA,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,OAAO,KAAK;AACd,EAAA;EAEA,OAAOmG,UAAUA,CAAC5lB,KAAK,EAAE;AACvB,IAAA,IAAIA,KAAK,CAACiQ,MAAM,KAAKyM,kBAAkB,IAAK1c,KAAK,CAACM,IAAI,KAAK,OAAO,IAAIN,KAAK,CAACjC,GAAG,KAAKoe,SAAQ,EAAE;AAC5F,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAMne,QAAQ,IAAIsgB,IAAI,CAACC,cAAc,EAAE;AAC1C,MAAA,IAAIvgB,QAAQ,CAAC6N,OAAO,CAAC+R,SAAS,KAAK,KAAK,EAAE;AACxC,QAAA;AACF,MAAA;AAEA,MAAA,MAAMiI,YAAY,GAAG7lB,KAAK,CAAC6lB,YAAY,EAAE;MACzC,MAAMC,YAAY,GAAGD,YAAY,CAACjjB,QAAQ,CAAC5E,QAAQ,CAACghB,KAAK,CAAC;AAC1D,MAAA,IACE6G,YAAY,CAACjjB,QAAQ,CAAC5E,QAAQ,CAAC4N,QAAQ,CAAC,IACvC5N,QAAQ,CAAC6N,OAAO,CAAC+R,SAAS,KAAK,QAAQ,IAAI,CAACkI,YAAa,IACzD9nB,QAAQ,CAAC6N,OAAO,CAAC+R,SAAS,KAAK,SAAS,IAAIkI,YAAa,EAC1D;AACA,QAAA;AACF,MAAA;AAEA,MAAA,IAAI9nB,QAAQ,CAACghB,KAAK,CAACld,QAAQ,CAAC9B,KAAK,CAACY,MAAM,CAAC,KAAMZ,KAAK,CAACM,IAAI,KAAK,OAAO,IAAIN,KAAK,CAACjC,GAAG,KAAKoe,SAAO,IAAK,oCAAoC,CAAC5Q,IAAI,CAACvL,KAAK,CAACY,MAAM,CAAC4N,OAAO,CAAC,CAAC,EAAE;AACnK,QAAA;AACF,MAAA;AAEA,MAAA,MAAM3M,aAAa,GAAG;QAAEA,aAAa,EAAE7D,QAAQ,CAAC4N;OAAU;AAE1D,MAAA,IAAI5L,KAAK,CAACM,IAAI,KAAK,OAAO,EAAE;QAC1BuB,aAAa,CAAC0M,UAAU,GAAGvO,KAAK;AAClC,MAAA;AAEAhC,MAAAA,QAAQ,CAAC2hB,aAAa,CAAC9d,aAAa,CAAC;AACvC,IAAA;AACF,EAAA;EAEA,OAAOkkB,qBAAqBA,CAAC/lB,KAAK,EAAE;IAClC,MAAMgmB,OAAO,GAAG,iBAAiB,CAACza,IAAI,CAACvL,KAAK,CAACY,MAAM,CAAC4N,OAAO,CAAC;AAC5D,IAAA,MAAMyX,aAAa,GAAGjmB,KAAK,CAACjC,GAAG,KAAKme,YAAU;AAC9C,IAAA,MAAMgK,eAAe,GAAG,CAAC9J,cAAY,EAAEC,gBAAc,CAAC,CAACzZ,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAC;AAC1E,IAAA,MAAMooB,kBAAkB,GAAG,CAAC5T,gBAAc,EAAEC,iBAAe,CAAC,CAAC5P,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAC;AAChF,IAAA,MAAMqoB,gBAAgB,GAAG,CAAC9J,UAAQ,EAAEC,SAAO,CAAC,CAAC3Z,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAC;AAChE,IAAA,MAAMsoB,mBAAmB,GAAG,CAAC7J,WAAS,EAAEC,WAAS,CAAC,CAAC7Z,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAC;IAEtE,MAAMunB,gBAAgB,GAAGtlB,KAAK,CAACY,MAAM,CAAC0M,OAAO,CAAC0P,uBAAuB,CAAC;AAEtE,IAAA,IAAI,CAACkJ,eAAe,IAAI,CAACD,aAAa,IAAI,CAACE,kBAAkB,IAAI,CAACC,gBAAgB,IAC9E,EAAEC,mBAAmB,IAAIf,gBAAgB,CAAC,EAAE;AAC9C,MAAA;AACF,IAAA;AAEA,IAAA,IAAIU,OAAO,IAAI,CAACC,aAAa,EAAE;AAC7B,MAAA;AACF,IAAA;IAEA,MAAMK,eAAe,GAAG,IAAI,CAAChZ,OAAO,CAACuC,sBAAoB,CAAC,GACxD,IAAI,GACH7C,cAAc,CAACU,IAAI,CAAC,IAAI,EAAEmC,sBAAoB,CAAC,CAAC,CAAC,CAAC,IACjD7C,cAAc,CAACpO,IAAI,CAAC,IAAI,EAAEiR,sBAAoB,CAAC,CAAC,CAAC,CAAC,IAClD7C,cAAc,CAACG,OAAO,CAAC0C,sBAAoB,EAAE7P,KAAK,CAACE,cAAc,CAACW,UAAU,CAAE;IAElF,IAAI,CAACylB,eAAe,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMtoB,QAAQ,GAAGsgB,IAAI,CAAC/R,mBAAmB,CAAC+Z,eAAe,CAAC;AAE1D,IAAA,IAAI,CAACH,kBAAkB,IAAIC,gBAAgB,IAAKC,mBAAmB,IAAIf,gBAAiB,KAAKtnB,QAAQ,CAACmnB,qBAAqB,CAACnlB,KAAK,CAAC,EAAE;AAClI,MAAA;AACF,IAAA;AAEA,IAAA,IAAIkmB,eAAe,EAAE;MACnBlmB,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;MACvB9kB,QAAQ,CAACob,IAAI,EAAE;AACfpb,MAAAA,QAAQ,CAACinB,eAAe,CAACjlB,KAAK,CAAC;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,IAAIimB,aAAa,IAAIjoB,QAAQ,CAACkb,QAAQ,EAAE,EAAE;MACxClZ,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;MAEvB,MAAMoC,WAAW,GAAGllB,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACgV,eAAa,CAAC;AACvD,MAAA,MAAM2I,oBAAoB,GAAGP,WAAW,EAAEpd,OAAO,CAACiV,gBAAgB,CAAC;MAEnE,IAAI0I,oBAAoB,IAAIznB,QAAQ,CAAC6gB,aAAa,CAACzgB,IAAI,GAAG,CAAC,EAAE;QAC3D,MAAMsnB,aAAa,GAAG1Y,cAAc,CAACG,OAAO,CAAC6P,uBAAuB,EAAEyI,oBAAoB,CAAC;AAC3FznB,QAAAA,QAAQ,CAAC+kB,aAAa,CAACmC,WAAW,EAAEO,oBAAoB,CAAC;AACzD,QAAA,IAAIC,aAAa,EAAE;UACjBA,aAAa,CAACjG,KAAK,EAAE;AACvB,QAAA;AAEA,QAAA;AACF,MAAA;MAEAzhB,QAAQ,CAACmb,IAAI,EAAE;MACfmN,eAAe,CAAC7G,KAAK,EAAE;AACzB,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEArf,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEkW,sBAAsB,EAAE/M,sBAAoB,EAAEyO,IAAI,CAACyH,qBAAqB,CAAC;AACnG3lB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEkW,sBAAsB,EAAEE,eAAa,EAAEwB,IAAI,CAACyH,qBAAqB,CAAC;AAC5F3lB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAEwO,IAAI,CAACsH,UAAU,CAAC;AAChExlB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEmW,oBAAoB,EAAEyB,IAAI,CAACsH,UAAU,CAAC;AAChExlB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;EACrFA,KAAK,CAACyO,cAAc,EAAE;EACtB6P,IAAI,CAAC/R,mBAAmB,CAAC,IAAI,CAAC,CAACyD,MAAM,EAAE;AACzC,CAAC,CAAC;;ACh8BF;AACA;AACA;AACA;AACA;AACA;;;AAQA;AACA;AACA;;AAEA,MAAMvF,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMuM,UAAU,GAAG,QAAQ;AAC3B,MAAMC,OAAO,GAAG,KAAK;AACrB,MAAMC,cAAY,GAAG,SAAS;AAC9B,MAAMC,gBAAc,GAAG,WAAW;AAClC,MAAMC,UAAQ,GAAG,MAAM;AACvB,MAAMC,SAAO,GAAG,KAAK;AACrB,MAAMC,SAAS,GAAG,OAAO;AACzB,MAAMC,SAAS,GAAG,GAAG;AAErB,MAAM8J,cAAY,GAAG,CAAA,MAAA,EAASta,WAAS,CAAA,CAAE;AACzC,MAAM2L,YAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM4L,aAAW,GAAG,CAAA,KAAA,EAAQ5L,WAAS,CAAA,CAAE;AACvC,MAAM6L,YAAU,GAAG,CAAA,IAAA,EAAO7L,WAAS,CAAA,CAAE;AACrC,MAAM8L,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAM6D,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE/D,MAAMN,iBAAe,GAAG,MAAM;AAC9B,MAAMmX,mBAAmB,GAAG,UAAU;AACtC,MAAMC,sBAAsB,GAAG,sBAAsB;AAErD,MAAM5W,sBAAoB,GAAG,6BAA6B;AAC1D,MAAMiN,eAAa,GAAG,OAAO;AAC7B,MAAM4J,kBAAkB,GAAG,2BAA2B;AACtD,MAAMxJ,sBAAsB,GAAG,yDAAyD;AACxF,MAAMyJ,cAAc,GAAG,iBAAiB;AACxC,MAAMC,qBAAqB,GAAG,wBAAwB;AACtD,MAAMC,mBAAmB,GAAG,sBAAsB;AAElD,MAAMtc,SAAO,GAAG;AACdsT,EAAAA,QAAQ,EAAE,iBAAiB;AAC3BiJ,EAAAA,QAAQ,EAAE,KAAK;AACfra,EAAAA,IAAI,EAAE,IAAI;AACV6N,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACdyM,EAAAA,WAAW,EAAE,EAAE;AACf1L,EAAAA,SAAS,EAAE,cAAc;AACzB2L,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,eAAe,EAAE;AACnB,CAAC;AAED,MAAMzc,aAAW,GAAG;AAClBqT,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BiJ,EAAAA,QAAQ,EAAE,SAAS;AACnBra,EAAAA,IAAI,EAAE,eAAe;AACrB6N,EAAAA,MAAM,EAAE,yBAAyB;AACjCyM,EAAAA,WAAW,EAAE,QAAQ;AACrB1L,EAAAA,SAAS,EAAE,QAAQ;AACnB2L,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,eAAe,EAAE;AACnB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAASvb,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAACuc,OAAO,GAAG,IAAI,CAACvb,QAAQ;AAC5B,IAAA,IAAI,CAACoT,KAAK,GAAGhS,cAAc,CAACpO,IAAI,CAAC,IAAI,CAACuoB,OAAO,EAAErK,eAAa,CAAC,CAAC,CAAC,CAAC;AAChE,IAAA,IAAI,CAACsK,aAAa,GAAGpa,cAAc,CAACG,OAAO,CAACwZ,cAAc,EAAE,IAAI,CAACQ,OAAO,CAAC;AACzE,IAAA,IAAI,CAACE,YAAY,GAAGra,cAAc,CAACG,OAAO,CAACyZ,qBAAqB,EAAE,IAAI,CAAC5H,KAAK,CAAC;AAC7E,IAAA,IAAI,CAACsI,UAAU,GAAGta,cAAc,CAACG,OAAO,CAAC0Z,mBAAmB,EAAE,IAAI,CAAC7H,KAAK,CAAC;IACzE,IAAI,CAACuI,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,aAAa,GAAG,IAAI;IAEzB,IAAI,CAACC,kBAAkB,EAAE;IACzB,IAAI,CAACC,mBAAmB,EAAE;IAC1B,IAAI,CAACC,qBAAqB,EAAE;IAC5B,IAAI,CAAC3S,kBAAkB,EAAE;AAC3B,EAAA;;AAEA;EACA,WAAWzK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuF,EAAAA,MAAMA,GAAG;AACP,IAAA,OAAO,IAAI,CAACkJ,QAAQ,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;AACpD,EAAA;AAEAA,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAIpR,UAAU,CAAC,IAAI,CAACmf,OAAO,CAAC,IAAI,IAAI,CAACjO,QAAQ,EAAE,EAAE;AAC/C,MAAA;AACF,IAAA;IAEA,MAAMmG,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAAC6jB,OAAO,EAAEvP,YAAU,CAAC;IAChE,IAAIyH,SAAS,CAAC5P,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC+X,aAAa,CAACpO,IAAI,EAAE;IAEzB,IAAI,IAAI,CAACiO,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAACxoB,KAAK,GAAG,EAAE;AAC5B,MAAA,IAAI,CAAC+oB,YAAY,CAAC,EAAE,CAAC;MACrBrC,qBAAqB,CAAC,MAAM,IAAI,CAAC8B,YAAY,CAAC5H,KAAK,EAAE,CAAC;AACxD,IAAA;IAEArf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAAC6jB,OAAO,EAAEtP,aAAW,CAAC;AACjD,EAAA;AAEAsB,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE,EAAE;AACpB,MAAA;AACF,IAAA;IAEA,MAAMiH,SAAS,GAAG/f,YAAY,CAACkD,OAAO,CAAC,IAAI,CAAC6jB,OAAO,EAAErP,YAAU,CAAC;IAChE,IAAIqI,SAAS,CAAC1Q,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC+X,aAAa,CAACrO,IAAI,EAAE;IACzB/Y,YAAY,CAACkD,OAAO,CAAC,IAAI,CAAC6jB,OAAO,EAAEpP,cAAY,CAAC;AAClD,EAAA;AAEA/L,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAACwb,aAAa,EAAE;AACtB,MAAA,IAAI,CAACA,aAAa,CAACxb,OAAO,EAAE;MAC5B,IAAI,CAACwb,aAAa,GAAG,IAAI;AAC3B,IAAA;IAEA,IAAI,IAAI,CAACD,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAACzoB,MAAM,EAAE;MAC1B,IAAI,CAACyoB,YAAY,GAAG,IAAI;AAC1B,IAAA;IAEAnnB,YAAY,CAACC,GAAG,CAAC,IAAI,CAAC2e,KAAK,EAAE/S,WAAS,CAAC;IACvC7L,YAAY,CAACC,GAAG,CAAC,IAAI,CAAC8mB,OAAO,EAAElb,WAAS,CAAC;IAEzC,KAAK,CAACD,OAAO,EAAE;AACjB,EAAA;;AAEA;AACAkN,EAAAA,QAAQA,GAAG;IACT,OAAO,IAAI,CAAC8F,KAAK,CAAC7W,SAAS,CAACrG,QAAQ,CAACuN,iBAAe,CAAC;AACvD,EAAA;AAEAoY,EAAAA,kBAAkBA,GAAG;IACnB,MAAM;AAAEhb,MAAAA;KAAM,GAAG,IAAI,CAACZ,OAAO;IAC7B,IAAI,CAACY,IAAI,EAAE;AACT,MAAA;AACF,IAAA;IAEA,IAAI,CAAC8a,YAAY,GAAG7gB,QAAQ,CAACmhB,aAAa,CAAC,OAAO,CAAC;AACnD,IAAA,IAAI,CAACN,YAAY,CAACjnB,IAAI,GAAG,QAAQ;AACjC,IAAA,IAAI,CAACinB,YAAY,CAAC9a,IAAI,GAAGA,IAAI;AAC7B,IAAA,IAAI,CAAC8a,YAAY,CAAC1oB,KAAK,GAAG,EAAE;AAC5B,IAAA,IAAI,CAACsoB,OAAO,CAACtmB,UAAU,CAACinB,YAAY,CAAC,IAAI,CAACP,YAAY,EAAE,IAAI,CAACJ,OAAO,CAAC;AACvE,EAAA;AAEAO,EAAAA,mBAAmBA,GAAG;IACpB,IAAI,CAACF,aAAa,GAAG,IAAIlJ,IAAI,CAAC,IAAI,CAAC6I,OAAO,EAAE;MAC1ClJ,IAAI,EAAE,IAAI,CAACe,KAAK;MAChBpB,SAAS,EAAE,IAAI,CAAC/R,OAAO,CAACib,QAAQ,GAAG,SAAS,GAAG,IAAI;AACnDjJ,MAAAA,QAAQ,EAAE,IAAI,CAAChS,OAAO,CAACgS,QAAQ;AAC/BvD,MAAAA,MAAM,EAAE,IAAI,CAACzO,OAAO,CAACyO,MAAM;AAC3Be,MAAAA,SAAS,EAAE,IAAI,CAACxP,OAAO,CAACwP;AAC1B,KAAC,CAAC;AACJ,EAAA;AAEAsM,EAAAA,qBAAqBA,GAAG;AACtB,IAAA,MAAMI,aAAa,GAAG,IAAI,CAACC,iBAAiB,EAAE;AAC9C,IAAA,IAAID,aAAa,CAAC7kB,MAAM,GAAG,CAAC,EAAE;MAC5B,IAAI,CAAC+kB,iBAAiB,EAAE;MACxB,IAAI,CAACC,kBAAkB,EAAE;AAC3B,IAAA,CAAC,MAAM;MACL,IAAI,CAACC,gBAAgB,EAAE;AACzB,IAAA;AACF,EAAA;AAEAnT,EAAAA,kBAAkBA,GAAG;AACnB5U,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACmc,KAAK,EAAE,OAAO,EAAE0H,kBAAkB,EAAE1mB,KAAK,IAAI;MAChE,MAAMooB,IAAI,GAAGpoB,KAAK,CAACY,MAAM,CAACkH,OAAO,CAAC4e,kBAAkB,CAAC;AACrD,MAAA,IAAI,CAAC0B,IAAI,IAAIpgB,UAAU,CAACogB,IAAI,CAAC,EAAE;AAC7B,QAAA;AACF,MAAA;MAEApoB,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;AACvB,MAAA,IAAI,CAACuF,WAAW,CAACD,IAAI,CAAC;AACxB,IAAA,CAAC,CAAC;IAEFhoB,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACskB,OAAO,EAAE,SAAS,EAAEnnB,KAAK,IAAI;AAChD,MAAA,IAAI,CAACsoB,oBAAoB,CAACtoB,KAAK,CAAC;AAClC,IAAA,CAAC,CAAC;IAEFI,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACmc,KAAK,EAAE,SAAS,EAAEhf,KAAK,IAAI;AAC9C,MAAA,IAAI,CAACuoB,kBAAkB,CAACvoB,KAAK,CAAC;AAChC,IAAA,CAAC,CAAC;IAEF,IAAI,IAAI,CAACqnB,YAAY,EAAE;MACrBjnB,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACwkB,YAAY,EAAE,OAAO,EAAE,MAAM;QAChD,IAAI,CAACO,YAAY,CAAC,IAAI,CAACP,YAAY,CAACxoB,KAAK,CAAC;AAC5C,MAAA,CAAC,CAAC;MAEFuB,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACwkB,YAAY,EAAE,SAAS,EAAErnB,KAAK,IAAI;AACrD,QAAA,IAAIA,KAAK,CAACjC,GAAG,KAAKse,gBAAc,EAAE;UAChCrc,KAAK,CAACyO,cAAc,EAAE;AACtB,UAAA,MAAMiH,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,UAAA,IAAI9S,KAAK,CAACxS,MAAM,GAAG,CAAC,EAAE;AACpBwS,YAAAA,KAAK,CAAC,CAAC,CAAC,CAAC+J,KAAK,EAAE;AAClB,UAAA;AACF,QAAA;AAEA,QAAA,IAAIzf,KAAK,CAACjC,GAAG,KAAKme,UAAU,EAAE;UAC5B,IAAI,CAAC/C,IAAI,EAAE;AACX,UAAA,IAAI,CAACgO,OAAO,CAAC1H,KAAK,EAAE;AACtB,QAAA;AACF,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEA4I,WAAWA,CAACD,IAAI,EAAE;AAChB,IAAA,IAAI,IAAI,CAACvc,OAAO,CAACib,QAAQ,EAAE;AACzBsB,MAAAA,IAAI,CAACjgB,SAAS,CAAC6H,MAAM,CAACwW,mBAAmB,CAAC;AAC1C4B,MAAAA,IAAI,CAACxjB,YAAY,CAAC,eAAe,EAAEwjB,IAAI,CAACjgB,SAAS,CAACrG,QAAQ,CAAC0kB,mBAAmB,CAAC,CAAC;AAClF,IAAA,CAAC,MAAM;AACL,MAAA,MAAMiC,kBAAkB,GAAGzb,cAAc,CAAC5L,IAAI,CAAC,CAAA,CAAA,EAAIolB,mBAAmB,CAAA,CAAE,EAAE,IAAI,CAACxH,KAAK,CAAC;AACrF,MAAA,KAAK,MAAMtR,IAAI,IAAI+a,kBAAkB,EAAE;AACrC/a,QAAAA,IAAI,CAACvF,SAAS,CAACrJ,MAAM,CAAC0nB,mBAAmB,CAAC;AAC1C9Y,QAAAA,IAAI,CAAC9I,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;AAC7C,MAAA;AAEAwjB,MAAAA,IAAI,CAACjgB,SAAS,CAACgK,GAAG,CAACqU,mBAAmB,CAAC;AACvC4B,MAAAA,IAAI,CAACxjB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAC5C,IAAA;IAEA,IAAI,CAACqjB,iBAAiB,EAAE;IACxB,IAAI,CAACC,kBAAkB,EAAE;AAEzB,IAAA,MAAMrpB,KAAK,GAAG,IAAI,CAACgN,OAAO,CAACib,QAAQ,GACjC,IAAI,CAACkB,iBAAiB,EAAE,CAACnb,GAAG,CAACmB,EAAE,IAAIA,EAAE,CAAC9I,OAAO,CAACwjB,OAAO,CAAC,GACtDN,IAAI,CAACljB,OAAO,CAACwjB,OAAO;IAEtBtoB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAAC6jB,OAAO,EAAEZ,cAAY,EAAE;MAC/C1nB,KAAK;AACLupB,MAAAA;AACF,KAAC,CAAC;AAEF,IAAA,IAAI,CAAC,IAAI,CAACvc,OAAO,CAACib,QAAQ,EAAE;MAC1B,IAAI,CAAC3N,IAAI,EAAE;AACX,MAAA,IAAI,CAACgO,OAAO,CAAC1H,KAAK,EAAE;AACtB,IAAA;AACF,EAAA;AAEAwI,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,MAAMF,aAAa,GAAG,IAAI,CAACC,iBAAiB,EAAE;AAE9C,IAAA,IAAID,aAAa,CAAC7kB,MAAM,KAAK,CAAC,EAAE;MAC9B,IAAI,CAACilB,gBAAgB,EAAE;AACvB,MAAA;AACF,IAAA;IAEA,IAAI,CAACf,aAAa,CAACjf,SAAS,CAACrJ,MAAM,CAAC2nB,sBAAsB,CAAC;IAE3D,IAAI,IAAI,CAAC5a,OAAO,CAACib,QAAQ,IAAIiB,aAAa,CAAC7kB,MAAM,GAAG,CAAC,EAAE;MACrD,IAAI,CAACkkB,aAAa,CAACuB,WAAW,GAAG,CAAA,EAAGZ,aAAa,CAAC7kB,MAAM,CAAA,SAAA,CAAW;AACrE,IAAA,CAAC,MAAM;AACL,MAAA,MAAMklB,IAAI,GAAGL,aAAa,CAAC,CAAC,CAAC;MAC7B,MAAMa,KAAK,GAAG5b,cAAc,CAACG,OAAO,CAAC,uCAAuC,EAAEib,IAAI,CAAC;AACnF,MAAA,IAAI,CAAChB,aAAa,CAACuB,WAAW,GAAGC,KAAK,GAAGA,KAAK,CAACD,WAAW,GAAGP,IAAI,CAACO,WAAW,CAAC/b,IAAI,EAAE;AACtF,IAAA;AACF,EAAA;AAEAub,EAAAA,gBAAgBA,GAAG;IACjB,MAAM;AAAEpB,MAAAA;KAAa,GAAG,IAAI,CAAClb,OAAO;AACpC,IAAA,IAAIkb,WAAW,EAAE;AACf,MAAA,IAAI,CAACK,aAAa,CAACuB,WAAW,GAAG5B,WAAW;MAC5C,IAAI,CAACK,aAAa,CAACjf,SAAS,CAACgK,GAAG,CAACsU,sBAAsB,CAAC;AAC1D,IAAA;AACF,EAAA;AAEAyB,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,IAAI,CAAC,IAAI,CAACX,YAAY,EAAE;AACtB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMQ,aAAa,GAAG,IAAI,CAACC,iBAAiB,EAAE;AAC9C,IAAA,MAAMrpB,MAAM,GAAGopB,aAAa,CAAClb,GAAG,CAACmB,EAAE,IAAIA,EAAE,CAAC9I,OAAO,CAACwjB,OAAO,CAAC;IAC1D,IAAI,CAACnB,YAAY,CAAC1oB,KAAK,GAAG,IAAI,CAACgN,OAAO,CAACib,QAAQ,GAAGnoB,MAAM,CAACoO,IAAI,CAAC,GAAG,CAAC,GAAIpO,MAAM,CAAC,CAAC,CAAC,IAAI,EAAG;AACxF,EAAA;AAEAqpB,EAAAA,iBAAiBA,GAAG;IAClB,OAAOhb,cAAc,CAAC5L,IAAI,CAAC,CAAA,CAAA,EAAIolB,mBAAmB,CAAA,CAAE,EAAE,IAAI,CAACxH,KAAK,CAAC;AACnE,EAAA;AAEAwJ,EAAAA,gBAAgBA,GAAG;AACjB,IAAA,OAAOxb,cAAc,CAAC5L,IAAI,CAAC8b,sBAAsB,EAAE,IAAI,CAAC8B,KAAK,CAAC,CAC3D7Z,MAAM,CAACijB,IAAI,IAAI3gB,SAAS,CAAC2gB,IAAI,CAAC,CAAC;AACpC,EAAA;EAEAR,YAAYA,CAACiB,KAAK,EAAE;AAClB,IAAA,MAAMC,eAAe,GAAG,IAAI,CAACC,cAAc,CAACF,KAAK,CAACpkB,WAAW,EAAE,CAACmI,IAAI,EAAE,CAAC;IACvE,MAAM8I,KAAK,GAAG1I,cAAc,CAAC5L,IAAI,CAACslB,kBAAkB,EAAE,IAAI,CAAC1H,KAAK,CAAC;IACjE,IAAIgK,YAAY,GAAG,CAAC;AAEpB,IAAA,KAAK,MAAMZ,IAAI,IAAI1S,KAAK,EAAE;AACxB,MAAA,MAAMuT,IAAI,GAAG,IAAI,CAACF,cAAc,CAACX,IAAI,CAACO,WAAW,CAAClkB,WAAW,EAAE,CAACmI,IAAI,EAAE,CAAC;MACvE,MAAMU,OAAO,GAAG,CAACwb,eAAe,IAAIG,IAAI,CAACrmB,QAAQ,CAACkmB,eAAe,CAAC;MAClEV,IAAI,CAACzO,KAAK,CAACoE,OAAO,GAAGzQ,OAAO,GAAG,EAAE,GAAG,MAAM;AAC1C,MAAA,IAAIA,OAAO,EAAE;AACX0b,QAAAA,YAAY,EAAE;AAChB,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAAC1B,UAAU,EAAE;AACnB,MAAA,IAAI,CAACA,UAAU,CAACnf,SAAS,CAAC6H,MAAM,CAAC,QAAQ,EAAEgZ,YAAY,GAAG,CAAC,CAAC;AAC9D,IAAA;AACF,EAAA;EAEAD,cAAcA,CAACE,IAAI,EAAE;AACnB,IAAA,IAAI,IAAI,CAACpd,OAAO,CAACob,eAAe,EAAE;AAChC,MAAA,OAAOgC,IAAI,CAACC,SAAS,CAAC,KAAK,CAAC,CAAChnB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAC9D,IAAA;AAEA,IAAA,OAAO+mB,IAAI;AACb,EAAA;EAEAX,oBAAoBA,CAACtoB,KAAK,EAAE;IAC1B,MAAM;AAAEjC,MAAAA;AAAI,KAAC,GAAGiC,KAAK;AAErB,IAAA,IAAIjC,GAAG,KAAKse,gBAAc,IAAIte,GAAG,KAAKqe,cAAY,EAAE;MAClDpc,KAAK,CAACyO,cAAc,EAAE;AACtB,MAAA,IAAI,CAAC,IAAI,CAACyK,QAAQ,EAAE,EAAE;QACpB,IAAI,CAACE,IAAI,EAAE;AACb,MAAA;AAEA,MAAA,MAAM1D,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,MAAA,IAAI9S,KAAK,CAACxS,MAAM,GAAG,CAAC,EAAE;AACpB,QAAA,MAAMtC,MAAM,GAAG7C,GAAG,KAAKse,gBAAc,GAAG3G,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACxS,MAAM,GAAG,CAAC,CAAC;QAC1EtC,MAAM,CAAC6e,KAAK,EAAE;AAChB,MAAA;AAEA,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC1hB,GAAG,KAAKye,SAAS,IAAIze,GAAG,KAAK0e,SAAS,KAAK,CAAC,IAAI,CAACvD,QAAQ,EAAE,EAAE;MAChElZ,KAAK,CAACyO,cAAc,EAAE;MACtB,IAAI,CAAC2K,IAAI,EAAE;AACb,IAAA;AACF,EAAA;EAEAmP,kBAAkBA,CAACvoB,KAAK,EAAE;IACxB,MAAM;MAAEjC,GAAG;AAAE6C,MAAAA;AAAO,KAAC,GAAGZ,KAAK;IAE7B,IAAIjC,GAAG,KAAKme,UAAU,EAAE;MACtBlc,KAAK,CAACyO,cAAc,EAAE;MACtBzO,KAAK,CAAC8iB,eAAe,EAAE;MACvB,IAAI,CAAC3J,IAAI,EAAE;AACX,MAAA,IAAI,CAACgO,OAAO,CAAC1H,KAAK,EAAE;AACpB,MAAA;AACF,IAAA;IAEA,IAAI1hB,GAAG,KAAKoe,OAAO,EAAE;MACnB,IAAI,CAAChD,IAAI,EAAE;AACX,MAAA;AACF,IAAA;AAEA,IAAA,MAAM6M,OAAO,GAAGplB,MAAM,CAAC0M,OAAO,CAAC,OAAO,CAAC;AAEvC,IAAA,IAAIvP,GAAG,KAAKse,gBAAc,IAAIte,GAAG,KAAKqe,cAAY,EAAE;MAClDpc,KAAK,CAACyO,cAAc,EAAE;AACtB,MAAA,MAAMiH,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,MAAA,IAAI9S,KAAK,CAACxS,MAAM,GAAG,CAAC,EAAE;QACpB0G,oBAAoB,CAAC8L,KAAK,EAAE9U,MAAM,EAAE7C,GAAG,KAAKse,gBAAc,EAAE,CAAC3G,KAAK,CAAC9S,QAAQ,CAAChC,MAAM,CAAC,CAAC,CAAC6e,KAAK,EAAE;AAC9F,MAAA;AAEA,MAAA;AACF,IAAA;AAEA,IAAA,IAAI1hB,GAAG,KAAKue,UAAQ,IAAIve,GAAG,KAAKwe,SAAO,EAAE;MACvCvc,KAAK,CAACyO,cAAc,EAAE;AACtB,MAAA,MAAMiH,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,MAAA,IAAI9S,KAAK,CAACxS,MAAM,GAAG,CAAC,EAAE;AACpB,QAAA,MAAMyiB,UAAU,GAAG5nB,GAAG,KAAKue,UAAQ,GAAG5G,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACxS,MAAM,GAAG,CAAC,CAAC;QACxEyiB,UAAU,CAAClG,KAAK,EAAE;AACpB,MAAA;AAEA,MAAA;AACF,IAAA;IAEA,IAAI,CAAC1hB,GAAG,KAAKye,SAAS,IAAIze,GAAG,KAAK0e,SAAS,KAAK,CAACuJ,OAAO,EAAE;MACxDhmB,KAAK,CAACyO,cAAc,EAAE;AACtB,MAAA,MAAM2Z,IAAI,GAAGxnB,MAAM,CAACkH,OAAO,CAAC4e,kBAAkB,CAAC;AAC/C,MAAA,IAAI0B,IAAI,IAAI,CAACpgB,UAAU,CAACogB,IAAI,CAAC,EAAE;AAC7B,QAAA,IAAI,CAACC,WAAW,CAACD,IAAI,CAAC;AACxB,MAAA;AACF,IAAA;AACF,EAAA;;AAEA;EACA,OAAOe,eAAeA,CAACve,MAAM,EAAE;AAC7B,IAAA,OAAO,IAAI,CAACwe,IAAI,CAAC,YAAY;MAC3B,MAAMra,IAAI,GAAGmY,QAAQ,CAAC3a,mBAAmB,CAAC,IAAI,EAAE3B,MAAM,CAAC;AAEvD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;AAC9B,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,OAAOmE,IAAI,CAACnE,MAAM,CAAC,KAAK,WAAW,EAAE;AACvC,QAAA,MAAM,IAAIY,SAAS,CAAC,CAAA,iBAAA,EAAoBZ,MAAM,GAAG,CAAC;AACpD,MAAA;AAEAmE,MAAAA,IAAI,CAACnE,MAAM,CAAC,EAAE;AAChB,IAAA,CAAC,CAAC;AACJ,EAAA;AACF;;AAEA;AACA;AACA;;AAEAxK,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;EACrFA,KAAK,CAACyO,cAAc,EAAE;EACtByY,QAAQ,CAAC3a,mBAAmB,CAAC,IAAI,CAAC,CAACyD,MAAM,EAAE;AAC7C,CAAC,CAAC;AAEF5P,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE,kBAAkB,EAAE,MAAM;EAClD,KAAK,MAAMsJ,MAAM,IAAIhD,cAAc,CAAC5L,IAAI,CAACyO,sBAAoB,CAAC,EAAE;AAC9DqX,IAAAA,QAAQ,CAAC3a,mBAAmB,CAACyD,MAAM,CAAC;AACtC,EAAA;AACF,CAAC,CAAC;;ACrcF;AACA,IAAI,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAE,CAAC,YAAY,CAAC,IAAE,CAAC,QAAQ,CAAC,IAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAAI,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,+DAA+D,CAAC,CAAC,OAAO,CAAC,8FAA8F,CAAC,SAAS,CAAC,wIAAwI,CAAC,aAAa,CAAC,yDAAyD,CAAC,oBAAoB,CAAC,qJAAqJ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,IAAE,GAAG,CAAC,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,GAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,qBAAqB,EAAE,CAAC,OAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,OAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAE,CAAC,MAAM,CAAC,IAAE,CAAC,IAAI,CAAC,IAAE,CAAC,KAAK,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,8CAA8C,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gDAAgD,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,gIAAgI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,4DAA4D,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,4IAA4I,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,8CAA8C,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,oGAAoG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,+DAA+D,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gDAAgD,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,oFAAoF,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,uDAAuD,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,2CAA2C,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,kIAAkI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,wEAAwE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,4MAA4M,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,8CAA8C,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,+CAA+C,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,+HAA+H,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,mCAAmC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,mCAAmC,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,4CAA4C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iEAAiE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gDAAgD,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,OAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,iCAAiC,EAAE,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,kCAAkC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,oDAAoD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,oDAAoD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,iCAAiC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,6BAA6B,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,8BAA8B,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gCAAgC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,GAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAE,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,KAAE,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,GAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAE,CAAC,KAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAE,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAM,CAAC,EAAE,EAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAE,CAAC,EAAE,EAAC,CAAC,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC,2CAA2C,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,iBAAiB,GAAE,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,2CAA2C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,gBAAgB,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,GAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAE,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,IAAE,EAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,GAAG,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,OAAM,MAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,2CAA2C,CAAC,qCAAqC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,IAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,IAAE,CAAC,IAAI,CAAC,IAAE,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,IAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAM,MAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAM,MAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAE,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,IAAE,CAAC,IAAI,CAAC,IAAE,CAAC,MAAM,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,uCAAuC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qCAAqC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,4BAA4B,CAAC,KAAK,CAAC,4BAA4B,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,WAAW,CAAC,8BAA8B,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,SAAS,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS;;ACDt05D;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMvF,MAAI,GAAG,YAAY;AACzB,MAAMsB,UAAQ,GAAG,eAAe;AAChC,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAM4W,cAAY,GAAG,CAAA,MAAA,EAASta,WAAS,CAAA,CAAE;AACzC,MAAM2L,YAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM4L,aAAW,GAAG,CAAA,KAAA,EAAQ5L,WAAS,CAAA,CAAE;AACvC,MAAM6L,YAAU,GAAG,CAAA,IAAA,EAAO7L,WAAS,CAAA,CAAE;AACrC,MAAM8L,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAM6D,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAC/D,MAAM0Z,sBAAsB,GAAG,CAAA,OAAA,EAAUpd,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAEnE,MAAME,sBAAoB,GAAG,+BAA+B;AAE5D,MAAMyZ,UAAU,GAAG,GAAG,CAAA;;AAEtB,MAAM/e,SAAO,GAAG;AACdgf,EAAAA,eAAe,EAAE,IAAI;AAAE;AACvBC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,UAAU,EAAE,IAAI;AAAE;AAClBC,EAAAA,cAAc,EAAE,IAAI;AAAE;AACtBC,EAAAA,kBAAkB,EAAE,CAAC;AAAE;AACvBC,EAAAA,YAAY,EAAE,CAAC;AAAE;AACjBC,EAAAA,MAAM,EAAE,KAAK;AAAE;AACfC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,eAAe,EAAE,IAAI;AAAE;AACvBC,EAAAA,aAAa,EAAE,EAAE;AACjBC,EAAAA,aAAa,EAAE,QAAQ;AAAE;AACzB7O,EAAAA,SAAS,EAAE,MAAM;AAAE;EACnB8O,UAAU,EAAE,EAAE;AAChB,CAAC;AAED,MAAM3f,aAAW,GAAG;AAClB+e,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,OAAO,EAAE,6BAA6B;AACtCC,EAAAA,OAAO,EAAE,6BAA6B;AACtCC,EAAAA,UAAU,EAAE,wBAAwB;AACpCC,EAAAA,cAAc,EAAE,+BAA+B;AAC/CC,EAAAA,kBAAkB,EAAE,QAAQ;AAC5BC,EAAAA,YAAY,EAAE,QAAQ;AACtBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,eAAe,EAAE,uBAAuB;AACxCC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,aAAa,EAAE,QAAQ;AACvB7O,EAAAA,SAAS,EAAE,QAAQ;AACnB8O,EAAAA,UAAU,EAAE;AACd,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,UAAU,SAASze,aAAa,CAAC;AACrCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAACyf,SAAS,GAAG,IAAI;IACrB,IAAI,CAACnR,QAAQ,GAAG,KAAK;IAErB,IAAI,CAACoR,aAAa,EAAE;AACtB,EAAA;;AAEA;EACA,WAAW/f,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuF,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACnE,OAAO,CAACie,MAAM,EAAE;AACvB,MAAA,OAAM;AACR,IAAA;AAEA,IAAA,OAAO,IAAI,CAAC5Q,QAAQ,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;AAClD,EAAA;AAEAA,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,IAAI,CAACvN,OAAO,CAACie,MAAM,EAAE;AACvB,MAAA,OAAM;AACR,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAACO,SAAS,IAAIriB,UAAU,CAAC,IAAI,CAAC4D,QAAQ,CAAC,IAAI,IAAI,CAACsN,QAAQ,EAAE;AACjE,MAAA;AACF,IAAA;IAEA,MAAMmG,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEgM,YAAU,CAAC;IACjE,IAAIyH,SAAS,CAAC5P,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC4a,SAAS,CAACjR,IAAI,EAAE;IACrB,IAAI,CAACF,QAAQ,GAAG,IAAI;IAEpB9Y,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEiM,aAAW,CAAC;AAClD,EAAA;AAEAsB,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,IAAI,CAACtN,OAAO,CAACie,MAAM,EAAE;AACvB,MAAA,OAAM;AACR,IAAA;IAEA,IAAI,CAAC,IAAI,CAACO,SAAS,IAAI,CAAC,IAAI,CAACnR,QAAQ,EAAE;AACrC,MAAA;AACF,IAAA;IAEA,MAAMiH,SAAS,GAAG/f,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEkM,YAAU,CAAC;IACjE,IAAIqI,SAAS,CAAC1Q,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC4a,SAAS,CAAClR,IAAI,EAAE;IACrB,IAAI,CAACD,QAAQ,GAAG,KAAK;IAErB9Y,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEmM,cAAY,CAAC;AACnD,EAAA;AAEA/L,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAACue,cAAc,EAAE;AACvB,MAAA,IAAI,CAACA,cAAc,CAACC,UAAU,EAAE;MAChC,IAAI,CAACD,cAAc,GAAG,IAAI;AAC5B,IAAA;IAEA,IAAI,IAAI,CAACF,SAAS,EAAE;AAClB,MAAA,IAAI,CAACA,SAAS,CAACI,OAAO,EAAE;AAC1B,IAAA;IAEA,IAAI,CAACJ,SAAS,GAAG,IAAI;IACrB,KAAK,CAACre,OAAO,EAAE;AACjB,EAAA;AAEA0e,EAAAA,gBAAgBA,GAAG;IACjB,MAAMC,KAAK,GAAG,IAAI,CAACN,SAAS,EAAEO,OAAO,EAAEX,aAAa;AACpD,IAAA,OAAOU,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAC,GAAG,EAAE;AAChC,EAAA;EAEAE,gBAAgBA,CAACF,KAAK,EAAE;IACtB,IAAI,IAAI,CAACN,SAAS,EAAE;AAClB,MAAA,IAAI,CAACA,SAAS,CAACxsB,GAAG,CAAC;AAAEosB,QAAAA,aAAa,EAAEU;AAAM,OAAC,CAAC;AAC9C,IAAA;AACF,EAAA;;AAEA;AACAL,EAAAA,aAAaA,GAAG;IACd,IAAI,CAACQ,QAAQ,GAAG,IAAI,CAAClf,QAAQ,CAAC4C,OAAO,KAAK,OAAO;AACjD,IAAA,IAAI,CAACuc,SAAS,GAAG,IAAI,CAAClf,OAAO,CAACie,MAAM;;AAEpC;IACA,IAAI,IAAI,CAACiB,SAAS,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE;MACpC,IAAI,CAACE,WAAW,GAAG,IAAI,CAACpf,QAAQ,CAACpE,aAAa,CAAC,mCAAmC,CAAC;AACrF,IAAA;AAEA,IAAA,IAAI,CAACyjB,gBAAgB,GAAG,IAAI,CAACC,uBAAuB,EAAE;AACtD,IAAA,IAAI,CAACC,eAAe,GAAG,IAAI,CAACC,sBAAsB,EAAE;AAEpD,IAAA,MAAMC,eAAe,GAAG,IAAI,CAACC,qBAAqB,EAAE;;AAEpD;AACA;IACA,IAAI,CAACjB,SAAS,GAAG,IAAIkB,QAAQ,CAAC,IAAI,CAACN,gBAAgB,EAAEI,eAAe,CAAC;AACrE,IAAA,IAAI,CAAChB,SAAS,CAACmB,IAAI,EAAE;;AAErB;IACA,IAAI,CAACC,mBAAmB,EAAE;;AAE1B;IACA,IAAI,IAAI,CAACX,QAAQ,IAAI,IAAI,CAAClf,QAAQ,CAAC/M,KAAK,EAAE;MACxC,IAAI,CAAC6sB,gBAAgB,EAAE;AACzB,IAAA;;AAEA;IACA,IAAI,CAACC,+BAA+B,EAAE;AACxC,EAAA;AAEAA,EAAAA,+BAA+BA,GAAG;IAChC,MAAM;AAAE1B,MAAAA;KAAe,GAAG,IAAI,CAACpe,OAAO;IACtC,IAAI,CAACoe,aAAa,IAAIA,aAAa,CAAC/mB,MAAM,KAAK,CAAC,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAM0oB,aAAa,GAAG,IAAI,CAACC,mBAAmB,CAAC5B,aAAa,CAAC;IAE7D,IAAI,IAAI,CAACa,QAAQ,EAAE;AACjB,MAAA,IAAI,CAAClf,QAAQ,CAAC/M,KAAK,GAAG+sB,aAAa;AACrC,IAAA;IAEA,IAAI,IAAI,CAACZ,WAAW,EAAE;MACpB,IAAI,CAACA,WAAW,CAACnsB,KAAK,GAAGorB,aAAa,CAACld,IAAI,CAAC,GAAG,CAAC;AAClD,IAAA;IAEA,IAAI,IAAI,CAACoe,eAAe,EAAE;AACxB,MAAA,IAAI,CAACA,eAAe,CAACxC,WAAW,GAAGiD,aAAa;AAClD,IAAA;AACF,EAAA;AAEAV,EAAAA,uBAAuBA,GAAG;IACxB,IAAI;AAAElB,MAAAA;KAAiB,GAAG,IAAI,CAACne,OAAO;AAEtC,IAAA,IAAI,OAAOme,eAAe,KAAK,QAAQ,EAAE;AACvCA,MAAAA,eAAe,GAAGtjB,QAAQ,CAACc,aAAa,CAACwiB,eAAe,CAAC;AAC3D,IAAA;;AAEA;IACA,IAAI,CAACA,eAAe,IAAI,IAAI,CAACc,QAAQ,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MACxD,MAAMvS,MAAM,GAAG,IAAI,CAAC5M,QAAQ,CAAC9D,OAAO,CAAC,aAAa,CAAC;AACnD,MAAA,IAAI0Q,MAAM,EAAE;AACVwR,QAAAA,eAAe,GAAGxR,MAAM;AAC1B,MAAA;AACF,IAAA;AAEA,IAAA,OAAOwR,eAAe,IAAI,IAAI,CAACpe,QAAQ;AACzC,EAAA;AAEAwf,EAAAA,sBAAsBA,GAAG;IACvB,MAAM;AAAEzB,MAAAA;KAAgB,GAAG,IAAI,CAAC9d,OAAO;AAEvC,IAAA,IAAI,OAAO8d,cAAc,KAAK,QAAQ,EAAE;AACtC,MAAA,OAAOjjB,QAAQ,CAACc,aAAa,CAACmiB,cAAc,CAAC;AAC/C,IAAA;;AAEA;AACA,IAAA,IAAIA,cAAc,KAAK,IAAI,IAAKA,cAAc,KAAK,IAAI,IAAI,CAAC,IAAI,CAACmB,QAAQ,IAAI,CAAC,IAAI,CAACC,SAAU,EAAE;MAC7F,MAAMe,YAAY,GAAG,IAAI,CAAClgB,QAAQ,CAACpE,aAAa,CAAC,8BAA8B,CAAC;AAChF,MAAA,OAAOskB,YAAY,IAAI,IAAI,CAAClgB,QAAQ;AACtC,IAAA;AAEA,IAAA,OAAO+d,cAAc;AACvB,EAAA;AAEAoC,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,OAAO,IAAI,CAACngB,QAAQ,CAAC9D,OAAO,CAAC,iBAAiB,CAAC;AACjD,EAAA;AAEAkkB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,MAAM;AAAEzC,MAAAA;KAAiB,GAAG,IAAI,CAAC1d,OAAO;AACxC,IAAA,IAAI0d,eAAe,EAAE;AACnB,MAAA,OAAOA,eAAe;AACxB,IAAA;AAEA,IAAA,MAAM/b,QAAQ,GAAG,IAAI,CAACue,iBAAiB,EAAE;AACzC,IAAA,OAAOve,QAAQ,EAAEjI,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI;AACxD,EAAA;EAEA0mB,mBAAmBA,CAACnuB,OAAO,EAAE;IAC3B,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,MAAMouB,KAAK,GAAG,IAAI,CAACF,kBAAkB,EAAE;AAEvC,IAAA,IAAIE,KAAK,EAAE;AACT;AACApuB,MAAAA,OAAO,CAAC8G,YAAY,CAAC,eAAe,EAAEsnB,KAAK,CAAC;AAC9C,IAAA,CAAC,MAAM;AACL;AACApuB,MAAAA,OAAO,CAACgH,eAAe,CAAC,eAAe,CAAC;AAC1C,IAAA;AACF,EAAA;AAEA2mB,EAAAA,mBAAmBA,GAAG;AACpB;AACA,IAAA,MAAMje,QAAQ,GAAG,IAAI,CAACue,iBAAiB,EAAE;IACzC,IAAI,CAACve,QAAQ,IAAI,IAAI,CAAC3B,OAAO,CAAC0d,eAAe,EAAE;AAC7C;AACA,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACgB,cAAc,GAAG,IAAI4B,gBAAgB,CAAC,MAAM;MAC/C,IAAI,CAACF,mBAAmB,CAAC,IAAI,CAAC5B,SAAS,EAAEO,OAAO,EAAEwB,WAAW,CAAC;AAChE,IAAA,CAAC,CAAC;AAEF,IAAA,IAAI,CAAC7B,cAAc,CAAC8B,OAAO,CAAC7e,QAAQ,EAAE;AACpCxI,MAAAA,UAAU,EAAE,IAAI;MAChBsnB,eAAe,EAAE,CAAC,eAAe;AACnC,KAAC,CAAC;AACJ,EAAA;AAEAhB,EAAAA,qBAAqBA,GAAG;AACtB;AACA,IAAA,MAAMY,KAAK,GAAG,IAAI,CAACF,kBAAkB,EAAE;AACvC;IACA,MAAMO,QAAQ,GAAG,CAACL,KAAK,IAAIA,KAAK,KAAK,MAAM,GAAG,QAAQ,GAAGA,KAAK;AAE9D,IAAA,MAAMb,eAAe,GAAG;AACtB,MAAA,GAAG,IAAI,CAACxf,OAAO,CAACse,UAAU;AAC1BqC,MAAAA,SAAS,EAAE,CAAC,IAAI,CAACzB,SAAS;AAC1B0B,MAAAA,eAAe,EAAE,IAAI,CAAC5gB,OAAO,CAACwP,SAAS;AACvCwO,MAAAA,YAAY,EAAE,IAAI,CAAChe,OAAO,CAACge,YAAY;AACvCE,MAAAA,MAAM,EAAE,IAAI,CAACle,OAAO,CAACke,MAAM;AAC3B2C,MAAAA,kBAAkB,EAAE,IAAI,CAAC7gB,OAAO,CAACqe,aAAa;AAC9CD,MAAAA,aAAa,EAAE,IAAI,CAACpe,OAAO,CAACoe,aAAa;AACzCL,MAAAA,kBAAkB,EAAE,IAAI,CAAC/d,OAAO,CAAC+d,kBAAkB;MACnDtpB,IAAI,EAAE,IAAI,CAACuL,OAAO,CAAC+d,kBAAkB,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS;AAClE+C,MAAAA,aAAa,EAAEJ,QAAQ;AACvBK,MAAAA,eAAe,EAAE,iBAAiB;AAClCC,MAAAA,WAAW,EAAEA,CAACC,IAAI,EAAE9sB,KAAK,KAAK,IAAI,CAAC+sB,gBAAgB,CAACD,IAAI,EAAE9sB,KAAK,CAAC;MAChEgtB,MAAM,EAAEF,IAAI,IAAI;QACd,IAAI,CAACb,mBAAmB,CAACa,IAAI,CAAClC,OAAO,CAACwB,WAAW,CAAC;MACpD,CAAC;MACDa,MAAM,EAAEA,MAAM;QACZ,IAAI,CAAC/T,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC+S,mBAAmB,CAAC,IAAI,CAAC5B,SAAS,CAACO,OAAO,CAACwB,WAAW,CAAC;MAC9D,CAAC;MACDc,MAAM,EAAEA,MAAM;QACZ,IAAI,CAAChU,QAAQ,GAAG,KAAK;AACvB,MAAA;KACD;;AAED;IACA,IAAI,IAAI,CAACrN,OAAO,CAACoe,aAAa,CAAC/mB,MAAM,GAAG,CAAC,EAAE;AACzC,MAAA,MAAMiqB,SAAS,GAAG,IAAI,CAACC,UAAU,CAAC,IAAI,CAACvhB,OAAO,CAACoe,aAAa,CAAC,CAAC,CAAC,CAAC;AAChEoB,MAAAA,eAAe,CAACgC,aAAa,GAAGF,SAAS,CAACG,QAAQ,EAAE;AACpDjC,MAAAA,eAAe,CAACkC,YAAY,GAAGJ,SAAS,CAACK,WAAW,EAAE;AACxD,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC3hB,OAAO,CAAC2d,OAAO,EAAE;AACxB6B,MAAAA,eAAe,CAAC7B,OAAO,GAAG,IAAI,CAAC3d,OAAO,CAAC2d,OAAO;AAChD,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC3d,OAAO,CAAC4d,OAAO,EAAE;AACxB4B,MAAAA,eAAe,CAAC5B,OAAO,GAAG,IAAI,CAAC5d,OAAO,CAAC4d,OAAO;AAChD,IAAA;AAEA,IAAA,OAAO4B,eAAe;AACxB,EAAA;AAEA0B,EAAAA,gBAAgBA,CAACD,IAAI,EAAE9sB,KAAK,EAAE;IAC5B,MAAMiqB,aAAa,GAAG,CAAC,GAAG6C,IAAI,CAAClC,OAAO,CAACX,aAAa,CAAC;AAErD,IAAA,IAAIA,aAAa,CAAC/mB,MAAM,GAAG,CAAC,EAAE;AAC5B,MAAA,MAAM0oB,aAAa,GAAG,IAAI,CAACC,mBAAmB,CAAC5B,aAAa,CAAC;MAE7D,IAAI,IAAI,CAACa,QAAQ,EAAE;AACjB,QAAA,IAAI,CAAClf,QAAQ,CAAC/M,KAAK,GAAG+sB,aAAa;AACrC,MAAA;MAEA,IAAI,IAAI,CAACZ,WAAW,EAAE;QACpB,IAAI,CAACA,WAAW,CAACnsB,KAAK,GAAGorB,aAAa,CAACld,IAAI,CAAC,GAAG,CAAC;AAClD,MAAA;MAEA,IAAI,IAAI,CAACoe,eAAe,EAAE;AACxB,QAAA,IAAI,CAACA,eAAe,CAACxC,WAAW,GAAGiD,aAAa;AAClD,MAAA;AACF,IAAA;IAEAxrB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE2a,cAAY,EAAE;AAChDoE,MAAAA,KAAK,EAAEV,aAAa;AACpBjqB,MAAAA;AACF,KAAC,CAAC;AAEF,IAAA,IAAI,CAACytB,wBAAwB,CAACxD,aAAa,CAAC;AAC9C,EAAA;EAEAwD,wBAAwBA,CAACxD,aAAa,EAAE;IACtC,IAAI,IAAI,CAACc,SAAS,EAAE;AAClB,MAAA;AACF,IAAA;AAEA,IAAA,MAAM2C,UAAU,GACb,IAAI,CAAC7hB,OAAO,CAACqe,aAAa,KAAK,QAAQ,IAAID,aAAa,CAAC/mB,MAAM,GAAG,CAAC,IACnE,IAAI,CAAC2I,OAAO,CAACqe,aAAa,KAAK,iBAAiB,IAAID,aAAa,CAAC/mB,MAAM,IAAI,CAAE;AAEjF,IAAA,IAAIwqB,UAAU,EAAE;MACd/jB,UAAU,CAAC,MAAM,IAAI,CAACwP,IAAI,EAAE,EAAEmQ,UAAU,CAAC;AAC3C,IAAA;AACF,EAAA;EAEA8D,UAAUA,CAACO,OAAO,EAAE;AAClB,IAAA,MAAM,CAACC,IAAI,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGH,OAAO,CAACxmB,KAAK,CAAC,GAAG,CAAC;IAC7C,OAAO,IAAI2c,IAAI,CAAC8J,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,GAAG,CAAC;AACvC,EAAA;EAEAC,WAAWA,CAACJ,OAAO,EAAE;AACnB,IAAA,MAAMK,IAAI,GAAG,IAAI,CAACZ,UAAU,CAACO,OAAO,CAAC;AACrC,IAAA,MAAM5D,MAAM,GAAG,IAAI,CAACle,OAAO,CAACke,MAAM,KAAK,SAAS,GAAG5jB,SAAS,GAAG,IAAI,CAAC0F,OAAO,CAACke,MAAM;IAClF,MAAM;AAAEL,MAAAA;KAAY,GAAG,IAAI,CAAC7d,OAAO;;AAEnC;AACA,IAAA,IAAI,OAAO6d,UAAU,KAAK,UAAU,EAAE;AACpC,MAAA,OAAOA,UAAU,CAACsE,IAAI,EAAEjE,MAAM,CAAC;AACjC,IAAA;;AAEA;AACA,IAAA,IAAIL,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;AAChD,MAAA,OAAO,IAAIuE,IAAI,CAACC,cAAc,CAACnE,MAAM,EAAEL,UAAU,CAAC,CAACyE,MAAM,CAACH,IAAI,CAAC;AACjE,IAAA;;AAEA;AACA,IAAA,OAAOA,IAAI,CAACI,kBAAkB,CAACrE,MAAM,CAAC;AACxC,EAAA;EAEA8B,mBAAmBA,CAAClB,KAAK,EAAE;AACzB,IAAA,IAAIA,KAAK,CAACznB,MAAM,KAAK,CAAC,EAAE;AACtB,MAAA,OAAO,EAAE;AACX,IAAA;AAEA,IAAA,IAAIynB,KAAK,CAACznB,MAAM,KAAK,CAAC,EAAE;MACtB,OAAO,IAAI,CAAC6qB,WAAW,CAACpD,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAA;;AAEA;AACA,IAAA,MAAM0D,SAAS,GAAG,IAAI,CAACxiB,OAAO,CAACqe,aAAa,KAAK,iBAAiB,GAAG,KAAK,GAAG,IAAI;AACjF,IAAA,OAAOS,KAAK,CAAC9d,GAAG,CAACyhB,CAAC,IAAI,IAAI,CAACP,WAAW,CAACO,CAAC,CAAC,CAAC,CAACvhB,IAAI,CAACshB,SAAS,CAAC;AAC5D,EAAA;AAEA3C,EAAAA,gBAAgBA,GAAG;AACjB;IACA,MAAM7sB,KAAK,GAAG,IAAI,CAAC+M,QAAQ,CAAC/M,KAAK,CAAC+N,IAAI,EAAE;IACxC,IAAI,CAAC/N,KAAK,EAAE;AACV,MAAA;AACF,IAAA;AAEA,IAAA,MAAMmvB,IAAI,GAAG,IAAIlK,IAAI,CAACjlB,KAAK,CAAC;IAC5B,IAAI,CAACqF,MAAM,CAACqqB,KAAK,CAACP,IAAI,CAACQ,OAAO,EAAE,CAAC,EAAE;AACjC,MAAA,MAAMZ,IAAI,GAAGI,IAAI,CAACR,WAAW,EAAE;AAC/B,MAAA,MAAMK,KAAK,GAAGY,MAAM,CAACT,IAAI,CAACV,QAAQ,EAAE,GAAG,CAAC,CAAC,CAACoB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC1D,MAAA,MAAMZ,GAAG,GAAGW,MAAM,CAACT,IAAI,CAACW,OAAO,EAAE,CAAC,CAACD,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;MACnD,MAAME,SAAS,GAAG,CAAA,EAAGhB,IAAI,IAAIC,KAAK,CAAA,CAAA,EAAIC,GAAG,CAAA,CAAE;AAC3C,MAAA,IAAI,CAACzD,SAAS,CAACxsB,GAAG,CAAC;QAAEosB,aAAa,EAAE,CAAC2E,SAAS;AAAE,OAAC,CAAC;AACpD,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAxuB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;AACrF;AACA;AACA,EAAA,IAAI,IAAI,CAACwO,OAAO,KAAK,OAAO,IAAI,IAAI,CAACtJ,OAAO,CAAC2pB,QAAQ,KAAK,MAAM,EAAE;AAChE,IAAA;AACF,EAAA;EAEA7uB,KAAK,CAACyO,cAAc,EAAE;EACtB2b,UAAU,CAAC7d,mBAAmB,CAAC,IAAI,CAAC,CAACyD,MAAM,EAAE;AAC/C,CAAC,CAAC;AAEF5P,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE2iB,sBAAsB,EAAExZ,sBAAoB,EAAE,YAAY;AAClF;AACA,EAAA,IAAI,IAAI,CAACrB,OAAO,KAAK,OAAO,EAAE;AAC5B,IAAA;AACF,EAAA;EAEA4b,UAAU,CAAC7d,mBAAmB,CAAC,IAAI,CAAC,CAAC6M,IAAI,EAAE;AAC7C,CAAC,CAAC;;AAEF;AACAhZ,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM7R,OAAO,IAAI4I,QAAQ,CAAC/F,gBAAgB,CAAC,CAAA,EAAGkP,sBAAoB,CAAA,uBAAA,CAAyB,CAAC,EAAE;AACjGua,IAAAA,UAAU,CAAC7d,mBAAmB,CAACzO,OAAO,CAAC;AACzC,EAAA;AACF,CAAC,CAAC;;AC/dF;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMgxB,eAAe,GAAG,aAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,SAASpjB,aAAa,CAAC;AACrCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAAC8N,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACsW,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACC,mBAAmB,EAAE;AAC5B,EAAA;;AAEA;EACA,WAAWxkB,IAAIA,GAAG;AAChB,IAAA,OAAO,YAAY;AACrB,EAAA;;AAEA;;EAEAuF,MAAMA,CAACnO,aAAa,EAAE;AACpB,IAAA,OAAO,IAAI,CAAC+J,QAAQ,CAACsjB,IAAI,GAAG,IAAI,CAAC/V,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,CAACvX,aAAa,CAAC;AACpE,EAAA;EAEAuX,IAAIA,CAACvX,aAAa,EAAE;IAClB,IAAI,IAAI,CAAC+J,QAAQ,CAACsjB,IAAI,IAAI,IAAI,CAACxW,gBAAgB,EAAE;AAC/C,MAAA;AACF,IAAA;AAEA,IAAA,MAAM2G,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CACpC,IAAI,CAACsI,QAAQ,EACb,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC,MAAM,CAAC,EAClC;AAAE3K,MAAAA;AAAc,KAClB,CAAC;IAED,IAAIwd,SAAS,CAAC5P,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAACiJ,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACyW,aAAa,EAAE;IAEpB,MAAM;MAAEC,KAAK;AAAEC,MAAAA;AAAkB,KAAC,GAAG,IAAI,CAACC,eAAe,EAAE;IAC3D,IAAI,CAACC,YAAY,CAAC;MAAEH,KAAK;AAAEC,MAAAA;AAAkB,KAAC,CAAC;IAE/C,IAAI,CAACjjB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACsM,gBAAgB,GAAG,KAAK;AAC7BtY,MAAAA,YAAY,CAACkD,OAAO,CAClB,IAAI,CAACsI,QAAQ,EACb,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC,OAAO,CAAC,EACnC;AAAE3K,QAAAA;AAAc,OAClB,CAAC;IACH,CAAC,EAAE,IAAI,CAAC+J,QAAQ,EAAE,IAAI,CAAC2L,WAAW,EAAE,CAAC;AACvC,EAAA;AAEA4B,EAAAA,IAAIA,GAAG;IACL,IAAI,CAAC,IAAI,CAACvN,QAAQ,CAACsjB,IAAI,IAAI,IAAI,CAACxW,gBAAgB,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMyH,SAAS,GAAG/f,YAAY,CAACkD,OAAO,CACpC,IAAI,CAACsI,QAAQ,EACb,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC,MAAM,CACnC,CAAC;IAED,IAAI2T,SAAS,CAAC1Q,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAACiJ,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAAC8W,YAAY,EAAE;IACnB,IAAI,CAACC,YAAY,EAAE;IAEnB,IAAI,CAACrjB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACR,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAAC,QAAQ,CAAC;MACxC,IAAI,CAAC4Z,gBAAgB,GAAG,KAAK;AAC7BtY,MAAAA,YAAY,CAACkD,OAAO,CAClB,IAAI,CAACsI,QAAQ,EACb,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC,QAAQ,CACrC,CAAC;IACH,CAAC,EAAE,IAAI,CAACZ,QAAQ,EAAE,IAAI,CAAC2L,WAAW,EAAE,CAAC;AACvC,EAAA;;AAEA;;AAEA+X,EAAAA,eAAeA,GAAG;IAChB,OAAO;AAAEF,MAAAA,KAAK,EAAE,IAAI;AAAEC,MAAAA,iBAAiB,EAAE;KAAM;AACjD,EAAA;AAEAF,EAAAA,aAAaA,GAAG;AACd;AAAA,EAAA;AAGFM,EAAAA,YAAYA,GAAG;AACb;AAAA,EAAA;AAGFlY,EAAAA,WAAWA,GAAG;AACZ,IAAA,OAAO,CAAC,IAAI,CAAC3L,QAAQ,CAACzD,SAAS,CAACrG,QAAQ,CAAC,IAAI,CAAC4tB,oBAAoB,EAAE,CAAC;AACvE,EAAA;AAEAA,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,OAAO,gBAAgB;AACzB,EAAA;AAEAC,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,OAAO,eAAe;AACxB,EAAA;AAEAC,EAAAA,SAASA,GAAG;AACV;AAAA,EAAA;;AAGF;;AAEAL,EAAAA,YAAYA,CAAC;AAAEH,IAAAA,KAAK,GAAG,IAAI;AAAEC,IAAAA,iBAAiB,GAAG;GAAM,GAAG,EAAE,EAAE;IAC5D,IAAI,CAACL,cAAc,GAAGI,KAAK;AAE3B,IAAA,IAAIA,KAAK,EAAE;AACT,MAAA,IAAI,CAACxjB,QAAQ,CAACikB,SAAS,EAAE;AAC3B,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACjkB,QAAQ,CAACwN,IAAI,EAAE;AACtB,IAAA;AAEA,IAAA,IAAIiW,iBAAiB,EAAE;MACrB3oB,QAAQ,CAAC8Y,IAAI,CAACrX,SAAS,CAACgK,GAAG,CAAC2c,eAAe,CAAC;AAC9C,IAAA;AACF,EAAA;AAEAU,EAAAA,YAAYA,GAAG;IACb,IAAI,CAACM,oBAAoB,EAAE;;AAE3B;AACA;AACA;IACA,IAAI,CAAClkB,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC,QAAQ,CAAC;AACrC,IAAA,IAAI,CAACvG,QAAQ,CAAC2D,KAAK,EAAE;IACrB,IAAI,CAACyf,cAAc,GAAG,KAAK;;AAE3B;AACA,IAAA,IAAI,CAACtoB,QAAQ,CAACc,aAAa,CAAC,oBAAoB,CAAC,EAAE;MACjDd,QAAQ,CAAC8Y,IAAI,CAACrX,SAAS,CAACrJ,MAAM,CAACgwB,eAAe,CAAC;AACjD,IAAA;AACF,EAAA;AAEAiB,EAAAA,0BAA0BA,GAAG;AAC3B,IAAA,MAAMC,kBAAkB,GAAG5vB,YAAY,CAACkD,OAAO,CAC7C,IAAI,CAACsI,QAAQ,EACb,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC,eAAe,CAC5C,CAAC;IAED,IAAIwjB,kBAAkB,CAACvgB,gBAAgB,EAAE;AACvC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMwgB,WAAW,GAAG,IAAI,CAACN,mBAAmB,EAAE;IAC9C,IAAI,CAAC/jB,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC8d,WAAW,CAAC;IACxC,IAAI,CAAC7jB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACR,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACmxB,WAAW,CAAC;AAC7C,IAAA,CAAC,EAAE,IAAI,CAACrkB,QAAQ,CAAC;AACnB,EAAA;;AAEA;AACA;AACA;AACAkkB,EAAAA,oBAAoBA,GAAG;IACrB,MAAMrvB,QAAQ,GAAG,wDAAwD;AAEzE,IAAA,KAAK,MAAMuN,EAAE,IAAIhB,cAAc,CAAC5L,IAAI,CAACX,QAAQ,EAAE,IAAI,CAACmL,QAAQ,CAAC,EAAE;AAC7D,MAAA,MAAM5N,QAAQ,GAAG8N,IAAI,CAACpN,MAAM,CAACsP,EAAE,CAAC;MAChC,IAAIhQ,QAAQ,IAAI,OAAOA,QAAQ,CAACmb,IAAI,KAAK,UAAU,EAAE;QACnDnb,QAAQ,CAACmb,IAAI,EAAE;AACjB,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,KAAK,MAAMnL,EAAE,IAAIhB,cAAc,CAAC5L,IAAI,CAAC,aAAa,EAAE,IAAI,CAACwK,QAAQ,CAAC,EAAE;AAClE,MAAA,MAAM5N,QAAQ,GAAG8N,IAAI,CAACpN,MAAM,CAACsP,EAAE,CAAC;MAChC,IAAIhQ,QAAQ,IAAI,OAAOA,QAAQ,CAACmb,IAAI,KAAK,UAAU,EAAE;QACnDnb,QAAQ,CAACmb,IAAI,EAAE;AACjB,MAAA;AACF,IAAA;AACF,EAAA;;AAEA;;AAEA8V,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,MAAMiB,QAAQ,GAAG,IAAI,CAACjlB,WAAW,CAACgB,SAAS;;AAE3C;IACA7L,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,QAAQ,EAAE5L,KAAK,IAAI;MAChDA,KAAK,CAACyO,cAAc,EAAE;AAEtB,MAAA,IAAI,CAAC,IAAI,CAAC5C,OAAO,CAACuI,QAAQ,EAAE;QAC1B,IAAI,CAAC2b,0BAA0B,EAAE;AACjC,QAAA;AACF,MAAA;MAEA,IAAI,CAACH,SAAS,EAAE;MAChB,IAAI,CAACzW,IAAI,EAAE;AACb,IAAA,CAAC,CAAC;;AAEF;AACA/Y,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,CAAA,OAAA,EAAUskB,QAAQ,CAAA,CAAE,EAAElwB,KAAK,IAAI;MAC5D,IAAIA,KAAK,CAACjC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAACixB,cAAc,EAAE;AACjD,QAAA;AACF,MAAA;MAEAhvB,KAAK,CAACyO,cAAc,EAAE;AAEtB,MAAA,IAAI,CAAC,IAAI,CAAC5C,OAAO,CAACuI,QAAQ,EAAE;AAC1B,QAAA;AACF,MAAA;MAEA,IAAI,CAACwb,SAAS,EAAE;MAChB,IAAI,CAACzW,IAAI,EAAE;AACb,IAAA,CAAC,CAAC;;AAEF;AACA/Y,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,CAAA,KAAA,EAAQskB,QAAQ,CAAA,CAAE,EAAElwB,KAAK,IAAI;AAC1D,MAAA,IAAIA,KAAK,CAACY,MAAM,KAAK,IAAI,CAACgL,QAAQ,IAAI,CAAC,IAAI,CAACojB,cAAc,EAAE;AAC1D,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,IAAI,CAACnjB,OAAO,CAACskB,QAAQ,KAAK,QAAQ,EAAE;QACtC,IAAI,CAACJ,0BAA0B,EAAE;AACjC,QAAA;AACF,MAAA;MAEA,IAAI,CAAC5W,IAAI,EAAE;AACb,IAAA,CAAC,CAAC;AACJ,EAAA;AACF;;ACrQA;AACA;AACA;AACA;AACA;AACA;;;AASA;AACA;AACA;;AAEA,MAAM1O,MAAI,GAAG,QAAQ;AACrB,MAAMsB,UAAQ,GAAG,WAAW;AAC5B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMiI,YAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM8L,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAMmkB,YAAY,GAAG,CAAA,MAAA,EAASnkB,WAAS,CAAA,CAAE;AACzC,MAAM6D,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE/D,MAAM0gB,mBAAmB,GAAG,iBAAiB;AAE7C,MAAMxgB,sBAAoB,GAAG,2BAA2B;AAExD,MAAMtF,SAAO,GAAG;AACd4lB,EAAAA,QAAQ,EAAE,IAAI;AACd/b,EAAAA,QAAQ,EAAE,IAAI;AACdgb,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAM5kB,aAAW,GAAG;AAClB2lB,EAAAA,QAAQ,EAAE,kBAAkB;AAC5B/b,EAAAA,QAAQ,EAAE,SAAS;AACnBgb,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAEA,MAAMkB,MAAM,SAASvB,UAAU,CAAC;AAC9B;EACA,WAAWxkB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA8lB,EAAAA,YAAYA,GAAG;AACb;AAAA,EAAA;;AAGF;;AAEAjB,EAAAA,eAAeA,GAAG;IAChB,OAAO;AACLF,MAAAA,KAAK,EAAE,IAAI,CAACvjB,OAAO,CAACujB,KAAK;AACzBC,MAAAA,iBAAiB,EAAE,IAAI,CAACxjB,OAAO,CAACujB;KACjC;AACH,EAAA;AAEAD,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAAC,IAAI,CAACtjB,OAAO,CAACujB,KAAK,EAAE;MACvB,IAAI,CAACxjB,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAACke,mBAAmB,CAAC;AAClD,IAAA;AACF,EAAA;AAEAZ,EAAAA,YAAYA,GAAG;IACb,IAAI,CAAC7jB,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACuxB,mBAAmB,CAAC;AACrD,EAAA;AAEAT,EAAAA,SAASA,GAAG;IACVxvB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEwkB,YAAY,CAAC;AACnD,EAAA;AACF;;AAEA;AACA;AACA;;AAEAhwB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;AACrF,EAAA,MAAMY,MAAM,GAAGoM,cAAc,CAACkB,sBAAsB,CAAC,IAAI,CAAC;AAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACtL,QAAQ,CAAC,IAAI,CAAC4L,OAAO,CAAC,EAAE;IACxCxO,KAAK,CAACyO,cAAc,EAAE;AACxB,EAAA;EAEArO,YAAY,CAAC0C,GAAG,CAAClC,MAAM,EAAEgX,YAAU,EAAEyH,SAAS,IAAI;IAChD,IAAIA,SAAS,CAAC5P,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEArP,IAAAA,YAAY,CAAC0C,GAAG,CAAClC,MAAM,EAAEmX,cAAY,EAAE,MAAM;AAC3C,MAAA,IAAItQ,SAAS,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,CAACgY,KAAK,EAAE;AACd,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,CAAC;;AAEF;AACA,EAAA,MAAM7U,MAAM,GAAGlG,WAAW,CAACK,iBAAiB,CAAC,IAAI,CAAC;;AAElD;AACA,EAAA,MAAMyrB,aAAa,GAAG,IAAI,CAAC1oB,OAAO,CAAC,cAAc,CAAC;AAClD,EAAA,MAAM2oB,UAAU,GAAGD,aAAa,IAAIA,aAAa,KAAK5vB,MAAM;AAE5D,EAAA,IAAI6vB,UAAU,EAAE;IACd,MAAMC,SAAS,GAAGJ,MAAM,CAAC/jB,mBAAmB,CAAC3L,MAAM,EAAEgK,MAAM,CAAC;AAC5D8lB,IAAAA,SAAS,CAACtX,IAAI,CAAC,IAAI,CAAC;AAEpB,IAAA,MAAMuX,eAAe,GAAGL,MAAM,CAAChkB,WAAW,CAACkkB,aAAa,CAAC;AACzD,IAAA,IAAIG,eAAe,EAAE;MACnBA,eAAe,CAACxX,IAAI,EAAE;AACxB,IAAA;AAEA,IAAA;AACF,EAAA;EAEA,MAAMpK,IAAI,GAAGuhB,MAAM,CAAC/jB,mBAAmB,CAAC3L,MAAM,EAAEgK,MAAM,CAAC;AACvDmE,EAAAA,IAAI,CAACiB,MAAM,CAAC,IAAI,CAAC;AACnB,CAAC,CAAC;AAEF5B,oBAAoB,CAACkiB,MAAM,CAAC;;ACzI5B;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM7lB,MAAI,GAAG,aAAa;AAC1B,MAAMsB,UAAQ,GAAG,gBAAgB;AACjC,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAM6kB,YAAY,GAAG,CAAA,MAAA,EAAS3kB,WAAS,CAAA,CAAE;AACzC,MAAM4kB,cAAc,GAAG,CAAA,QAAA,EAAW5kB,WAAS,CAAA,CAAE;AAE7C,MAAM6kB,mBAAmB,GAAG,cAAc;AAC1C,MAAMC,wBAAwB,GAAG,mBAAmB;AACpD,MAAMC,iBAAiB,GAAG,QAAQ;AAElC,MAAMC,iBAAiB,GAAG,WAAW;AACrC,MAAMC,iBAAiB,GAAG,WAAW;AACrC,MAAMC,wBAAwB,GAAG,sBAAsB;AACvD,MAAMC,sBAAsB,GAAG,oBAAoB;AACnD,MAAMC,oBAAoB,GAAG,yBAAyB;AACtD,MAAMC,eAAe,GAAG,mBAAmB;AAE3C,MAAM/mB,SAAO,GAAG;AACdgnB,EAAAA,aAAa,EAAE,CAAC;AAChBC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,aAAa,EAAE,YAAY;AAC3BC,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,QAAQ,EAAE,qPAAqP;EAC/PC,SAAS,EAAE,CAAC;AACd,CAAC;AAED,MAAMpnB,aAAW,GAAG;AAClB+mB,EAAAA,aAAa,EAAE,iBAAiB;AAChCC,EAAAA,aAAa,EAAE,QAAQ;AACvBC,EAAAA,aAAa,EAAE,QAAQ;AACvBC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,WAAW,SAASlmB,aAAa,CAAC;AACtCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAACknB,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,cAAc,GAAG,EAAE;IACxB,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,cAAc,GAAG,CAAC;IACvB,IAAI,CAACC,cAAc,GAAG,KAAK;IAE3B,IAAI,CAACC,KAAK,EAAE;AACd,EAAA;;AAEA;EACA,WAAW9nB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwV,EAAAA,MAAMA,GAAG;IACP,IAAI,CAACqS,kBAAkB,EAAE;IACzBlyB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEglB,YAAY,CAAC;AACnD,EAAA;AAEA5kB,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAACkmB,eAAe,EAAE;AACxB,MAAA,IAAI,CAACA,eAAe,CAAC1H,UAAU,EAAE;AACnC,IAAA;;AAEA;IACA,IAAI,CAAC+H,aAAa,EAAE;;AAEpB;IACA,IAAI,IAAI,CAACN,eAAe,IAAI,IAAI,CAACA,eAAe,CAACO,aAAa,EAAE;AAC9D,MAAA,IAAI,CAACP,eAAe,CAACO,aAAa,CAAC1zB,MAAM,EAAE;AAC7C,IAAA;IAEA,KAAK,CAACkN,OAAO,EAAE;AACjB,EAAA;;AAEA;AACAqmB,EAAAA,KAAKA,GAAG;AACN;IACA,IAAI,CAACzmB,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC2e,mBAAmB,CAAC;;AAEhD;AACA,IAAA,IAAI,CAACgB,MAAM,GAAG,CAAC,GAAG9kB,cAAc,CAAC5L,IAAI,CAAC6vB,iBAAiB,EAAE,IAAI,CAACrlB,QAAQ,CAAC,CAAC;;AAExE;AACA,IAAA,KAAK,MAAM,CAAC1B,KAAK,EAAEke,IAAI,CAAC,IAAI,IAAI,CAAC0J,MAAM,CAACnvB,OAAO,EAAE,EAAE;AACjDylB,MAAAA,IAAI,CAACljB,OAAO,CAACutB,UAAU,GAAGvoB,KAAK;AACjC,IAAA;;AAEA;AACA,IAAA,IAAI,CAACioB,cAAc,GAAG,IAAI,CAACO,qBAAqB,EAAE;;AAElD;IACA,IAAI,CAACC,mBAAmB,EAAE;;AAE1B;IACA,IAAI,CAACC,oBAAoB,EAAE;;AAE3B;IACA,IAAI,CAACN,kBAAkB,EAAE;IAEzB,IAAI,CAACF,cAAc,GAAG,IAAI;AAC5B,EAAA;AAEAO,EAAAA,mBAAmBA,GAAG;AACpB;AACA,IAAA,IAAI,CAACV,eAAe,GAAGjlB,cAAc,CAACG,OAAO,CAACgkB,wBAAwB,EAAE,IAAI,CAACvlB,QAAQ,CAAC;IAEtF,IAAI,IAAI,CAACqmB,eAAe,EAAE;AACxB,MAAA,IAAI,CAACD,aAAa,GAAGhlB,cAAc,CAACG,OAAO,CAACikB,sBAAsB,EAAE,IAAI,CAACxlB,QAAQ,CAAC;AAClF,MAAA;AACF,IAAA;AAEA,IAAA,MAAMinB,QAAQ,GAAG,IAAI,CAACC,YAAY,EAAE;AACpC,IAAA,MAAMC,QAAQ,GAAG,CAAA,gCAAA,EAAmCF,QAAQ,CAAA,OAAA,CAAS;IACrE,MAAMG,QAAQ,GAAG,CAAA,gCAAA,EAAmC,IAAI,CAACnnB,OAAO,CAAC6lB,QAAQ,CAAA,OAAA,CAAS;IAClF,MAAMuB,aAAa,GAAG,IAAI,CAACpnB,OAAO,CAAC2lB,aAAa,KAAK,KAAK,GACxD,GAAGwB,QAAQ,CAAA,EAAGD,QAAQ,CAAA,CAAE,GACxB,GAAGA,QAAQ,CAAA,EAAGC,QAAQ,CAAA,CAAE;AAE1B,IAAA,MAAME,YAAY,GAAGxsB,QAAQ,CAACmhB,aAAa,CAAC,IAAI,CAAC;IACjDqL,YAAY,CAACC,SAAS,GAAG,4BAA4B;IACrDD,YAAY,CAACE,SAAS,GAAG;AAC7B,0GAAA,EAA4G,IAAI,CAACvnB,OAAO,CAAC4lB,aAAa,CAAA;AACtI,QAAA,EAAUwB,aAAa;AACvB;AACA,kBAAA,EAAoBlC,wBAAwB,CAAA;AAC5C,IAAA,CAAK;AAED,IAAA,IAAI,CAACnlB,QAAQ,CAACiW,MAAM,CAACqR,YAAY,CAAC;IAClC,IAAI,CAACjB,eAAe,GAAGiB,YAAY,CAAC1rB,aAAa,CAAC2pB,wBAAwB,CAAC;IAC3E,IAAI,CAACa,aAAa,GAAGkB,YAAY,CAAC1rB,aAAa,CAAC4pB,sBAAsB,CAAC;AACzE,EAAA;AAEA0B,EAAAA,YAAYA,GAAG;IACb,MAAMO,iBAAiB,GAAGrmB,cAAc,CAACG,OAAO,CAACkkB,oBAAoB,EAAE,IAAI,CAACzlB,QAAQ,CAAC;IAErF,IAAI,CAACynB,iBAAiB,EAAE;AACtB,MAAA,OAAO,IAAI,CAACxnB,OAAO,CAAC8lB,QAAQ;AAC9B,IAAA;AAEA,IAAA,MAAM2B,SAAS,GAAGD,iBAAiB,CAACE,SAAS,CAAC,IAAI,CAAC;AACnDD,IAAAA,SAAS,CAACxuB,eAAe,CAAC,uBAAuB,CAAC;AAClD,IAAA,MAAM+tB,QAAQ,GAAGS,SAAS,CAACE,SAAS;IAEpCH,iBAAiB,CAACv0B,MAAM,EAAE;AAE1B,IAAA,OAAO+zB,QAAQ;AACjB,EAAA;AAEAH,EAAAA,qBAAqBA,GAAG;AACtB,IAAA,MAAM7zB,KAAK,GAAG,IAAI,CAACgN,OAAO,CAAC0lB,aAAa;AAExC,IAAA,IAAI,OAAO1yB,KAAK,KAAK,QAAQ,EAAE;AAC7B,MAAA,OAAOA,KAAK;AACd,IAAA;IAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,EAAE,EAAE;AAC7C,MAAA,MAAM40B,QAAQ,GAAG1sB,gBAAgB,CAACL,QAAQ,CAAC6B,eAAe,CAAC,CACxDX,gBAAgB,CAAC,CAAA,gBAAA,EAAmB/I,KAAK,EAAE,CAAC;AAC/C,MAAA,OAAOqF,MAAM,CAAC+C,UAAU,CAACwsB,QAAQ,CAAC,IAAI,CAAC;AACzC,IAAA;AAEA,IAAA,OAAO,CAAC;AACV,EAAA;AAEAb,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,IAAI,OAAOc,cAAc,KAAK,WAAW,EAAE;AACzC;AACAtzB,MAAAA,YAAY,CAACyC,EAAE,CAAC+C,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC0sB,kBAAkB,EAAE,CAAC;AAClE,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACJ,eAAe,GAAG,IAAIwB,cAAc,CAAC,MAAM;MAC9C,IAAI,CAACpB,kBAAkB,EAAE;AAC3B,IAAA,CAAC,CAAC;IAEF,IAAI,CAACJ,eAAe,CAAC7F,OAAO,CAAC,IAAI,CAACzgB,QAAQ,CAAC;AAC7C,EAAA;AAEA0mB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,IAAI,CAACC,aAAa,EAAE;AAEpB,IAAA,MAAMoB,QAAQ,GAAG,IAAI,CAAC/nB,QAAQ,CAACgoB,WAAW;IAC1C,MAAMV,YAAY,GAAG,IAAI,CAACjB,eAAe,EAAEnqB,OAAO,CAAC,WAAW,CAAC;;AAE/D;IACA,IAAI,IAAI,CAACqqB,cAAc,GAAG,CAAC,IAAIwB,QAAQ,GAAG,IAAI,CAACxB,cAAc,EAAE;AAC7D,MAAA,MAAM0B,eAAe,GAAG,IAAI,CAAC/B,MAAM,CAAC3sB,MAAM,CACxCijB,IAAI,IAAI,CAACA,IAAI,CAACjgB,SAAS,CAACrG,QAAQ,CAACwvB,eAAe,CAClD,CAAC;AAED,MAAA,IAAI,CAACwC,eAAe,CAACD,eAAe,CAAC;AAErC,MAAA,IAAIX,YAAY,EAAE;AAChB,QAAA,IAAIW,eAAe,CAAC3wB,MAAM,GAAG,CAAC,EAAE;AAC9BgwB,UAAAA,YAAY,CAAC/qB,SAAS,CAACrJ,MAAM,CAACkyB,iBAAiB,CAAC;AAClD,QAAA,CAAC,MAAM;AACLkC,UAAAA,YAAY,CAAC/qB,SAAS,CAACgK,GAAG,CAAC6e,iBAAiB,CAAC;AAC/C,QAAA;AACF,MAAA;AAEA,MAAA,IAAI6C,eAAe,CAAC3wB,MAAM,GAAG,CAAC,EAAE;QAC9B9C,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEilB,cAAc,EAAE;UAClDkD,aAAa,EAAEF,eAAe,CAAC3wB,MAAM;UACrC8lB,YAAY,EAAE,IAAI,CAAC8I,MAAM,CAAC5uB,MAAM,GAAG2wB,eAAe,CAAC3wB;AACrD,SAAC,CAAC;AACJ,MAAA;AAEA,MAAA;AACF,IAAA;AAEA,IAAA,MAAM8wB,aAAa,GAAGd,YAAY,EAAEU,WAAW,IAAI,CAAC;IAEpD,IAAIK,SAAS,GAAG,CAAC;IACjB,MAAMJ,eAAe,GAAG,EAAE;AAC1B,IAAA,MAAMK,iBAAiB,GAAGP,QAAQ,GAAGK,aAAa,GAAG,EAAE,CAAA;;AAEvD;AACA,IAAA,KAAK,MAAM5L,IAAI,IAAI,IAAI,CAAC0J,MAAM,EAAE;AAC9B,MAAA,MAAMqC,SAAS,GAAG/L,IAAI,CAACwL,WAAW;AAClCK,MAAAA,SAAS,IAAIE,SAAS;;AAEtB;MACA,IAAI/L,IAAI,CAACjgB,SAAS,CAACrG,QAAQ,CAACwvB,eAAe,CAAC,EAAE;AAC5C,QAAA;AACF,MAAA;MAEA,IAAI2C,SAAS,GAAGC,iBAAiB,EAAE;AACjCL,QAAAA,eAAe,CAACpmB,IAAI,CAAC2a,IAAI,CAAC;AAC5B,MAAA;AACF,IAAA;;AAEA;IACA,MAAMY,YAAY,GAAG,IAAI,CAAC8I,MAAM,CAAC5uB,MAAM,GAAG2wB,eAAe,CAAC3wB,MAAM;AAChE,IAAA,IAAI8lB,YAAY,GAAG,IAAI,CAACnd,OAAO,CAAC+lB,SAAS,IAAI,IAAI,CAACE,MAAM,CAAC5uB,MAAM,GAAG,IAAI,CAAC2I,OAAO,CAAC+lB,SAAS,EAAE;AACxF;AACA,MAAA,MAAMwC,MAAM,GAAG,IAAI,CAACtC,MAAM,CAAC1uB,KAAK,CAAC,IAAI,CAACyI,OAAO,CAAC+lB,SAAS,CAAC,CAACzsB,MAAM,CAACijB,IAAI,IAAI,CAACA,IAAI,CAACjgB,SAAS,CAACrG,QAAQ,CAACwvB,eAAe,CAAC,CAAC;MAClHuC,eAAe,CAAC3wB,MAAM,GAAG,CAAC;AAC1B2wB,MAAAA,eAAe,CAACpmB,IAAI,CAAC,GAAG2mB,MAAM,CAAC;AACjC,IAAA;;AAEA;AACA,IAAA,IAAI,CAACN,eAAe,CAACD,eAAe,CAAC;;AAErC;AACA,IAAA,IAAIX,YAAY,EAAE;AAChB,MAAA,IAAIW,eAAe,CAAC3wB,MAAM,GAAG,CAAC,EAAE;AAC9BgwB,QAAAA,YAAY,CAAC/qB,SAAS,CAACrJ,MAAM,CAACkyB,iBAAiB,CAAC;AAClD,MAAA,CAAC,MAAM;AACLkC,QAAAA,YAAY,CAAC/qB,SAAS,CAACgK,GAAG,CAAC6e,iBAAiB,CAAC;AAC/C,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI6C,eAAe,CAAC3wB,MAAM,GAAG,CAAC,EAAE;MAC9B9C,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEilB,cAAc,EAAE;QAClDkD,aAAa,EAAEF,eAAe,CAAC3wB,MAAM;QACrC8lB,YAAY,EAAE,IAAI,CAAC8I,MAAM,CAAC5uB,MAAM,GAAG2wB,eAAe,CAAC3wB;AACrD,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEA4wB,eAAeA,CAACpe,KAAK,EAAE;AACrB,IAAA,IAAI,CAAC,IAAI,CAACsc,aAAa,EAAE;AACvB,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI,CAACA,aAAa,CAACoB,SAAS,GAAG,EAAE;IACjC,IAAI,CAACrB,cAAc,GAAG,EAAE;AAExB,IAAA,KAAK,MAAM3J,IAAI,IAAI1S,KAAK,EAAE;MACxB,MAAM2e,IAAI,GAAGrnB,cAAc,CAACG,OAAO,CAAC+jB,iBAAiB,EAAE9I,IAAI,CAAC;MAC5D,IAAI,CAACiM,IAAI,EAAE;AACT,QAAA;AACF,MAAA;AAEA,MAAA,MAAMC,UAAU,GAAGD,IAAI,CAACd,SAAS,CAAC,IAAI,CAAC;MACvCe,UAAU,CAACnB,SAAS,GAAG,WAAW;MAElC,IAAIkB,IAAI,CAAClsB,SAAS,CAACrG,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACrCwyB,QAAAA,UAAU,CAACnsB,SAAS,CAACgK,GAAG,CAAC,QAAQ,CAAC;AACpC,MAAA;AAEA,MAAA,IAAIkiB,IAAI,CAAClsB,SAAS,CAACrG,QAAQ,CAAC,UAAU,CAAC,IAAIuyB,IAAI,CAAChsB,YAAY,CAAC,UAAU,CAAC,EAAE;AACxEisB,QAAAA,UAAU,CAACnsB,SAAS,CAACgK,GAAG,CAAC,UAAU,CAAC;AACtC,MAAA;AAEA,MAAA,IAAI,CAAC6f,aAAa,CAACnQ,MAAM,CAACyS,UAAU,CAAC;;AAErC;AACAlM,MAAAA,IAAI,CAACjgB,SAAS,CAACgK,GAAG,CAAC6e,iBAAiB,CAAC;AACrC5I,MAAAA,IAAI,CAACljB,OAAO,CAACqvB,aAAa,GAAG,MAAM;AAEnC,MAAA,IAAI,CAACxC,cAAc,CAACtkB,IAAI,CAAC2a,IAAI,CAAC;AAChC,IAAA;AACF,EAAA;AAEAmK,EAAAA,aAAaA,GAAG;AACd,IAAA,KAAK,MAAMnK,IAAI,IAAI,IAAI,CAAC0J,MAAM,EAAE;AAC9B1J,MAAAA,IAAI,CAACjgB,SAAS,CAACrJ,MAAM,CAACkyB,iBAAiB,CAAC;AACxC,MAAA,OAAO5I,IAAI,CAACljB,OAAO,CAACqvB,aAAa;AACnC,IAAA;IAEA,IAAI,IAAI,CAACvC,aAAa,EAAE;AACtB,MAAA,IAAI,CAACA,aAAa,CAACoB,SAAS,GAAG,EAAE;AACnC,IAAA;IAEA,IAAI,CAACrB,cAAc,GAAG,EAAE;AAC1B,EAAA;AACF;;AAEA;AACA;AACA;;AAEA3xB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE,kBAAkB,EAAE,MAAM;EAClD,KAAK,MAAM5I,OAAO,IAAIkP,cAAc,CAAC5L,IAAI,CAAC,iCAAiC,CAAC,EAAE;AAC5EywB,IAAAA,WAAW,CAACtlB,mBAAmB,CAACzO,OAAO,CAAC;AAC1C,EAAA;AACF,CAAC,CAAC;;AC/VF;AACA;AACA;AACA;AACA;AACA;;;AAaA;AACA;AACA;;AAEA,MAAM2M,MAAI,GAAG,QAAQ;AACrB,MAAMsB,UAAQ,GAAG,WAAW;AAC5B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAChC,MAAMyD,qBAAmB,GAAG,CAAA,IAAA,EAAOnH,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE7D,MAAMoI,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAMuoB,YAAY,GAAG,CAAA,MAAA,EAASvoB,WAAS,CAAA,CAAE;AACzC,MAAM6D,sBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE;AAE/D,MAAME,sBAAoB,GAAG,2BAA2B;AAExD,MAAMtF,SAAO,GAAG;AACd4lB,EAAAA,QAAQ,EAAE,IAAI;AACd/b,EAAAA,QAAQ,EAAE,IAAI;AACdqgB,EAAAA,MAAM,EAAE;AACV,CAAC;AAED,MAAMjqB,aAAW,GAAG;AAClB2lB,EAAAA,QAAQ,EAAE,kBAAkB;AAC5B/b,EAAAA,QAAQ,EAAE,SAAS;AACnBqgB,EAAAA,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,MAAM,SAAS3F,UAAU,CAAC;AAC9B9jB,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IACtB,IAAI,CAACkK,YAAY,GAAG,IAAI;AAC1B,EAAA;;AAEA;EACA,WAAWvK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuB,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAAC8I,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAAC9I,OAAO,EAAE;AAC7B,IAAA;IAEA,KAAK,CAACA,OAAO,EAAE;AACjB,EAAA;;AAEA;;AAEAsjB,EAAAA,eAAeA,GAAG;AAChB,IAAA,MAAMqF,QAAQ,GAAGryB,OAAO,CAAC,IAAI,CAACuJ,OAAO,CAACskB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACtkB,OAAO,CAAC4oB,MAAM;IACvE,OAAO;AACLrF,MAAAA,KAAK,EAAEuF,QAAQ;AACftF,MAAAA,iBAAiB,EAAE,CAAC,IAAI,CAACxjB,OAAO,CAAC4oB;KAClC;AACH,EAAA;AAEAtF,EAAAA,aAAaA,GAAG;IACd,IAAI,CAACyF,UAAU,EAAE;AACnB,EAAA;AAEAlF,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,OAAO,gBAAgB;AACzB,EAAA;AAEAC,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,OAAO,eAAe;AACxB,EAAA;;AAEA;;AAEAiF,EAAAA,UAAUA,GAAG;IACX,IAAI,IAAI,CAAC9f,YAAY,IAAI,CAAC9D,KAAK,CAACC,WAAW,EAAE,EAAE;AAC7C,MAAA;AACF,IAAA;;AAEA;IACA,MAAMqF,WAAW,GAAG,EAAE;AACtB,IAAA,MAAMxY,OAAO,GAAG,IAAI,CAAC8N,QAAQ;IAE7B,IAAI9N,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAAC,eAAe,CAAC,EAAE;MAC/CwU,WAAW,CAACvF,YAAY,GAAG,MAAM,IAAI,CAACoI,IAAI,EAAE;IAC9C,CAAC,MAAM,IAAIrb,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAAC,YAAY,CAAC,EAAE;MACnDwU,WAAW,CAACxF,UAAU,GAAG,MAAM,IAAI,CAACqI,IAAI,EAAE;IAC5C,CAAC,MAAM,IAAIrb,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAAC,YAAY,CAAC,EAAE;AACnD;MACA,IAAIiH,OAAK,EAAE,EAAE;QACXuN,WAAW,CAAC1F,YAAY,GAAG,MAAM,IAAI,CAACuI,IAAI,EAAE;AAC9C,MAAA,CAAC,MAAM;QACL7C,WAAW,CAACzF,aAAa,GAAG,MAAM,IAAI,CAACsI,IAAI,EAAE;AAC/C,MAAA;AACF,IAAA,CAAC,MAAM,IAAIpQ,OAAK,EAAE,EAAE;AAClB;MACAuN,WAAW,CAACzF,aAAa,GAAG,MAAM,IAAI,CAACsI,IAAI,EAAE;AAC/C,IAAA,CAAC,MAAM;AACL;MACA7C,WAAW,CAAC1F,YAAY,GAAG,MAAM,IAAI,CAACuI,IAAI,EAAE;AAC9C,IAAA;IAEA,IAAI,CAACrE,YAAY,GAAG,IAAI9D,KAAK,CAAClT,OAAO,EAAEwY,WAAW,CAAC;AACrD,EAAA;AACF;;AAEA;AACA;AACA;;AAEAlW,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;AACrF,EAAA,MAAMY,MAAM,GAAGoM,cAAc,CAACkB,sBAAsB,CAAC,IAAI,CAAC;AAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACtL,QAAQ,CAAC,IAAI,CAAC4L,OAAO,CAAC,EAAE;IACxCxO,KAAK,CAACyO,cAAc,EAAE;AACxB,EAAA;AAEA,EAAA,IAAIzG,UAAU,CAAC,IAAI,CAAC,EAAE;AACpB,IAAA;AACF,EAAA;AAEA5H,EAAAA,YAAY,CAAC0C,GAAG,CAAClC,MAAM,EAAEmX,cAAY,EAAE,MAAM;AAC3C,IAAA,IAAItQ,SAAS,CAAC,IAAI,CAAC,EAAE;MACnB,IAAI,CAACgY,KAAK,EAAE;AACd,IAAA;AACF,EAAA,CAAC,CAAC;;AAEF;AACA,EAAA,MAAMoV,WAAW,GAAG7nB,cAAc,CAACG,OAAO,CAAC,qBAAqB,CAAC;AACjE,EAAA,IAAI0nB,WAAW,IAAIA,WAAW,KAAKj0B,MAAM,EAAE;IACzC8zB,MAAM,CAACpoB,WAAW,CAACuoB,WAAW,CAAC,CAAC1b,IAAI,EAAE;AACxC,EAAA;AAEA,EAAA,MAAMpK,IAAI,GAAG2lB,MAAM,CAACnoB,mBAAmB,CAAC3L,MAAM,CAAC;AAC/CmO,EAAAA,IAAI,CAACiB,MAAM,CAAC,IAAI,CAAC;AACnB,CAAC,CAAC;AAEF5P,YAAY,CAACyC,EAAE,CAAC+C,MAAM,EAAEwN,qBAAmB,EAAE,MAAM;EACjD,KAAK,MAAM3S,QAAQ,IAAIuM,cAAc,CAAC5L,IAAI,CAAC,qBAAqB,CAAC,EAAE;IACjEszB,MAAM,CAACnoB,mBAAmB,CAAC9L,QAAQ,CAAC,CAAC2Y,IAAI,EAAE;AAC7C,EAAA;AACF,CAAC,CAAC;AAEFhZ,YAAY,CAACyC,EAAE,CAAC+C,MAAM,EAAE4uB,YAAY,EAAE,MAAM;EAC1C,KAAK,MAAM12B,OAAO,IAAIkP,cAAc,CAAC5L,IAAI,CAAC,kCAAkC,CAAC,EAAE;IAC7E,IAAI2F,gBAAgB,CAACjJ,OAAO,CAAC,CAACmkB,QAAQ,KAAK,OAAO,EAAE;MAClDyS,MAAM,CAACnoB,mBAAmB,CAACzO,OAAO,CAAC,CAACqb,IAAI,EAAE;AAC5C,IAAA;AACF,EAAA;AACF,CAAC,CAAC;AAEF/K,oBAAoB,CAACsmB,MAAM,CAAC;;ACnL5B;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMjqB,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMmlB,qBAAqB,GAAG,CAAA,cAAA,EAAiB7oB,WAAS,CAAA,CAAE;AAE1D,MAAM8oB,sBAAsB,GAAG,oBAAoB;AAEnD,MAAMC,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AAE1D,MAAMzqB,SAAO,GAAG;AACd0qB,EAAAA,KAAK,EAAE,IAAI;AAAE;AACbC,EAAAA,SAAS,EAAE,CAAC;AACZC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,MAAM,EAAE;GACT;AACDC,EAAAA,OAAO,EAAE;AACPN,IAAAA,SAAS,EAAE,CAAC;AACZO,IAAAA,WAAW,EAAE,CAAC;AACdC,IAAAA,SAAS,EAAE,CAAC;AACZC,IAAAA,SAAS,EAAE,CAAC;AACZC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,eAAe,EAAE,CAAC;AAClBC,IAAAA,YAAY,EAAE;GACf;AACDC,EAAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAAE;EACvBC,MAAM,EAAE,IAAI;AACd,CAAC;AAED,MAAMzrB,aAAW,GAAG;AAClByqB,EAAAA,KAAK,EAAE,uBAAuB;AAC9BC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,QAAQ,EAAE,QAAQ;AAClBK,EAAAA,OAAO,EAAE,QAAQ;AACjBQ,EAAAA,UAAU,EAAE,OAAO;AACnBC,EAAAA,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAASvqB,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAACurB,MAAM,GAAG,IAAI,CAACC,SAAS,EAAE;AAC9B,IAAA,IAAI,CAACC,SAAS,GAAGrpB,cAAc,CAAC5L,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAACwK,QAAQ,CAAC;AACxE,IAAA,IAAI,CAAC0qB,YAAY,GAAGtpB,cAAc,CAACG,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAACvB,QAAQ,CAAC4mB,aAAa,CAAC;IACzF,IAAI,CAAC+D,gBAAgB,GAAG,IAAI;IAE5B,IAAI,IAAI,CAACJ,MAAM,EAAE;MACf,IAAI,CAACnhB,kBAAkB,EAAE;AACzB;MACA,IAAI,CAACwhB,SAAS,EAAE;AAClB,IAAA;AACF,EAAA;;AAEA;EACA,WAAWjsB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAgsB,EAAAA,WAAWA,GAAG;IACZ,OAAO,IAAI,CAACF,gBAAgB;AAC9B,EAAA;AAEAG,EAAAA,QAAQA,GAAG;IACT,IAAI,CAACF,SAAS,EAAE;AAClB,EAAA;;AAEA;AACAJ,EAAAA,SAASA,GAAG;AACV,IAAA,IAAI,IAAI,CAACvqB,OAAO,CAACopB,KAAK,EAAE;MACtB,OAAO,OAAO,IAAI,CAACppB,OAAO,CAACopB,KAAK,KAAK,QAAQ,GAC3CjoB,cAAc,CAACG,OAAO,CAAC,IAAI,CAACtB,OAAO,CAACopB,KAAK,CAAC,GAC1C,IAAI,CAACppB,OAAO,CAACopB,KAAK;AACtB,IAAA;;AAEA;AACA,IAAA,MAAMzc,MAAM,GAAG,IAAI,CAAC5M,QAAQ,CAAC4mB,aAAa;AAC1C,IAAA,OAAOxlB,cAAc,CAACG,OAAO,CAAC,wBAAwB,EAAEqL,MAAM,CAAC;AACjE,EAAA;AAEAxD,EAAAA,kBAAkBA,GAAG;AACnB5U,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAACK,SAAS,EAAE,CAAC;AAC7Dp2B,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAACK,SAAS,EAAE,CAAC;AAChE,EAAA;AAEAA,EAAAA,SAASA,GAAG;AACV,IAAA,MAAMG,QAAQ,GAAG,IAAI,CAACR,MAAM,CAACt3B,KAAK;AAClC,IAAA,MAAM+3B,KAAK,GAAG,IAAI,CAACC,eAAe,CAACF,QAAQ,CAAC;AAC5C,IAAA,MAAMG,QAAQ,GAAG,IAAI,CAACC,gBAAgB,CAACH,KAAK,CAAC;AAE7C,IAAA,IAAIE,QAAQ,KAAK,IAAI,CAACP,gBAAgB,EAAE;MACtC,IAAI,CAACA,gBAAgB,GAAGO,QAAQ;AAChC,MAAA,IAAI,CAACE,SAAS,CAACF,QAAQ,EAAEF,KAAK,CAAC;MAE/Bx2B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEkpB,qBAAqB,EAAE;QACzDgC,QAAQ;QACRF,KAAK;QACLD,QAAQ,EAAEA,QAAQ,CAACzzB,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;AAC5C,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEA2zB,eAAeA,CAACF,QAAQ,EAAE;IACxB,IAAI,CAACA,QAAQ,EAAE;AACb,MAAA,OAAO,CAAC;AACV,IAAA;;AAEA;IACA,IAAI,OAAO,IAAI,CAAC9qB,OAAO,CAACoqB,MAAM,KAAK,UAAU,EAAE;AAC7C,MAAA,OAAO,IAAI,CAACpqB,OAAO,CAACoqB,MAAM,CAACU,QAAQ,CAAC;AACtC,IAAA;IAEA,MAAM;AAAEnB,MAAAA;KAAS,GAAG,IAAI,CAAC3pB,OAAO;IAChC,IAAI+qB,KAAK,GAAG,CAAC;;AAEb;IACA,IAAID,QAAQ,CAACzzB,MAAM,IAAI,IAAI,CAAC2I,OAAO,CAACqpB,SAAS,EAAE;MAC7C0B,KAAK,IAAIpB,OAAO,CAACN,SAAS;AAC5B,IAAA;IAEA,IAAIyB,QAAQ,CAACzzB,MAAM,IAAI,IAAI,CAAC2I,OAAO,CAACqpB,SAAS,GAAG,CAAC,EAAE;MACjD0B,KAAK,IAAIpB,OAAO,CAACC,WAAW;AAC9B,IAAA;;AAEA;AACA,IAAA,IAAI,OAAO,CAAClqB,IAAI,CAACorB,QAAQ,CAAC,EAAE;MAC1BC,KAAK,IAAIpB,OAAO,CAACE,SAAS;AAC5B,IAAA;AAEA,IAAA,IAAI,OAAO,CAACnqB,IAAI,CAACorB,QAAQ,CAAC,EAAE;MAC1BC,KAAK,IAAIpB,OAAO,CAACG,SAAS;AAC5B,IAAA;AAEA,IAAA,IAAI,IAAI,CAACpqB,IAAI,CAACorB,QAAQ,CAAC,EAAE;MACvBC,KAAK,IAAIpB,OAAO,CAACI,OAAO;AAC1B,IAAA;;AAEA;AACA,IAAA,IAAI,wBAAwB,CAACrqB,IAAI,CAACorB,QAAQ,CAAC,EAAE;MAC3CC,KAAK,IAAIpB,OAAO,CAACK,OAAO;AAC1B,IAAA;;AAEA;AACA,IAAA,IAAI,gDAAgD,CAACtqB,IAAI,CAACorB,QAAQ,CAAC,EAAE;MACnEC,KAAK,IAAIpB,OAAO,CAACM,eAAe;AAClC,IAAA;AAEA,IAAA,IAAIa,QAAQ,CAACzzB,MAAM,IAAI,EAAE,EAAE;MACzB0zB,KAAK,IAAIpB,OAAO,CAACO,YAAY;AAC/B,IAAA;AAEA,IAAA,OAAOa,KAAK;AACd,EAAA;EAEAG,gBAAgBA,CAACH,KAAK,EAAE;IACtB,IAAIA,KAAK,KAAK,CAAC,EAAE;AACf,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,MAAM,CAACxB,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC,GAAG,IAAI,CAACzpB,OAAO,CAACmqB,UAAU;IAElD,IAAIY,KAAK,IAAIxB,IAAI,EAAE;AACjB,MAAA,OAAO,MAAM;AACf,IAAA;IAEA,IAAIwB,KAAK,IAAIvB,IAAI,EAAE;AACjB,MAAA,OAAO,MAAM;AACf,IAAA;IAEA,IAAIuB,KAAK,IAAItB,IAAI,EAAE;AACjB,MAAA,OAAO,MAAM;AACf,IAAA;AAEA,IAAA,OAAO,QAAQ;AACjB,EAAA;EAEA0B,SAASA,CAACF,QAAQ,EAAE;AAClB;AACA,IAAA,IAAIA,QAAQ,EAAE;AACZ,MAAA,IAAI,CAAClrB,QAAQ,CAAC1G,OAAO,CAAC+xB,UAAU,GAAGH,QAAQ;AAC7C,IAAA,CAAC,MAAM;AACL,MAAA,OAAO,IAAI,CAAClrB,QAAQ,CAAC1G,OAAO,CAAC+xB,UAAU;AACzC,IAAA;;AAEA;AACA,IAAA,MAAMC,aAAa,GAAGJ,QAAQ,GAAG9B,eAAe,CAAC7qB,OAAO,CAAC2sB,QAAQ,CAAC,GAAG,EAAE;AAEvE,IAAA,KAAK,MAAM,CAAC5sB,KAAK,EAAEitB,OAAO,CAAC,IAAI,IAAI,CAACd,SAAS,CAAC1zB,OAAO,EAAE,EAAE;MACvD,IAAIuH,KAAK,IAAIgtB,aAAa,EAAE;AAC1BC,QAAAA,OAAO,CAAChvB,SAAS,CAACgK,GAAG,CAAC,QAAQ,CAAC;AACjC,MAAA,CAAC,MAAM;AACLglB,QAAAA,OAAO,CAAChvB,SAAS,CAACrJ,MAAM,CAAC,QAAQ,CAAC;AACpC,MAAA;AACF,IAAA;;AAEA;IACA,IAAI,IAAI,CAACw3B,YAAY,EAAE;MACrB,IAAIQ,QAAQ,IAAI,IAAI,CAACjrB,OAAO,CAACspB,QAAQ,CAAC2B,QAAQ,CAAC,EAAE;AAC/C,QAAA,IAAI,CAACR,YAAY,CAAC3N,WAAW,GAAG,IAAI,CAAC9c,OAAO,CAACspB,QAAQ,CAAC2B,QAAQ,CAAC;AAC/D,QAAA,IAAI,CAACR,YAAY,CAACpxB,OAAO,CAAC+xB,UAAU,GAAGH,QAAQ;;AAE/C;AACA,QAAA,MAAMM,QAAQ,GAAG;AACfhC,UAAAA,IAAI,EAAE,QAAQ;AACdC,UAAAA,IAAI,EAAE,SAAS;AACfC,UAAAA,IAAI,EAAE,MAAM;AACZC,UAAAA,MAAM,EAAE;SACT;AACD,QAAA,IAAI,CAACe,YAAY,CAAC3c,KAAK,CAAC0d,WAAW,CAAC,kBAAkB,EAAE,SAASD,QAAQ,CAACN,QAAQ,CAAC,QAAQ,CAAC;AAC9F,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACR,YAAY,CAAC3N,WAAW,GAAG,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC2N,YAAY,CAACpxB,OAAO,CAAC+xB,UAAU;AAC7C,MAAA;AACF,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA72B,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM7R,OAAO,IAAIkP,cAAc,CAAC5L,IAAI,CAAC2zB,sBAAsB,CAAC,EAAE;AACjEmB,IAAAA,QAAQ,CAAC3pB,mBAAmB,CAACzO,OAAO,CAAC;AACvC,EAAA;AACF,CAAC,CAAC;;AClQF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM2M,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,cAAc;AAC/B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAM2nB,cAAc,GAAG,CAAA,QAAA,EAAWrrB,WAAS,CAAA,CAAE;AAC7C,MAAMsrB,WAAW,GAAG,CAAA,KAAA,EAAQtrB,WAAS,CAAA,CAAE;AAEvC,MAAMurB,iBAAiB,GAAG,eAAe;AACzC,MAAMC,cAAc,GAAG,OAAO;AAE9B,MAAMltB,SAAO,GAAG;AACdrH,EAAAA,MAAM,EAAE,CAAC;AACTw0B,EAAAA,IAAI,EAAE;AACR,CAAC;AAED,MAAMltB,aAAW,GAAG;AAClBtH,EAAAA,MAAM,EAAE,QAAQ;AAChBw0B,EAAAA,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAAShsB,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAACgtB,OAAO,GAAG5qB,cAAc,CAAC5L,IAAI,CAACq2B,cAAc,EAAE,IAAI,CAAC7rB,QAAQ,CAAC;IACjE,IAAI,CAACisB,YAAY,EAAE;IACnB,IAAI,CAAC7iB,kBAAkB,EAAE;AAC3B,EAAA;;AAEA;EACA,WAAWzK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAqtB,EAAAA,QAAQA,GAAG;AACT,IAAA,OAAO,IAAI,CAACF,OAAO,CAAC/qB,GAAG,CAACooB,KAAK,IAAIA,KAAK,CAACp2B,KAAK,CAAC,CAACkO,IAAI,CAAC,EAAE,CAAC;AACxD,EAAA;EAEAgrB,QAAQA,CAACl5B,KAAK,EAAE;IACd,MAAMm5B,KAAK,GAAGvJ,MAAM,CAAC5vB,KAAK,CAAC,CAACsI,KAAK,CAAC,EAAE,CAAC;AACrC,IAAA,KAAK,MAAM,CAAC+C,KAAK,EAAE+qB,KAAK,CAAC,IAAI,IAAI,CAAC2C,OAAO,CAACj1B,OAAO,EAAE,EAAE;MACnDsyB,KAAK,CAACp2B,KAAK,GAAGm5B,KAAK,CAAC9tB,KAAK,CAAC,IAAI,EAAE;AAClC,IAAA;IAEA,IAAI,CAAC+tB,cAAc,EAAE;AACvB,EAAA;AAEArU,EAAAA,KAAKA,GAAG;AACN,IAAA,KAAK,MAAMqR,KAAK,IAAI,IAAI,CAAC2C,OAAO,EAAE;MAChC3C,KAAK,CAACp2B,KAAK,GAAG,EAAE;AAClB,IAAA;IAEA,IAAI,CAAC+4B,OAAO,CAAC,CAAC,CAAC,EAAEnY,KAAK,EAAE;AAC1B,EAAA;AAEAA,EAAAA,KAAKA,GAAG;AACN;AACA,IAAA,MAAMyY,UAAU,GAAG,IAAI,CAACN,OAAO,CAACx2B,IAAI,CAAC6zB,KAAK,IAAI,CAACA,KAAK,CAACp2B,KAAK,CAAC;AAC3D,IAAA,IAAIq5B,UAAU,EAAE;MACdA,UAAU,CAACzY,KAAK,EAAE;AACpB,IAAA,CAAC,MAAM;MACL,IAAI,CAACmY,OAAO,CAACO,EAAE,CAAC,EAAE,CAAC,EAAE1Y,KAAK,EAAE;AAC9B,IAAA;AACF,EAAA;;AAEA;AACAoY,EAAAA,YAAYA,GAAG;AACb,IAAA,KAAK,MAAM5C,KAAK,IAAI,IAAI,CAAC2C,OAAO,EAAE;AAChC;AACA3C,MAAAA,KAAK,CAACrwB,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;AACpCqwB,MAAAA,KAAK,CAACrwB,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC;AAC1CqwB,MAAAA,KAAK,CAACrwB,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;;AAErC;MACA,IAAIqwB,KAAK,KAAK,IAAI,CAAC2C,OAAO,CAAC,CAAC,CAAC,EAAE;AAC7B3C,QAAAA,KAAK,CAACrwB,YAAY,CAAC,cAAc,EAAE,eAAe,CAAC;AACrD,MAAA,CAAC,MAAM;AACLqwB,QAAAA,KAAK,CAACrwB,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC;AAC3C,MAAA;;AAEA;AACA,MAAA,IAAI,IAAI,CAACiH,OAAO,CAAC6rB,IAAI,EAAE;AACrBzC,QAAAA,KAAK,CAACrwB,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;AACxC,MAAA;AACF,IAAA;AACF,EAAA;AAEAoQ,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,KAAK,MAAM,CAAC9K,KAAK,EAAE+qB,KAAK,CAAC,IAAI,IAAI,CAAC2C,OAAO,CAACj1B,OAAO,EAAE,EAAE;AACnDvC,MAAAA,YAAY,CAACyC,EAAE,CAACoyB,KAAK,EAAE,OAAO,EAAEj1B,KAAK,IAAI,IAAI,CAACo4B,YAAY,CAACp4B,KAAK,EAAEkK,KAAK,CAAC,CAAC;AACzE9J,MAAAA,YAAY,CAACyC,EAAE,CAACoyB,KAAK,EAAE,SAAS,EAAEj1B,KAAK,IAAI,IAAI,CAACq4B,cAAc,CAACr4B,KAAK,EAAEkK,KAAK,CAAC,CAAC;AAC7E9J,MAAAA,YAAY,CAACyC,EAAE,CAACoyB,KAAK,EAAE,OAAO,EAAEj1B,KAAK,IAAI,IAAI,CAACs4B,YAAY,CAACt4B,KAAK,CAAC,CAAC;AAClEI,MAAAA,YAAY,CAACyC,EAAE,CAACoyB,KAAK,EAAE,OAAO,EAAEj1B,KAAK,IAAI,IAAI,CAACu4B,YAAY,CAACv4B,KAAK,CAAC,CAAC;AACpE,IAAA;AACF,EAAA;AAEAo4B,EAAAA,YAAYA,CAACp4B,KAAK,EAAEkK,KAAK,EAAE;AACzB,IAAA,MAAM+qB,KAAK,GAAGj1B,KAAK,CAACY,MAAM;;AAE1B;IACA,IAAI,CAAC,OAAO,CAAC2K,IAAI,CAAC0pB,KAAK,CAACp2B,KAAK,CAAC,EAAE;AAC9Bo2B,MAAAA,KAAK,CAACp2B,KAAK,GAAGo2B,KAAK,CAACp2B,KAAK,CAACqD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC9C,IAAA;IAEA,MAAM;AAAErD,MAAAA;AAAM,KAAC,GAAGo2B,KAAK;;AAEvB;AACA,IAAA,IAAIp2B,KAAK,CAACqE,MAAM,GAAG,CAAC,EAAE;AACpB;AACA,MAAA,MAAM80B,KAAK,GAAGn5B,KAAK,CAACsI,KAAK,CAAC,EAAE,CAAC;MAC7B8tB,KAAK,CAACp2B,KAAK,GAAGm5B,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;MAE5B,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,KAAK,CAAC90B,MAAM,IAAIgH,KAAK,GAAGsuB,CAAC,GAAG,IAAI,CAACZ,OAAO,CAAC10B,MAAM,EAAEs1B,CAAC,EAAE,EAAE;AACxE,QAAA,IAAI,CAACZ,OAAO,CAAC1tB,KAAK,GAAGsuB,CAAC,CAAC,CAAC35B,KAAK,GAAGm5B,KAAK,CAACQ,CAAC,CAAC;AAC1C,MAAA;;AAEA;AACA,MAAA,MAAMC,SAAS,GAAGlyB,IAAI,CAAC8D,GAAG,CAACH,KAAK,GAAG8tB,KAAK,CAAC90B,MAAM,EAAE,IAAI,CAAC00B,OAAO,CAAC10B,MAAM,GAAG,CAAC,CAAC;MACzE,IAAI,CAAC00B,OAAO,CAACa,SAAS,CAAC,CAAChZ,KAAK,EAAE;AACjC,IAAA,CAAC,MAAM,IAAI5gB,KAAK,IAAIqL,KAAK,GAAG,IAAI,CAAC0tB,OAAO,CAAC10B,MAAM,GAAG,CAAC,EAAE;AACnD;MACA,IAAI,CAAC00B,OAAO,CAAC1tB,KAAK,GAAG,CAAC,CAAC,CAACuV,KAAK,EAAE;AACjC,IAAA;IAEArf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE2rB,WAAW,EAAE;AAC/C14B,MAAAA,KAAK,EAAE,IAAI,CAACi5B,QAAQ,EAAE;AACtB5tB,MAAAA;AACF,KAAC,CAAC;IAEF,IAAI,CAAC+tB,cAAc,EAAE;AACvB,EAAA;AAEAI,EAAAA,cAAcA,CAACr4B,KAAK,EAAEkK,KAAK,EAAE;IAC3B,MAAM;AAAEnM,MAAAA;AAAI,KAAC,GAAGiC,KAAK;AAErB,IAAA,QAAQjC,GAAG;AACT,MAAA,KAAK,WAAW;AAAE,QAAA;AAChB,UAAA,IAAI,CAAC,IAAI,CAAC65B,OAAO,CAAC1tB,KAAK,CAAC,CAACrL,KAAK,IAAIqL,KAAK,GAAG,CAAC,EAAE;AAC3C;YACAlK,KAAK,CAACyO,cAAc,EAAE;YACtB,IAAI,CAACmpB,OAAO,CAAC1tB,KAAK,GAAG,CAAC,CAAC,CAACrL,KAAK,GAAG,EAAE;YAClC,IAAI,CAAC+4B,OAAO,CAAC1tB,KAAK,GAAG,CAAC,CAAC,CAACuV,KAAK,EAAE;AACjC,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,QAAQ;AAAE,QAAA;AACb;UACAzf,KAAK,CAACyO,cAAc,EAAE;AACtB,UAAA,KAAK,IAAI+pB,CAAC,GAAGtuB,KAAK,EAAEsuB,CAAC,GAAG,IAAI,CAACZ,OAAO,CAAC10B,MAAM,GAAG,CAAC,EAAEs1B,CAAC,EAAE,EAAE;AACpD,YAAA,IAAI,CAACZ,OAAO,CAACY,CAAC,CAAC,CAAC35B,KAAK,GAAG,IAAI,CAAC+4B,OAAO,CAACY,CAAC,GAAG,CAAC,CAAC,CAAC35B,KAAK;AACnD,UAAA;UAEA,IAAI,CAAC+4B,OAAO,CAACO,EAAE,CAAC,EAAE,CAAC,CAACt5B,KAAK,GAAG,EAAE;AAC9B,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAAE,QAAA;UAChB,IAAIqL,KAAK,GAAG,CAAC,EAAE;YACblK,KAAK,CAACyO,cAAc,EAAE;YACtB,IAAI,CAACmpB,OAAO,CAAC1tB,KAAK,GAAG,CAAC,CAAC,CAACuV,KAAK,EAAE;AACjC,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,YAAY;AAAE,QAAA;UACjB,IAAIvV,KAAK,GAAG,IAAI,CAAC0tB,OAAO,CAAC10B,MAAM,GAAG,CAAC,EAAE;YACnClD,KAAK,CAACyO,cAAc,EAAE;YACtB,IAAI,CAACmpB,OAAO,CAAC1tB,KAAK,GAAG,CAAC,CAAC,CAACuV,KAAK,EAAE;AACjC,UAAA;AAEA,UAAA;AACF,QAAA;;AAEA;AACF;AACF,EAAA;EAEA6Y,YAAYA,CAACt4B,KAAK,EAAE;IAClBA,KAAK,CAACyO,cAAc,EAAE;AACtB,IAAA,MAAMiqB,UAAU,GAAG,CAAC14B,KAAK,CAAC24B,aAAa,IAAI/yB,MAAM,CAAC+yB,aAAa,EAAEC,OAAO,CAAC,MAAM,CAAC;IAChF,MAAMC,MAAM,GAAGH,UAAU,CAACx2B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACkB,KAAK,CAAC,CAAC,EAAE,IAAI,CAACw0B,OAAO,CAAC10B,MAAM,CAAC;AAE1E,IAAA,IAAI21B,MAAM,EAAE;AACV,MAAA,IAAI,CAACd,QAAQ,CAACc,MAAM,CAAC;;AAErB;AACA,MAAA,MAAMC,SAAS,GAAGvyB,IAAI,CAAC8D,GAAG,CAACwuB,MAAM,CAAC31B,MAAM,EAAE,IAAI,CAAC00B,OAAO,CAAC10B,MAAM,CAAC,GAAG,CAAC;MAClE,IAAI,CAAC00B,OAAO,CAACkB,SAAS,CAAC,CAACrZ,KAAK,EAAE;AACjC,IAAA;AACF,EAAA;EAEA8Y,YAAYA,CAACv4B,KAAK,EAAE;AAClB;AACAA,IAAAA,KAAK,CAACY,MAAM,CAACm4B,MAAM,EAAE;AACvB,EAAA;AAEAd,EAAAA,cAAcA,GAAG;AACf,IAAA,MAAMp5B,KAAK,GAAG,IAAI,CAACi5B,QAAQ,EAAE;IAC7B,MAAMkB,UAAU,GAAGn6B,KAAK,CAACqE,MAAM,KAAK,IAAI,CAAC00B,OAAO,CAAC10B,MAAM,IACrD,IAAI,CAAC00B,OAAO,CAACqB,KAAK,CAAChE,KAAK,IAAIA,KAAK,CAACp2B,KAAK,KAAK,EAAE,CAAC;AAEjD,IAAA,IAAIm6B,UAAU,EAAE;MACd54B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE0rB,cAAc,EAAE;AAAEz4B,QAAAA;AAAM,OAAC,CAAC;AAChE,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAuB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM7R,OAAO,IAAIkP,cAAc,CAAC5L,IAAI,CAACo2B,iBAAiB,CAAC,EAAE;AAC5DG,IAAAA,QAAQ,CAACprB,mBAAmB,CAACzO,OAAO,CAAC;AACvC,EAAA;AACF,CAAC,CAAC;;ACvPF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM2M,MAAI,GAAG,WAAW;AACxB,MAAMsB,UAAQ,GAAG,eAAe;AAChC,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,cAAY,GAAG,WAAW;AAEhC,MAAMupB,SAAS,GAAG,CAAA,GAAA,EAAMjtB,WAAS,CAAA,CAAE;AACnC,MAAMktB,YAAY,GAAG,CAAA,MAAA,EAASltB,WAAS,CAAA,CAAE;AACzC,MAAMsa,YAAY,GAAG,CAAA,MAAA,EAASta,WAAS,CAAA,CAAE;AACzC,MAAMmtB,YAAY,GAAG,CAAA,MAAA,EAASntB,WAAS,CAAA,CAAE;AAEzC,MAAMotB,wBAAwB,GAAG,sBAAsB;AACvD,MAAMC,oBAAoB,GAAG,aAAa;AAC1C,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,qBAAqB,GAAG,eAAe;AAE7C,MAAMC,eAAe,GAAG,MAAM;AAC9B,MAAMC,uBAAuB,GAAG,cAAc;AAC9C,MAAM9pB,mBAAiB,GAAG,QAAQ;AAElC,MAAM+pB,oBAAoB,GAAG,+OAA+O;AAE5Q,MAAMpvB,SAAO,GAAG;AACd8jB,EAAAA,SAAS,EAAE,GAAG;AACduL,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,QAAQ,EAAE,IAAI;AACd9S,EAAAA,WAAW,EAAE,EAAE;AACf+S,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,WAAW,EAAEJ,oBAAoB;AACjCK,EAAAA,YAAY,EAAE;AAChB,CAAC;AAED,MAAMxvB,aAAW,GAAG;AAClB6jB,EAAAA,SAAS,EAAE,eAAe;AAC1BuL,EAAAA,eAAe,EAAE,SAAS;AAC1BC,EAAAA,QAAQ,EAAE,eAAe;AACzB9S,EAAAA,WAAW,EAAE,QAAQ;AACrB+S,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,QAAQ;AACrBC,EAAAA,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,SAAS,SAAStuB,aAAa,CAAC;AACpCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAACurB,MAAM,GAAGnpB,cAAc,CAACG,OAAO,CAACmsB,oBAAoB,EAAE,IAAI,CAAC1tB,QAAQ,CAAC;IACzE,IAAI,CAACsuB,MAAM,GAAG,EAAE;AAChB,IAAA,IAAI,CAACC,cAAc,GAAG,IAAI16B,GAAG,EAAE;AAC/B,IAAA,IAAI,CAAC26B,WAAW,GAAG,IAAI,CAAA;;AAEvB,IAAA,IAAI,CAAC,IAAI,CAACjE,MAAM,EAAE;MAChB,IAAI,CAACkE,YAAY,EAAE;AACrB,IAAA;IAEA,IAAI,CAACC,wBAAwB,EAAE;IAC/B,IAAI,CAACtlB,kBAAkB,EAAE;AAC3B,EAAA;;AAEA;EACA,WAAWzK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;EACA0H,GAAGA,CAACtT,KAAK,EAAE;IACT,MAAM07B,YAAY,GAAG9L,MAAM,CAAC5vB,KAAK,CAAC,CAAC+N,IAAI,EAAE;IAEzC,IAAI,CAAC2tB,YAAY,EAAE;AACjB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACA,IAAA,IAAI,CAAC,IAAI,CAAC1uB,OAAO,CAAC+tB,eAAe,IAAI,IAAI,CAACM,MAAM,CAACt3B,QAAQ,CAAC23B,YAAY,CAAC,EAAE;AACvE,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACA,IAAA,IAAI,IAAI,CAAC1uB,OAAO,CAACguB,QAAQ,KAAK,IAAI,IAAI,IAAI,CAACK,MAAM,CAACh3B,MAAM,IAAI,IAAI,CAAC2I,OAAO,CAACguB,QAAQ,EAAE;AACjF,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAMW,QAAQ,GAAGp6B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEstB,SAAS,EAAE;AAC9Dr6B,MAAAA,KAAK,EAAE07B,YAAY;MACnB14B,aAAa,EAAE,IAAI,CAACs0B;AACtB,KAAC,CAAC;IAEF,IAAIqE,QAAQ,CAAC/qB,gBAAgB,EAAE;AAC7B,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,MAAMgrB,IAAI,GAAG,IAAI,CAACC,WAAW,CAACH,YAAY,CAAC;IAC3C,IAAI,CAAC3uB,QAAQ,CAACkc,YAAY,CAAC2S,IAAI,EAAE,IAAI,CAACtE,MAAM,CAAC;AAC7C,IAAA,IAAI,CAAC+D,MAAM,CAACzsB,IAAI,CAAC8sB,YAAY,CAAC;IAE9Bn6B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE2a,YAAY,EAAE;AAChD5nB,MAAAA,MAAM,EAAE,IAAI,CAACg8B,SAAS;AACxB,KAAC,CAAC;AAEF,IAAA,OAAOF,IAAI;AACb,EAAA;EAEA37B,MAAMA,CAAC87B,WAAW,EAAE;AAClB,IAAA,IAAIH,IAAI;AACR,IAAA,IAAI57B,KAAK;AAET,IAAA,IAAI,OAAO+7B,WAAW,KAAK,QAAQ,EAAE;AACnC/7B,MAAAA,KAAK,GAAG+7B,WAAW;AACnBH,MAAAA,IAAI,GAAG,IAAI,CAACI,gBAAgB,CAACh8B,KAAK,CAAC;AACrC,IAAA,CAAC,MAAM;AACL47B,MAAAA,IAAI,GAAGG,WAAW;AAClB/7B,MAAAA,KAAK,GAAG,IAAI,CAACi8B,aAAa,CAACL,IAAI,CAAC;AAClC,IAAA;AAEA,IAAA,IAAI,CAACA,IAAI,IAAI,CAAC57B,KAAK,EAAE;AACnB,MAAA,OAAO,KAAK;AACd,IAAA;IAEA,MAAMk8B,WAAW,GAAG36B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEutB,YAAY,EAAE;MACpEt6B,KAAK;MACL47B,IAAI;MACJ54B,aAAa,EAAE,IAAI,CAACs0B;AACtB,KAAC,CAAC;IAEF,IAAI4E,WAAW,CAACtrB,gBAAgB,EAAE;AAChC,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACA,IAAA,IAAI,CAAC0qB,cAAc,CAACp7B,MAAM,CAAC07B,IAAI,CAAC;AAChC,IAAA,IAAI,IAAI,CAACL,WAAW,KAAKK,IAAI,EAAE;MAC7B,IAAI,CAACL,WAAW,GAAG,IAAI;AACzB,IAAA;;AAEA;IACAK,IAAI,CAAC37B,MAAM,EAAE;AACb,IAAA,IAAI,CAACo7B,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC/0B,MAAM,CAAC61B,CAAC,IAAIA,CAAC,KAAKn8B,KAAK,CAAC;IAElDuB,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE2a,YAAY,EAAE;AAChD5nB,MAAAA,MAAM,EAAE,IAAI,CAACg8B,SAAS;AACxB,KAAC,CAAC;AAEF,IAAA,OAAO,IAAI;AACb,EAAA;AAEAM,EAAAA,cAAcA,GAAG;AACf,IAAA,MAAMC,aAAa,GAAG,CAAC,GAAG,IAAI,CAACf,cAAc,CAAC;AAC9C,IAAA,KAAK,MAAMM,IAAI,IAAIS,aAAa,EAAE;AAChC,MAAA,IAAI,CAACp8B,MAAM,CAAC27B,IAAI,CAAC;AACnB,IAAA;AAEA,IAAA,IAAI,CAACtE,MAAM,EAAE1W,KAAK,EAAE;AACtB,EAAA;AAEAkb,EAAAA,SAASA,GAAG;AACV,IAAA,OAAO,CAAC,GAAG,IAAI,CAACT,MAAM,CAAC;AACzB,EAAA;AAEAiB,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,OAAO,CAAC,GAAG,IAAI,CAAChB,cAAc,CAAC,CAACttB,GAAG,CAAC4tB,IAAI,IAAI,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC,CAAC;AACvE,EAAA;AAEA7W,EAAAA,KAAKA,GAAG;IACN,MAAMwX,KAAK,GAAGpuB,cAAc,CAAC5L,IAAI,CAACm4B,aAAa,EAAE,IAAI,CAAC3tB,QAAQ,CAAC;AAC/D,IAAA,KAAK,MAAM6uB,IAAI,IAAIW,KAAK,EAAE;MACxBX,IAAI,CAAC37B,MAAM,EAAE;AACf,IAAA;IAEA,IAAI,CAACo7B,MAAM,GAAG,EAAE;AAChB,IAAA,IAAI,CAACC,cAAc,CAACvW,KAAK,EAAE;IAC3B,IAAI,CAACwW,WAAW,GAAG,IAAI;IAEvBh6B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE2a,YAAY,EAAE;AAChD5nB,MAAAA,MAAM,EAAE;AACV,KAAC,CAAC;AACJ,EAAA;AAEA08B,EAAAA,cAAcA,GAAG;AACf,IAAA,KAAK,MAAMZ,IAAI,IAAI,IAAI,CAACN,cAAc,EAAE;AACtCM,MAAAA,IAAI,CAACtyB,SAAS,CAACrJ,MAAM,CAAC8Q,mBAAiB,CAAC;AAC1C,IAAA;AAEA,IAAA,IAAI,CAACuqB,cAAc,CAACvW,KAAK,EAAE;IAC3B,IAAI,CAACwW,WAAW,GAAG,IAAI;IAEvBh6B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEwtB,YAAY,EAAE;AAChDpf,MAAAA,QAAQ,EAAE;AACZ,KAAC,CAAC;AACJ,EAAA;AAEAshB,EAAAA,UAAUA,CAACb,IAAI,EAAEc,OAAO,GAAG,EAAE,EAAE;IAC7B,MAAM;AAAEC,MAAAA,cAAc,GAAG,KAAK;AAAEC,MAAAA,WAAW,GAAG;AAAM,KAAC,GAAGF,OAAO;AAC/D,IAAA,MAAMG,YAAY,GAAG,IAAI,CAACC,gBAAgB,EAAE;AAE5C,IAAA,IAAI,CAACD,YAAY,CAAC94B,QAAQ,CAAC63B,IAAI,CAAC,EAAE;AAChC,MAAA;AACF,IAAA;AAEA,IAAA,IAAIgB,WAAW,IAAI,IAAI,CAACrB,WAAW,EAAE;AACnC;MACA,MAAMwB,WAAW,GAAGF,YAAY,CAACvxB,OAAO,CAAC,IAAI,CAACiwB,WAAW,CAAC;AAC1D,MAAA,MAAMyB,SAAS,GAAGH,YAAY,CAACvxB,OAAO,CAACswB,IAAI,CAAC;MAC5C,MAAMqB,KAAK,GAAGv1B,IAAI,CAAC8D,GAAG,CAACuxB,WAAW,EAAEC,SAAS,CAAC;MAC9C,MAAME,GAAG,GAAGx1B,IAAI,CAAC6D,GAAG,CAACwxB,WAAW,EAAEC,SAAS,CAAC;MAE5C,IAAI,CAACL,cAAc,EAAE;QACnB,IAAI,CAACH,cAAc,EAAE;AACvB,MAAA;MAEA,KAAK,IAAI7C,CAAC,GAAGsD,KAAK,EAAEtD,CAAC,IAAIuD,GAAG,EAAEvD,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC2B,cAAc,CAAChoB,GAAG,CAACupB,YAAY,CAAClD,CAAC,CAAC,CAAC;QACxCkD,YAAY,CAAClD,CAAC,CAAC,CAACrwB,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;AAClD,MAAA;IACF,CAAC,MAAM,IAAI4rB,cAAc,EAAE;AACzB;MACA,IAAI,IAAI,CAACrB,cAAc,CAACl8B,GAAG,CAACw8B,IAAI,CAAC,EAAE;AACjC,QAAA,IAAI,CAACN,cAAc,CAACp7B,MAAM,CAAC07B,IAAI,CAAC;AAChCA,QAAAA,IAAI,CAACtyB,SAAS,CAACrJ,MAAM,CAAC8Q,mBAAiB,CAAC;AAC1C,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACuqB,cAAc,CAAChoB,GAAG,CAACsoB,IAAI,CAAC;AAC7BA,QAAAA,IAAI,CAACtyB,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;QACrC,IAAI,CAACwqB,WAAW,GAAGK,IAAI;AACzB,MAAA;AACF,IAAA,CAAC,MAAM;AACL;MACA,IAAI,CAACY,cAAc,EAAE;AACrB,MAAA,IAAI,CAAClB,cAAc,CAAChoB,GAAG,CAACsoB,IAAI,CAAC;AAC7BA,MAAAA,IAAI,CAACtyB,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;MACrC,IAAI,CAACwqB,WAAW,GAAGK,IAAI;AACzB,IAAA;IAEAr6B,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEwtB,YAAY,EAAE;AAChDpf,MAAAA,QAAQ,EAAE,IAAI,CAACmhB,iBAAiB;AAClC,KAAC,CAAC;AACJ,EAAA;AAEA1b,EAAAA,KAAKA,GAAG;AACN,IAAA,IAAI,CAAC0W,MAAM,EAAE1W,KAAK,EAAE;AACtB,EAAA;;AAEA;AACAkc,EAAAA,gBAAgBA,GAAG;IACjB,OAAO3uB,cAAc,CAAC5L,IAAI,CAACm4B,aAAa,EAAE,IAAI,CAAC3tB,QAAQ,CAAC;AAC1D,EAAA;AAEAyuB,EAAAA,YAAYA,GAAG;AACb,IAAA,MAAMpF,KAAK,GAAGvuB,QAAQ,CAACmhB,aAAa,CAAC,OAAO,CAAC;IAC7CoN,KAAK,CAAC30B,IAAI,GAAG,MAAM;IACnB20B,KAAK,CAAC9B,SAAS,GAAG,YAAY;AAC9B,IAAA,IAAI,IAAI,CAACtnB,OAAO,CAACkb,WAAW,EAAE;AAC5BkO,MAAAA,KAAK,CAAClO,WAAW,GAAG,IAAI,CAAClb,OAAO,CAACkb,WAAW;AAC9C,IAAA;AAEA,IAAA,IAAI,CAACnb,QAAQ,CAACiW,MAAM,CAACoT,KAAK,CAAC;IAC3B,IAAI,CAACkB,MAAM,GAAGlB,KAAK;AACrB,EAAA;AAEAqF,EAAAA,wBAAwBA,GAAG;IACzB,MAAM0B,aAAa,GAAGhvB,cAAc,CAAC5L,IAAI,CAACm4B,aAAa,EAAE,IAAI,CAAC3tB,QAAQ,CAAC;AACvE,IAAA,KAAK,MAAM6uB,IAAI,IAAIuB,aAAa,EAAE;AAChC,MAAA,MAAMn9B,KAAK,GAAG,IAAI,CAACi8B,aAAa,CAACL,IAAI,CAAC;AACtC,MAAA,IAAI57B,KAAK,EAAE;AACT,QAAA,IAAI,CAACq7B,MAAM,CAACzsB,IAAI,CAAC5O,KAAK,CAAC;AACvB,QAAA,IAAI,CAACo9B,UAAU,CAACxB,IAAI,CAAC;AACvB,MAAA;AACF,IAAA;AACF,EAAA;EAEAwB,UAAUA,CAACxB,IAAI,EAAE;AACf;AACAA,IAAAA,IAAI,CAAC71B,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;;AAElC;AACA,IAAA,IAAI,IAAI,CAACiH,OAAO,CAACiuB,WAAW,IAAI,CAAC9sB,cAAc,CAACG,OAAO,CAACqsB,qBAAqB,EAAEiB,IAAI,CAAC,EAAE;MACpFA,IAAI,CAAC5Y,MAAM,CAAC,IAAI,CAACqa,oBAAoB,EAAE,CAAC;AAC1C,IAAA;AACF,EAAA;EAEAxB,WAAWA,CAAC77B,KAAK,EAAE;AACjB,IAAA,MAAM47B,IAAI,GAAG/zB,QAAQ,CAACmhB,aAAa,CAAC,MAAM,CAAC;IAC3C4S,IAAI,CAACtH,SAAS,GAAGsG,eAAe;AAChCgB,IAAAA,IAAI,CAACv1B,OAAO,CAACi3B,WAAW,GAAGt9B,KAAK;;AAEhC;IACA47B,IAAI,CAAC5Y,MAAM,CAACnb,QAAQ,CAAC01B,cAAc,CAACv9B,KAAK,CAAC,CAAC;;AAE3C;AACA,IAAA,IAAI,CAACo9B,UAAU,CAACxB,IAAI,CAAC;AAErB,IAAA,OAAOA,IAAI;AACb,EAAA;AAEAyB,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,MAAMjsB,MAAM,GAAGvJ,QAAQ,CAACmhB,aAAa,CAAC,QAAQ,CAAC;IAC/C5X,MAAM,CAAC3P,IAAI,GAAG,QAAQ;IACtB2P,MAAM,CAACkjB,SAAS,GAAGuG,uBAAuB;AAC1CzpB,IAAAA,MAAM,CAACrL,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;AAC3CqL,IAAAA,MAAM,CAACrL,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACrCqL,IAAAA,MAAM,CAACmjB,SAAS,GAAG,IAAI,CAACvnB,OAAO,CAACkuB,WAAW;AAC3C,IAAA,OAAO9pB,MAAM;AACf,EAAA;EAEA4qB,gBAAgBA,CAACh8B,KAAK,EAAE;AACtB,IAAA,MAAMu8B,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AACrC,IAAA,OAAOP,KAAK,CAACh6B,IAAI,CAACq5B,IAAI,IAAI,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC,KAAK57B,KAAK,CAAC;AAC/D,EAAA;EAEAi8B,aAAaA,CAACL,IAAI,EAAE;AAClB,IAAA,IAAIA,IAAI,CAACv1B,OAAO,CAACi3B,WAAW,EAAE;AAC5B,MAAA,OAAO1B,IAAI,CAACv1B,OAAO,CAACi3B,WAAW;AACjC,IAAA;AAEA,IAAA,MAAME,KAAK,GAAG5B,IAAI,CAAClH,SAAS,CAAC,IAAI,CAAC;IAClC,MAAM+I,OAAO,GAAGtvB,cAAc,CAACG,OAAO,CAACqsB,qBAAqB,EAAE6C,KAAK,CAAC;AACpE,IAAA,IAAIC,OAAO,EAAE;MACXA,OAAO,CAACx9B,MAAM,EAAE;AAClB,IAAA;IAEA,OAAOu9B,KAAK,CAAC1T,WAAW,EAAE/b,IAAI,EAAE,IAAI,EAAE;AACxC,EAAA;AAEAoI,EAAAA,kBAAkBA,GAAG;AACnB;AACA5U,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,SAAS,EAAEn2B,KAAK,IAAI,IAAI,CAACu8B,mBAAmB,CAACv8B,KAAK,CAAC,CAAC;AACjFI,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,OAAO,EAAEn2B,KAAK,IAAI,IAAI,CAACo4B,YAAY,CAACp4B,KAAK,CAAC,CAAC;AACxEI,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,OAAO,EAAEn2B,KAAK,IAAI,IAAI,CAACs4B,YAAY,CAACt4B,KAAK,CAAC,CAAC;AACxEI,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAACkF,cAAc,EAAE,CAAC;AAElE,IAAA,IAAI,IAAI,CAACxvB,OAAO,CAACmuB,YAAY,EAAE;MAC7B55B,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACszB,MAAM,EAAE,MAAM,EAAEn2B,KAAK,IAAI;AAC5C;QACA,IAAI,CAACA,KAAK,CAAC6B,aAAa,EAAEiG,OAAO,CAACyxB,aAAa,CAAC,EAAE;UAChD,IAAI,CAACiD,oBAAoB,EAAE;AAC7B,QAAA;AACF,MAAA,CAAC,CAAC;AACJ,IAAA;;AAEA;AACAp8B,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,OAAO,EAAE2tB,aAAa,EAAEv5B,KAAK,IAAI;AAC9D;MACA,IAAIA,KAAK,CAACY,MAAM,CAACkH,OAAO,CAAC0xB,qBAAqB,CAAC,EAAE;AAC/C,QAAA;AACF,MAAA;MAEA,MAAMiB,IAAI,GAAGz6B,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACyxB,aAAa,CAAC;AAChD,MAAA,IAAIkB,IAAI,EAAE;QACRz6B,KAAK,CAACyO,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC6sB,UAAU,CAACb,IAAI,EAAE;AACpBe,UAAAA,cAAc,EAAEx7B,KAAK,CAACy8B,OAAO,IAAIz8B,KAAK,CAAC08B,OAAO;UAC9CjB,WAAW,EAAEz7B,KAAK,CAAC28B;AACrB,SAAC,CAAC;QACFlC,IAAI,CAAChb,KAAK,EAAE;AACd,MAAA;AACF,IAAA,CAAC,CAAC;;AAEF;AACArf,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,OAAO,EAAE4tB,qBAAqB,EAAEx5B,KAAK,IAAI;MACtEA,KAAK,CAAC8iB,eAAe,EAAE;MACvB,MAAM2X,IAAI,GAAGz6B,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACyxB,aAAa,CAAC;AAChD,MAAA,IAAIkB,IAAI,EAAE;AACR,QAAA,IAAI,CAAC37B,MAAM,CAAC27B,IAAI,CAAC;AACjB,QAAA,IAAI,CAACtE,MAAM,EAAE1W,KAAK,EAAE;AACtB,MAAA;AACF,IAAA,CAAC,CAAC;;AAEF;AACArf,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,SAAS,EAAE2tB,aAAa,EAAEv5B,KAAK,IAAI;AAChE,MAAA,IAAI,CAAC48B,kBAAkB,CAAC58B,KAAK,CAAC;AAChC,IAAA,CAAC,CAAC;;AAEF;IACAI,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,OAAO,EAAE5L,KAAK,IAAI;AAC/C,MAAA,IAAIA,KAAK,CAACY,MAAM,KAAK,IAAI,CAACgL,QAAQ,EAAE;QAClC,IAAI,CAACyvB,cAAc,EAAE;AACrB,QAAA,IAAI,CAAClF,MAAM,EAAE1W,KAAK,EAAE;AACtB,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;EAEA8c,mBAAmBA,CAACv8B,KAAK,EAAE;IACzB,MAAM;AAAEjC,MAAAA;AAAI,KAAC,GAAGiC,KAAK;AAErB,IAAA,QAAQjC,GAAG;AACT,MAAA,KAAK,OAAO;AAAE,QAAA;UACZiC,KAAK,CAACyO,cAAc,EAAE;UACtB,IAAI,CAAC+tB,oBAAoB,EAAE;AAC3B,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAChB,MAAA,KAAK,QAAQ;AAAE,QAAA;AACb,UAAA,IAAI,IAAI,CAACrG,MAAM,CAACt3B,KAAK,KAAK,EAAE,EAAE;YAC5BmB,KAAK,CAACyO,cAAc,EAAE;AACtB,YAAA,MAAM2sB,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AAErC,YAAA,IAAIP,KAAK,CAACl4B,MAAM,GAAG,CAAC,EAAE;AACpB;cACA,MAAM25B,QAAQ,GAAGzB,KAAK,CAACjD,EAAE,CAAC,EAAE,CAAC;AAC7B,cAAA,IAAI,CAACmD,UAAU,CAACuB,QAAQ,CAAC;cACzBA,QAAQ,CAACpd,KAAK,EAAE;AAClB,YAAA;AACF,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAAE,QAAA;AAChB,UAAA,IAAI,IAAI,CAAC0W,MAAM,CAAC2G,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC3G,MAAM,CAAC4G,YAAY,KAAK,CAAC,EAAE;YACtE/8B,KAAK,CAACyO,cAAc,EAAE;AACtB,YAAA,MAAM2sB,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AACrC,YAAA,IAAIP,KAAK,CAACl4B,MAAM,GAAG,CAAC,EAAE;cACpB,MAAM25B,QAAQ,GAAGzB,KAAK,CAACjD,EAAE,CAAC,EAAE,CAAC;cAC7B,IAAIn4B,KAAK,CAAC28B,QAAQ,EAAE;AAClB,gBAAA,IAAI,CAACrB,UAAU,CAACuB,QAAQ,EAAE;AAAErB,kBAAAA,cAAc,EAAE;AAAK,iBAAC,CAAC;AACrD,cAAA,CAAC,MAAM;AACL,gBAAA,IAAI,CAACF,UAAU,CAACuB,QAAQ,CAAC;AAC3B,cAAA;cAEAA,QAAQ,CAACpd,KAAK,EAAE;AAClB,YAAA;AACF,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,QAAQ;AAAE,QAAA;AACb,UAAA,IAAI,CAAC0W,MAAM,CAACt3B,KAAK,GAAG,EAAE;UACtB,IAAI,CAACw8B,cAAc,EAAE;AACrB,UAAA,IAAI,CAAClF,MAAM,CAAC6G,IAAI,EAAE;AAClB,UAAA;AACF,QAAA;;AAEA;AACF;AACF,EAAA;EAEAJ,kBAAkBA,CAAC58B,KAAK,EAAE;IACxB,MAAM;AAAEjC,MAAAA;AAAI,KAAC,GAAGiC,KAAK;IACrB,MAAMy6B,IAAI,GAAGz6B,KAAK,CAACY,MAAM,CAACkH,OAAO,CAACyxB,aAAa,CAAC;IAChD,IAAI,CAACkB,IAAI,EAAE;AACT,MAAA;AACF,IAAA;AAEA,IAAA,MAAMW,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AACrC,IAAA,MAAMsB,YAAY,GAAG7B,KAAK,CAACjxB,OAAO,CAACswB,IAAI,CAAC;AAExC,IAAA,QAAQ18B,GAAG;AACT,MAAA,KAAK,WAAW;AAChB,MAAA,KAAK,QAAQ;AAAE,QAAA;UACbiC,KAAK,CAACyO,cAAc,EAAE;AACtB,UAAA,IAAI,CAACyuB,iBAAiB,CAACD,YAAY,EAAE7B,KAAK,CAAC;AAC3C,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAAE,QAAA;UAChBp7B,KAAK,CAACyO,cAAc,EAAE;AACtB,UAAA,IAAI,CAAC0uB,aAAa,CAAC/B,KAAK,EAAE6B,YAAY,EAAE,EAAE,EAAEj9B,KAAK,CAAC28B,QAAQ,CAAC;AAC3D,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,YAAY;AAAE,QAAA;UACjB38B,KAAK,CAACyO,cAAc,EAAE;AACtB,UAAA,IAAI,CAAC0uB,aAAa,CAAC/B,KAAK,EAAE6B,YAAY,EAAE,CAAC,EAAEj9B,KAAK,CAAC28B,QAAQ,CAAC;AAC1D,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,MAAM;AAAE,QAAA;UACX38B,KAAK,CAACyO,cAAc,EAAE;UACtB,IAAI,CAAC2uB,eAAe,CAAChC,KAAK,EAAE,CAAC,EAAEp7B,KAAK,CAAC28B,QAAQ,CAAC;AAC9C,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,KAAK;AAAE,QAAA;UACV38B,KAAK,CAACyO,cAAc,EAAE;UACtB,IAAI,CAAC4sB,cAAc,EAAE;AACrB,UAAA,IAAI,CAAClF,MAAM,EAAE1W,KAAK,EAAE;AACpB,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,GAAG;AAAE,QAAA;AACR,UAAA,IAAI,CAAC4d,gBAAgB,CAACr9B,KAAK,EAAEo7B,KAAK,CAAC;AACnC,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,QAAQ;AAAE,QAAA;UACbp7B,KAAK,CAACyO,cAAc,EAAE;UACtB,IAAI,CAAC4sB,cAAc,EAAE;AACrB,UAAA,IAAI,CAAClF,MAAM,EAAE1W,KAAK,EAAE;AACpB,UAAA;AACF,QAAA;;AAEA;AACF;AACF,EAAA;AAEAyd,EAAAA,iBAAiBA,CAACD,YAAY,EAAE7B,KAAK,EAAE;AACrC,IAAA,IAAI,IAAI,CAACjB,cAAc,CAAC/7B,IAAI,KAAK,CAAC,EAAE;AAClC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMq6B,SAAS,GAAGlyB,IAAI,CAAC8D,GAAG,CAAC4yB,YAAY,EAAE7B,KAAK,CAACl4B,MAAM,GAAG,IAAI,CAACi3B,cAAc,CAAC/7B,IAAI,GAAG,CAAC,CAAC;IACrF,IAAI,CAAC68B,cAAc,EAAE;AAErB,IAAA,MAAMqC,cAAc,GAAG,IAAI,CAAC3B,gBAAgB,EAAE;AAC9C,IAAA,IAAI2B,cAAc,CAACp6B,MAAM,GAAG,CAAC,EAAE;MAC7B,MAAMq6B,UAAU,GAAGh3B,IAAI,CAAC6D,GAAG,CAAC,CAAC,EAAE7D,IAAI,CAAC8D,GAAG,CAACouB,SAAS,EAAE6E,cAAc,CAACp6B,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9Eo6B,MAAAA,cAAc,CAACC,UAAU,CAAC,CAAC9d,KAAK,EAAE;AAClC,MAAA,IAAI,CAAC6b,UAAU,CAACgC,cAAc,CAACC,UAAU,CAAC,CAAC;AAC7C,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACpH,MAAM,EAAE1W,KAAK,EAAE;AACtB,IAAA;AACF,EAAA;EAEA0d,aAAaA,CAAC/B,KAAK,EAAE6B,YAAY,EAAE/qB,SAAS,EAAEyqB,QAAQ,EAAE;AACtD,IAAA,MAAMa,WAAW,GAAGP,YAAY,GAAG/qB,SAAS;AAE5C,IAAA,IAAIA,SAAS,GAAG,CAAC,IAAIsrB,WAAW,IAAI,CAAC,EAAE;AACrC,MAAA,MAAMC,UAAU,GAAGrC,KAAK,CAACoC,WAAW,CAAC;AACrC,MAAA,IAAI,CAAClC,UAAU,CAACmC,UAAU,EAAEd,QAAQ,GAAG;AAAEnB,QAAAA,cAAc,EAAE,IAAI;AAAEC,QAAAA,WAAW,EAAE;OAAM,GAAG,EAAE,CAAC;MACxFgC,UAAU,CAAChe,KAAK,EAAE;IACpB,CAAC,MAAM,IAAIvN,SAAS,GAAG,CAAC,IAAIsrB,WAAW,GAAGpC,KAAK,CAACl4B,MAAM,EAAE;AACtD,MAAA,MAAMu6B,UAAU,GAAGrC,KAAK,CAACoC,WAAW,CAAC;AACrC,MAAA,IAAI,CAAClC,UAAU,CAACmC,UAAU,EAAEd,QAAQ,GAAG;AAAEnB,QAAAA,cAAc,EAAE,IAAI;AAAEC,QAAAA,WAAW,EAAE;OAAM,GAAG,EAAE,CAAC;MACxFgC,UAAU,CAAChe,KAAK,EAAE;AACpB,IAAA,CAAC,MAAM,IAAIvN,SAAS,GAAG,CAAC,EAAE;MACxB,IAAI,CAACmpB,cAAc,EAAE;AACrB,MAAA,IAAI,CAAClF,MAAM,EAAE1W,KAAK,EAAE;AACtB,IAAA;AACF,EAAA;AAEA2d,EAAAA,eAAeA,CAAChC,KAAK,EAAEoC,WAAW,EAAEb,QAAQ,EAAE;AAC5C,IAAA,IAAIvB,KAAK,CAACl4B,MAAM,KAAK,CAAC,EAAE;AACtB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMu6B,UAAU,GAAGrC,KAAK,CAACoC,WAAW,CAAC;AACrC,IAAA,IAAI,CAAClC,UAAU,CAACmC,UAAU,EAAEd,QAAQ,GAAG;AAAElB,MAAAA,WAAW,EAAE;KAAM,GAAG,EAAE,CAAC;IAClEgC,UAAU,CAAChe,KAAK,EAAE;AACpB,EAAA;AAEA4d,EAAAA,gBAAgBA,CAACr9B,KAAK,EAAEo7B,KAAK,EAAE;IAC7B,IAAI,EAAEp7B,KAAK,CAACy8B,OAAO,IAAIz8B,KAAK,CAAC08B,OAAO,CAAC,EAAE;AACrC,MAAA;AACF,IAAA;IAEA18B,KAAK,CAACyO,cAAc,EAAE;AACtB,IAAA,KAAK,MAAMivB,CAAC,IAAItC,KAAK,EAAE;AACrB,MAAA,IAAI,CAACjB,cAAc,CAAChoB,GAAG,CAACurB,CAAC,CAAC;AAC1BA,MAAAA,CAAC,CAACv1B,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;AACpC,IAAA;IAEAxP,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEwtB,YAAY,EAAE;AAChDpf,MAAAA,QAAQ,EAAE,IAAI,CAACmhB,iBAAiB;AAClC,KAAC,CAAC;AACJ,EAAA;EAEA/C,YAAYA,CAACp4B,KAAK,EAAE;IAClB,MAAM;AAAEnB,MAAAA;KAAO,GAAGmB,KAAK,CAACY,MAAM;IAC9B,MAAM;AAAEytB,MAAAA;KAAW,GAAG,IAAI,CAACxiB,OAAO;IAElC,IAAIwiB,SAAS,IAAIxvB,KAAK,CAAC+D,QAAQ,CAACyrB,SAAS,CAAC,EAAE;AAC1C,MAAA,MAAMrT,KAAK,GAAGnc,KAAK,CAACsI,KAAK,CAACknB,SAAS,CAAC;AACpC,MAAA,KAAK,MAAMlT,IAAI,IAAIH,KAAK,CAAC5X,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACrC,IAAI,CAAC+O,GAAG,CAACgJ,IAAI,CAACvO,IAAI,EAAE,CAAC;AACvB,MAAA;MAEA,IAAI,CAACupB,MAAM,CAACt3B,KAAK,GAAGmc,KAAK,CAACmd,EAAE,CAAC,EAAE,CAAC;AAClC,IAAA;AACF,EAAA;EAEAG,YAAYA,CAACt4B,KAAK,EAAE;IAClB,MAAM;AAAEquB,MAAAA;KAAW,GAAG,IAAI,CAACxiB,OAAO;IAClC,IAAI,CAACwiB,SAAS,EAAE;AACd,MAAA;AACF,IAAA;AAEA,IAAA,MAAMqK,UAAU,GAAG,CAAC14B,KAAK,CAAC24B,aAAa,IAAI/yB,MAAM,CAAC+yB,aAAa,EAAEC,OAAO,CAAC,MAAM,CAAC;AAChF,IAAA,IAAIF,UAAU,CAAC91B,QAAQ,CAACyrB,SAAS,CAAC,EAAE;MAClCruB,KAAK,CAACyO,cAAc,EAAE;AAEtB,MAAA,MAAMuM,KAAK,GAAG0d,UAAU,CAACvxB,KAAK,CAACknB,SAAS,CAAC;AACzC,MAAA,KAAK,MAAMlT,IAAI,IAAIH,KAAK,EAAE;QACxB,IAAI,CAAC7I,GAAG,CAACgJ,IAAI,CAACvO,IAAI,EAAE,CAAC;AACvB,MAAA;AACF,IAAA;AACF,EAAA;AAEA4vB,EAAAA,oBAAoBA,GAAG;IACrB,MAAM39B,KAAK,GAAG,IAAI,CAACs3B,MAAM,CAACt3B,KAAK,CAAC+N,IAAI,EAAE;AACtC,IAAA,IAAI/N,KAAK,EAAE;AACT,MAAA,IAAI,CAACsT,GAAG,CAACtT,KAAK,CAAC;AACf,MAAA,IAAI,CAACs3B,MAAM,CAACt3B,KAAK,GAAG,EAAE;AACxB,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAuB,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG0D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM7R,OAAO,IAAIkP,cAAc,CAAC5L,IAAI,CAACi4B,wBAAwB,CAAC,EAAE;AACnEY,IAAAA,SAAS,CAAC1tB,mBAAmB,CAACzO,OAAO,CAAC;AACxC,EAAA;AACF,CAAC,CAAC;;ACtnBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM6/B,sBAAsB,GAAG,gBAAgB;AAExC,MAAMC,gBAAgB,GAAG;AAC9B;AACA,EAAA,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAED,sBAAsB,CAAC;EACnEE,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACrCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNtG,EAAAA,CAAC,EAAE,EAAE;AACLriB,EAAAA,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;AACzD4oB,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,GAAG,EAAE,EAAE;AACPhK,EAAAA,MAAM,EAAE,EAAE;AACViK,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,EAAE,EAAE;AACN,CAAC;AACD;;AAEA,MAAMC,aAAa,GAAG,IAAIjgC,GAAG,CAAC,CAC5B,YAAY,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,YAAY,CACb,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkgC,gBAAgB,GAAG,yDAAyD;AAElF,MAAMC,gBAAgB,GAAGA,CAACC,SAAS,EAAEC,oBAAoB,KAAK;EAC5D,MAAMC,aAAa,GAAGF,SAAS,CAACG,QAAQ,CAACv7B,WAAW,EAAE;AAEtD,EAAA,IAAIq7B,oBAAoB,CAACl9B,QAAQ,CAACm9B,aAAa,CAAC,EAAE;AAChD,IAAA,IAAIL,aAAa,CAACzhC,GAAG,CAAC8hC,aAAa,CAAC,EAAE;MACpC,OAAOz9B,OAAO,CAACq9B,gBAAgB,CAACp0B,IAAI,CAACs0B,SAAS,CAACI,SAAS,CAAC,CAAC;AAC5D,IAAA;AAEA,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;EACA,OAAOH,oBAAoB,CAAC36B,MAAM,CAAC+6B,cAAc,IAAIA,cAAc,YAAY50B,MAAM,CAAC,CACnF60B,IAAI,CAACC,KAAK,IAAIA,KAAK,CAAC70B,IAAI,CAACw0B,aAAa,CAAC,CAAC;AAC7C,CAAC;AAEM,SAASM,YAAYA,CAACC,UAAU,EAAEC,SAAS,EAAEC,gBAAgB,EAAE;AACpE,EAAA,IAAI,CAACF,UAAU,CAACp9B,MAAM,EAAE;AACtB,IAAA,OAAOo9B,UAAU;AACnB,EAAA;AAEA,EAAA,IAAIE,gBAAgB,IAAI,OAAOA,gBAAgB,KAAK,UAAU,EAAE;IAC9D,OAAOA,gBAAgB,CAACF,UAAU,CAAC;AACrC,EAAA;AAEA,EAAA,MAAMG,SAAS,GAAG,IAAI76B,MAAM,CAAC86B,SAAS,EAAE;EACxC,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAe,CAACN,UAAU,EAAE,WAAW,CAAC;AAC1E,EAAA,MAAMO,QAAQ,GAAG,EAAE,CAAC5zB,MAAM,CAAC,GAAG0zB,eAAe,CAACnhB,IAAI,CAAC7e,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEzE,EAAA,KAAK,MAAM7C,OAAO,IAAI+iC,QAAQ,EAAE;IAC9B,MAAMC,WAAW,GAAGhjC,OAAO,CAACkiC,QAAQ,CAACv7B,WAAW,EAAE;AAElD,IAAA,IAAI,CAACtD,MAAM,CAAC1C,IAAI,CAAC8hC,SAAS,CAAC,CAAC39B,QAAQ,CAACk+B,WAAW,CAAC,EAAE;MACjDhjC,OAAO,CAACgB,MAAM,EAAE;AAChB,MAAA;AACF,IAAA;IAEA,MAAMiiC,aAAa,GAAG,EAAE,CAAC9zB,MAAM,CAAC,GAAGnP,OAAO,CAACkH,UAAU,CAAC;AACtD,IAAA,MAAMg8B,iBAAiB,GAAG,EAAE,CAAC/zB,MAAM,CAACszB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAEA,SAAS,CAACO,WAAW,CAAC,IAAI,EAAE,CAAC;AAEvF,IAAA,KAAK,MAAMjB,SAAS,IAAIkB,aAAa,EAAE;AACrC,MAAA,IAAI,CAACnB,gBAAgB,CAACC,SAAS,EAAEmB,iBAAiB,CAAC,EAAE;AACnDljC,QAAAA,OAAO,CAACgH,eAAe,CAAC+6B,SAAS,CAACG,QAAQ,CAAC;AAC7C,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,OAAOW,eAAe,CAACnhB,IAAI,CAAC4T,SAAS;AACvC;;ACnHA;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAM3oB,MAAI,GAAG,iBAAiB;AAE9B,MAAMF,SAAO,GAAG;AACdg2B,EAAAA,SAAS,EAAE3C,gBAAgB;EAC3BqD,OAAO,EAAE,EAAE;AAAE;AACbC,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,UAAU,EAAE,IAAI;AAChBC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAED,MAAM92B,aAAW,GAAG;AAClB+1B,EAAAA,SAAS,EAAE,QAAQ;AACnBU,EAAAA,OAAO,EAAE,QAAQ;AACjBC,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,UAAU,EAAE,iBAAiB;AAC7BC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,kBAAkB,GAAG;AACzBC,EAAAA,KAAK,EAAE,gCAAgC;AACvC/gC,EAAAA,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA;AACA;;AAEA,MAAMghC,eAAe,SAASn3B,MAAM,CAAC;EACnCW,WAAWA,CAACL,MAAM,EAAE;AAClB,IAAA,KAAK,EAAE;IACP,IAAI,CAACiB,OAAO,GAAG,IAAI,CAAClB,UAAU,CAACC,MAAM,CAAC;AACxC,EAAA;;AAEA;EACA,WAAWL,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAi3B,EAAAA,UAAUA,GAAG;IACX,OAAOvgC,MAAM,CAACxC,MAAM,CAAC,IAAI,CAACkN,OAAO,CAACo1B,OAAO,CAAC,CACvCp0B,GAAG,CAACjC,MAAM,IAAI,IAAI,CAAC+2B,wBAAwB,CAAC/2B,MAAM,CAAC,CAAC,CACpDzF,MAAM,CAAC7C,OAAO,CAAC;AACpB,EAAA;AAEAs/B,EAAAA,UAAUA,GAAG;IACX,OAAO,IAAI,CAACF,UAAU,EAAE,CAACx+B,MAAM,GAAG,CAAC;AACrC,EAAA;EAEA2+B,aAAaA,CAACZ,OAAO,EAAE;AACrB,IAAA,IAAI,CAACa,aAAa,CAACb,OAAO,CAAC;AAC3B,IAAA,IAAI,CAACp1B,OAAO,CAACo1B,OAAO,GAAG;AAAE,MAAA,GAAG,IAAI,CAACp1B,OAAO,CAACo1B,OAAO;MAAE,GAAGA;KAAS;AAC9D,IAAA,OAAO,IAAI;AACb,EAAA;AAEAc,EAAAA,MAAMA,GAAG;AACP,IAAA,MAAMC,eAAe,GAAGt7B,QAAQ,CAACmhB,aAAa,CAAC,KAAK,CAAC;AACrDma,IAAAA,eAAe,CAAC5O,SAAS,GAAG,IAAI,CAAC6O,cAAc,CAAC,IAAI,CAACp2B,OAAO,CAACy1B,QAAQ,CAAC;AAEtE,IAAA,KAAK,MAAM,CAAC7gC,QAAQ,EAAEwoB,IAAI,CAAC,IAAI9nB,MAAM,CAACwB,OAAO,CAAC,IAAI,CAACkJ,OAAO,CAACo1B,OAAO,CAAC,EAAE;MACnE,IAAI,CAACiB,WAAW,CAACF,eAAe,EAAE/Y,IAAI,EAAExoB,QAAQ,CAAC;AACnD,IAAA;AAEA,IAAA,MAAM6gC,QAAQ,GAAGU,eAAe,CAAC50B,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM8zB,UAAU,GAAG,IAAI,CAACS,wBAAwB,CAAC,IAAI,CAAC91B,OAAO,CAACq1B,UAAU,CAAC;AAEzE,IAAA,IAAIA,UAAU,EAAE;AACdI,MAAAA,QAAQ,CAACn5B,SAAS,CAACgK,GAAG,CAAC,GAAG+uB,UAAU,CAAC/5B,KAAK,CAAC,GAAG,CAAC,CAAC;AAClD,IAAA;AAEA,IAAA,OAAOm6B,QAAQ;AACjB,EAAA;;AAEA;EACAv2B,gBAAgBA,CAACH,MAAM,EAAE;AACvB,IAAA,KAAK,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC9B,IAAA,IAAI,CAACk3B,aAAa,CAACl3B,MAAM,CAACq2B,OAAO,CAAC;AACpC,EAAA;EAEAa,aAAaA,CAACK,GAAG,EAAE;AACjB,IAAA,KAAK,MAAM,CAAC1hC,QAAQ,EAAEwgC,OAAO,CAAC,IAAI9/B,MAAM,CAACwB,OAAO,CAACw/B,GAAG,CAAC,EAAE;MACrD,KAAK,CAACp3B,gBAAgB,CAAC;QAAEtK,QAAQ;AAAE+gC,QAAAA,KAAK,EAAEP;OAAS,EAAEM,kBAAkB,CAAC;AAC1E,IAAA;AACF,EAAA;AAEAW,EAAAA,WAAWA,CAACZ,QAAQ,EAAEL,OAAO,EAAExgC,QAAQ,EAAE;IACvC,MAAM2hC,eAAe,GAAGp1B,cAAc,CAACG,OAAO,CAAC1M,QAAQ,EAAE6gC,QAAQ,CAAC;IAElE,IAAI,CAACc,eAAe,EAAE;AACpB,MAAA;AACF,IAAA;AAEAnB,IAAAA,OAAO,GAAG,IAAI,CAACU,wBAAwB,CAACV,OAAO,CAAC;IAEhD,IAAI,CAACA,OAAO,EAAE;MACZmB,eAAe,CAACtjC,MAAM,EAAE;AACxB,MAAA;AACF,IAAA;AAEA,IAAA,IAAIuI,WAAS,CAAC45B,OAAO,CAAC,EAAE;MACtB,IAAI,CAACoB,qBAAqB,CAAC96B,UAAU,CAAC05B,OAAO,CAAC,EAAEmB,eAAe,CAAC;AAChE,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACv2B,OAAO,CAACs1B,IAAI,EAAE;MACrBiB,eAAe,CAAChP,SAAS,GAAG,IAAI,CAAC6O,cAAc,CAAChB,OAAO,CAAC;AACxD,MAAA;AACF,IAAA;IAEAmB,eAAe,CAACzZ,WAAW,GAAGsY,OAAO;AACvC,EAAA;EAEAgB,cAAcA,CAACE,GAAG,EAAE;IAClB,OAAO,IAAI,CAACt2B,OAAO,CAACu1B,QAAQ,GAAGf,YAAY,CAAC8B,GAAG,EAAE,IAAI,CAACt2B,OAAO,CAAC00B,SAAS,EAAE,IAAI,CAAC10B,OAAO,CAACw1B,UAAU,CAAC,GAAGc,GAAG;AACzG,EAAA;EAEAR,wBAAwBA,CAACQ,GAAG,EAAE;IAC5B,OAAOl5B,OAAO,CAACk5B,GAAG,EAAE,CAACh8B,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,EAAA;AAEAk8B,EAAAA,qBAAqBA,CAACvkC,OAAO,EAAEskC,eAAe,EAAE;AAC9C,IAAA,IAAI,IAAI,CAACv2B,OAAO,CAACs1B,IAAI,EAAE;MACrBiB,eAAe,CAAChP,SAAS,GAAG,EAAE;AAC9BgP,MAAAA,eAAe,CAACvgB,MAAM,CAAC/jB,OAAO,CAAC;AAC/B,MAAA;AACF,IAAA;AAEAskC,IAAAA,eAAe,CAACzZ,WAAW,GAAG7qB,OAAO,CAAC6qB,WAAW;AACnD,EAAA;AACF;;AC7JA;AACA;AACA;AACA;AACA;AACA;;;AAyBA;AACA;AACA;;AAEA,MAAMle,MAAI,GAAG,SAAS;AACtB,MAAM63B,qBAAqB,GAAG,IAAI7iC,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAE9E,MAAM2P,iBAAe,GAAG,MAAM;AAC9B,MAAMmzB,gBAAgB,GAAG,OAAO;AAChC,MAAMlzB,iBAAe,GAAG,MAAM;AAE9B,MAAMmzB,sBAAsB,GAAG,gBAAgB;AAC/C,MAAMC,cAAc,GAAG,CAAA,CAAA,EAAIF,gBAAgB,CAAA,CAAE;AAC7C,MAAM1yB,sBAAoB,GAAG,4BAA4B;AAEzD,MAAM6yB,gBAAgB,GAAG,eAAe;AAExC,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,cAAc,GAAG,QAAQ;AAE/B,MAAMhrB,YAAU,GAAG,MAAM;AACzB,MAAMC,cAAY,GAAG,QAAQ;AAC7B,MAAMH,YAAU,GAAG,MAAM;AACzB,MAAMC,aAAW,GAAG,OAAO;AAC3B,MAAMkrB,cAAc,GAAG,UAAU;AACjC,MAAMC,aAAW,GAAG,OAAO;AAC3B,MAAMC,eAAa,GAAG,SAAS;AAC/B,MAAMC,gBAAc,GAAG,UAAU;AACjC,MAAMjwB,kBAAgB,GAAG,YAAY;AACrC,MAAMC,gBAAgB,GAAG,YAAY;AAErC,MAAMiwB,aAAa,GAAG;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAEv6B,OAAK,EAAE,GAAG,MAAM,GAAG,OAAO;AACjCw6B,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAEz6B,OAAK,EAAE,GAAG,OAAO,GAAG;AAC5B,CAAC;AAED,MAAMwB,SAAO,GAAG;AACdg2B,EAAAA,SAAS,EAAE3C,gBAAgB;AAC3B6F,EAAAA,SAAS,EAAE,IAAI;AACf5lB,EAAAA,QAAQ,EAAE,iBAAiB;AAC3BC,EAAAA,SAAS,EAAE,KAAK;AAChB4lB,EAAAA,WAAW,EAAE,EAAE;AACfC,EAAAA,KAAK,EAAE,CAAC;EACRviB,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;AACtD+f,EAAAA,IAAI,EAAE,KAAK;AACX7mB,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACde,EAAAA,SAAS,EAAE,KAAK;AAChB2C,EAAAA,cAAc,EAAE,IAAI;AACpBojB,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,UAAU,EAAE,IAAI;AAChB5gC,EAAAA,QAAQ,EAAE,KAAK;AACf6gC,EAAAA,QAAQ,EAAE,sCAAsC,GACtC,mCAAmC,GACnC,mCAAmC,GACnC,QAAQ;AAClBsC,EAAAA,KAAK,EAAE,EAAE;AACTtgC,EAAAA,OAAO,EAAE;AACX,CAAC;AAED,MAAMkH,aAAW,GAAG;AAClB+1B,EAAAA,SAAS,EAAE,QAAQ;AACnBkD,EAAAA,SAAS,EAAE,SAAS;AACpB5lB,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE,0BAA0B;AACrC4lB,EAAAA,WAAW,EAAE,mBAAmB;AAChCC,EAAAA,KAAK,EAAE,iBAAiB;AACxBviB,EAAAA,kBAAkB,EAAE,OAAO;AAC3B+f,EAAAA,IAAI,EAAE,SAAS;AACf7mB,EAAAA,MAAM,EAAE,yBAAyB;AACjCe,EAAAA,SAAS,EAAE,mBAAmB;AAC9B2C,EAAAA,cAAc,EAAE,wBAAwB;AACxCojB,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,UAAU,EAAE,iBAAiB;AAC7B5gC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5B6gC,EAAAA,QAAQ,EAAE,QAAQ;AAClBsC,EAAAA,KAAK,EAAE,2BAA2B;AAClCtgC,EAAAA,OAAO,EAAE;AACX,CAAC;;AAED;AACA;AACA;;AAEA,MAAMugC,OAAO,SAASl4B,aAAa,CAAC;AAClCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,IAAI,OAAOuP,eAAe,KAAK,WAAW,EAAE;AAC1C,MAAA,MAAM,IAAI3O,SAAS,CAAC,qEAAqE,CAAC;AAC5F,IAAA;AAEA,IAAA,KAAK,CAAC1N,OAAO,EAAE8M,MAAM,CAAC;;AAEtB;IACA,IAAI,CAACk5B,UAAU,GAAG,IAAI;IACtB,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACC,UAAU,GAAG,IAAI;AACtB,IAAA,IAAI,CAACC,cAAc,GAAG,EAAE;IACxB,IAAI,CAACzlB,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAAC0lB,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAAC1lB,oBAAoB,GAAG,EAAE;IAC9B,IAAI,CAACC,qBAAqB,GAAG,IAAI;;AAEjC;IACA,IAAI,CAAC0lB,GAAG,GAAG,IAAI;IAEf,IAAI,CAACjlB,0BAA0B,EAAE;IACjC,IAAI,CAACklB,aAAa,EAAE;AAEpB,IAAA,IAAI,CAAC,IAAI,CAACx4B,OAAO,CAACpL,QAAQ,EAAE;MAC1B,IAAI,CAAC6jC,SAAS,EAAE;AAClB,IAAA;AACF,EAAA;;AAEA;EACA,WAAW/5B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA85B,EAAAA,MAAMA,GAAG;IACP,IAAI,CAACT,UAAU,GAAG,IAAI;AACxB,EAAA;AAEAU,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACV,UAAU,GAAG,KAAK;AACzB,EAAA;AAEAW,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAACX,UAAU,GAAG,CAAC,IAAI,CAACA,UAAU;AACpC,EAAA;AAEA9zB,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,CAAC,IAAI,CAAC8zB,UAAU,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC5qB,QAAQ,EAAE,EAAE;MACnB,IAAI,CAACwrB,MAAM,EAAE;AACb,MAAA;AACF,IAAA;IAEA,IAAI,CAACC,MAAM,EAAE;AACf,EAAA;AAEA34B,EAAAA,OAAOA,GAAG;AACRqK,IAAAA,YAAY,CAAC,IAAI,CAAC0tB,QAAQ,CAAC;AAE3B3jC,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACuL,QAAQ,CAAC9D,OAAO,CAAC26B,cAAc,CAAC,EAAEC,gBAAgB,EAAE,IAAI,CAACkC,iBAAiB,CAAC;IAEjG,IAAI,IAAI,CAACh5B,QAAQ,CAACrG,YAAY,CAAC,wBAAwB,CAAC,EAAE;AACxD,MAAA,IAAI,CAACqG,QAAQ,CAAChH,YAAY,CAAC,OAAO,EAAE,IAAI,CAACgH,QAAQ,CAACrG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAC3F,IAAA;IAEA,IAAI,CAACqa,gBAAgB,EAAE;IACvB,IAAI,CAACE,2BAA2B,EAAE;IAClC,KAAK,CAAC9T,OAAO,EAAE;AACjB,EAAA;EAEA,MAAMoN,IAAIA,GAAG;IACX,IAAI,IAAI,CAACxN,QAAQ,CAAC+N,KAAK,CAACoE,OAAO,KAAK,MAAM,EAAE;AAC1C,MAAA,MAAM,IAAIrT,KAAK,CAAC,qCAAqC,CAAC;AACxD,IAAA;IAEA,IAAI,EAAE,IAAI,CAACm6B,cAAc,EAAE,IAAI,IAAI,CAACf,UAAU,CAAC,EAAE;AAC/C,MAAA;AACF,IAAA;AAEA,IAAA,MAAMzkB,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACoL,YAAU,CAAC,CAAC;AAC7F,IAAA,MAAMktB,UAAU,GAAGx8B,cAAc,CAAC,IAAI,CAACsD,QAAQ,CAAC;AAChD,IAAA,MAAMm5B,UAAU,GAAG,CAACD,UAAU,IAAI,IAAI,CAACl5B,QAAQ,CAACo5B,aAAa,CAACz8B,eAAe,EAAEzG,QAAQ,CAAC,IAAI,CAAC8J,QAAQ,CAAC;AAEtG,IAAA,IAAIyT,SAAS,CAAC5P,gBAAgB,IAAI,CAACs1B,UAAU,EAAE;AAC7C,MAAA;AACF,IAAA;IAEA,IAAI,CAACnlB,gBAAgB,EAAE;AAEvB,IAAA,MAAMwkB,GAAG,GAAG,IAAI,CAACa,cAAc,EAAE;AAEjC,IAAA,IAAI,CAACr5B,QAAQ,CAAChH,YAAY,CAAC,kBAAkB,EAAEw/B,GAAG,CAAC7+B,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtE,IAAI;AAAEuY,MAAAA;KAAW,GAAG,IAAI,CAACjS,OAAO;IAChC,MAAMq5B,aAAa,GAAG,IAAI,CAACt5B,QAAQ,CAAC9D,OAAO,CAAC,cAAc,CAAC;AAC3D,IAAA,IAAIo9B,aAAa,IAAIpnB,SAAS,KAAKpX,QAAQ,CAAC8Y,IAAI,EAAE;AAChD1B,MAAAA,SAAS,GAAGonB,aAAa;AAC3B,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAACt5B,QAAQ,CAACo5B,aAAa,CAACz8B,eAAe,CAACzG,QAAQ,CAAC,IAAI,CAACsiC,GAAG,CAAC,EAAE;AACnEtmB,MAAAA,SAAS,CAAC+D,MAAM,CAACuiB,GAAG,CAAC;AACrBhkC,MAAAA,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACu2B,cAAc,CAAC,CAAC;AACjF,IAAA;AAEA,IAAA,MAAM,IAAI,CAACxjB,eAAe,CAAC6kB,GAAG,CAAC;AAE/BA,IAAAA,GAAG,CAACj8B,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;;AAElC;AACA;AACA;AACA;AACA,IAAA,IAAI,cAAc,IAAI3I,QAAQ,CAAC6B,eAAe,EAAE;AAC9C,MAAA,KAAK,MAAMzK,OAAO,IAAI,EAAE,CAACmP,MAAM,CAAC,GAAGvG,QAAQ,CAAC8Y,IAAI,CAACpS,QAAQ,CAAC,EAAE;QAC1DhN,YAAY,CAACyC,EAAE,CAAC/E,OAAO,EAAE,WAAW,EAAE8K,IAAI,CAAC;AAC7C,MAAA;AACF,IAAA;IAEA,MAAMgR,QAAQ,GAAGA,MAAM;AACrBxZ,MAAAA,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACqL,aAAW,CAAC,CAAC;AAE5E,MAAA,IAAI,IAAI,CAACmsB,UAAU,KAAK,KAAK,EAAE;QAC7B,IAAI,CAACU,MAAM,EAAE;AACf,MAAA;MAEA,IAAI,CAACV,UAAU,GAAG,KAAK;IACzB,CAAC;AAED,IAAA,IAAI,CAAC53B,cAAc,CAACwN,QAAQ,EAAE,IAAI,CAACwqB,GAAG,EAAE,IAAI,CAAC7sB,WAAW,EAAE,CAAC;AAC7D,EAAA;AAEA4B,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMiH,SAAS,GAAG/f,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACsL,YAAU,CAAC,CAAC;IAC7F,IAAIqI,SAAS,CAAC1Q,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,MAAM20B,GAAG,GAAG,IAAI,CAACa,cAAc,EAAE;AACjCb,IAAAA,GAAG,CAACj8B,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;;AAErC;AACA;AACA,IAAA,IAAI,cAAc,IAAI3I,QAAQ,CAAC6B,eAAe,EAAE;AAC9C,MAAA,KAAK,MAAMzK,OAAO,IAAI,EAAE,CAACmP,MAAM,CAAC,GAAGvG,QAAQ,CAAC8Y,IAAI,CAACpS,QAAQ,CAAC,EAAE;QAC1DhN,YAAY,CAACC,GAAG,CAACvC,OAAO,EAAE,WAAW,EAAE8K,IAAI,CAAC;AAC9C,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACq7B,cAAc,CAACpB,aAAa,CAAC,GAAG,KAAK;AAC1C,IAAA,IAAI,CAACoB,cAAc,CAACrB,aAAa,CAAC,GAAG,KAAK;AAC1C,IAAA,IAAI,CAACqB,cAAc,CAACtB,aAAa,CAAC,GAAG,KAAK;AAC1C,IAAA,IAAI,CAACqB,UAAU,GAAG,IAAI,CAAA;;IAEtB,MAAMpqB,QAAQ,GAAGA,MAAM;AACrB,MAAA,IAAI,IAAI,CAACurB,oBAAoB,EAAE,EAAE;AAC/B,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,CAAC,IAAI,CAACnB,UAAU,EAAE;QACpB,IAAI,CAACpkB,gBAAgB,EAAE;AACzB,MAAA;AAEA,MAAA,IAAI,CAAChU,QAAQ,CAAC9G,eAAe,CAAC,kBAAkB,CAAC;AACjD1E,MAAAA,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACuL,cAAY,CAAC,CAAC;IAC/E,CAAC;AAED,IAAA,IAAI,CAAC3L,cAAc,CAACwN,QAAQ,EAAE,IAAI,CAACwqB,GAAG,EAAE,IAAI,CAAC7sB,WAAW,EAAE,CAAC;AAC7D,EAAA;AAEA0I,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACzB,gBAAgB,IAAI,IAAI,CAAC4lB,GAAG,EAAE;MACrC,IAAI,CAAClkB,uBAAuB,EAAE;AAChC,IAAA;AACF,EAAA;;AAEA;AACA2kB,EAAAA,cAAcA,GAAG;AACf,IAAA,OAAOviC,OAAO,CAAC,IAAI,CAAC8iC,SAAS,EAAE,CAAC;AAClC,EAAA;AAEAH,EAAAA,cAAcA,GAAG;AACf,IAAA,IAAI,CAAC,IAAI,CAACb,GAAG,EAAE;AACb,MAAA,IAAI,CAACA,GAAG,GAAG,IAAI,CAACiB,iBAAiB,CAAC,IAAI,CAAClB,WAAW,IAAI,IAAI,CAACmB,sBAAsB,EAAE,CAAC;AACtF,IAAA;IAEA,OAAO,IAAI,CAAClB,GAAG;AACjB,EAAA;EAEAiB,iBAAiBA,CAACpE,OAAO,EAAE;IACzB,MAAMmD,GAAG,GAAG,IAAI,CAACmB,mBAAmB,CAACtE,OAAO,CAAC,CAACc,MAAM,EAAE;IAEtDqC,GAAG,CAACj8B,SAAS,CAACrJ,MAAM,CAACsQ,iBAAe,EAAEC,iBAAe,CAAC;AACtD+0B,IAAAA,GAAG,CAACj8B,SAAS,CAACgK,GAAG,CAAC,CAAA,GAAA,EAAM,IAAI,CAAClH,WAAW,CAACR,IAAI,CAAA,KAAA,CAAO,CAAC;AAErD,IAAA,MAAM+6B,KAAK,GAAGn/B,MAAM,CAAC,IAAI,CAAC4E,WAAW,CAACR,IAAI,CAAC,CAACtG,QAAQ,EAAE;AAEtDigC,IAAAA,GAAG,CAACx/B,YAAY,CAAC,IAAI,EAAE4gC,KAAK,CAAC;AAE7B,IAAA,IAAI,IAAI,CAACjuB,WAAW,EAAE,EAAE;AACtB6sB,MAAAA,GAAG,CAACj8B,SAAS,CAACgK,GAAG,CAAC/C,iBAAe,CAAC;AACpC,IAAA;AAEA,IAAA,OAAOg1B,GAAG;AACZ,EAAA;EAEAqB,UAAUA,CAACxE,OAAO,EAAE;IAClB,IAAI,CAACkD,WAAW,GAAGlD,OAAO;AAC1B,IAAA,IAAI,IAAI,CAAC/nB,QAAQ,EAAE,EAAE;MACnB,IAAI,CAAC0G,gBAAgB,EAAE;MACvB,IAAI,CAACxG,IAAI,EAAE;AACb,IAAA;AACF,EAAA;EAEAmsB,mBAAmBA,CAACtE,OAAO,EAAE;IAC3B,IAAI,IAAI,CAACiD,gBAAgB,EAAE;AACzB,MAAA,IAAI,CAACA,gBAAgB,CAACrC,aAAa,CAACZ,OAAO,CAAC;AAC9C,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACiD,gBAAgB,GAAG,IAAIzC,eAAe,CAAC;QAC1C,GAAG,IAAI,CAAC51B,OAAO;AACf;AACA;QACAo1B,OAAO;QACPC,UAAU,EAAE,IAAI,CAACS,wBAAwB,CAAC,IAAI,CAAC91B,OAAO,CAAC63B,WAAW;AACpE,OAAC,CAAC;AACJ,IAAA;IAEA,OAAO,IAAI,CAACQ,gBAAgB;AAC9B,EAAA;AAEAoB,EAAAA,sBAAsBA,GAAG;IACvB,OAAO;AACL,MAAA,CAAC9C,sBAAsB,GAAG,IAAI,CAAC4C,SAAS;KACzC;AACH,EAAA;AAEAA,EAAAA,SAASA,GAAG;AACV,IAAA,OAAO,IAAI,CAACzD,wBAAwB,CAAC,IAAI,CAAC91B,OAAO,CAAC+3B,KAAK,CAAC,IAAI,IAAI,CAACh4B,QAAQ,CAACrG,YAAY,CAAC,wBAAwB,CAAC;AAClH,EAAA;;AAEA;EACAmgC,4BAA4BA,CAAC1lC,KAAK,EAAE;AAClC,IAAA,OAAO,IAAI,CAACiL,WAAW,CAACsB,mBAAmB,CAACvM,KAAK,CAACE,cAAc,EAAE,IAAI,CAACylC,kBAAkB,EAAE,CAAC;AAC9F,EAAA;AAEApuB,EAAAA,WAAWA,GAAG;AACZ,IAAA,OAAO,IAAI,CAAC1L,OAAO,CAAC43B,SAAS,IAAK,IAAI,CAACW,GAAG,IAAI,IAAI,CAACA,GAAG,CAACj8B,SAAS,CAACrG,QAAQ,CAACsN,iBAAe,CAAE;AAC7F,EAAA;AAEA8J,EAAAA,QAAQA,GAAG;AACT,IAAA,OAAO,IAAI,CAACkrB,GAAG,IAAI,IAAI,CAACA,GAAG,CAACj8B,SAAS,CAACrG,QAAQ,CAACuN,iBAAe,CAAC;AACjE,EAAA;EAEAiR,aAAaA,CAAC8jB,GAAG,EAAE;AACjB;IACA,IAAI,IAAI,CAAC1lB,qBAAqB,EAAE;MAC9B,MAAMrD,SAAS,GAAGC,sBAAsB,CAAC,IAAI,CAACoD,qBAAqB,EAAE,KAAK,CAAC;MAC3E,OAAOykB,aAAa,CAAC9nB,SAAS,CAAC5P,WAAW,EAAE,CAAC,IAAI4P,SAAS;AAC5D,IAAA;;AAEA;AACA,IAAA,MAAMA,SAAS,GAAGpS,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAACwP,SAAS,EAAE,CAAC,IAAI,EAAE+oB,GAAG,EAAE,IAAI,CAACx4B,QAAQ,CAAC,CAAC;IAC7E,OAAOu3B,aAAa,CAAC9nB,SAAS,CAAC5P,WAAW,EAAE,CAAC,IAAI4P,SAAS;AAC5D,EAAA;AAEA8D,EAAAA,0BAA0BA,GAAG;AAC3B;IACA,IAAI,OAAO,IAAI,CAACtT,OAAO,CAACwP,SAAS,KAAK,QAAQ,EAAE;MAC9C,IAAI,CAACqD,qBAAqB,GAAG,IAAI;AACjC,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACA,qBAAqB,GAAG7D,wBAAwB,CAAC,IAAI,CAAChP,OAAO,CAACwP,SAAS,EAAE,KAAK,CAAC;IAEpF,IAAI,IAAI,CAACqD,qBAAqB,EAAE;MAC9B,IAAI,CAACiC,yBAAyB,EAAE;AAClC,IAAA;AACF,EAAA;AAEAA,EAAAA,yBAAyBA,GAAG;IAC1B,IAAI,CAACb,2BAA2B,EAAE;AAClC,IAAA,IAAI,CAACrB,oBAAoB,GAAG5C,yBAAyB,CAAC,MAAM;AAC1D,MAAA,IAAI,IAAI,CAAC3C,QAAQ,EAAE,EAAE;QACnB,IAAI,CAACgH,uBAAuB,EAAE;AAChC,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAJ,EAAAA,2BAA2BA,GAAG;AAC5B7D,IAAAA,0BAA0B,CAAC,IAAI,CAACwC,oBAAoB,CAAC;IACrD,IAAI,CAACA,oBAAoB,GAAG,EAAE;AAChC,EAAA;EAEA,MAAMc,eAAeA,CAAC6kB,GAAG,EAAE;AACzB,IAAA,MAAM/oB,SAAS,GAAG,IAAI,CAACiF,aAAa,CAAC8jB,GAAG,CAAC;AACzC,IAAA,MAAMwB,YAAY,GAAGxB,GAAG,CAAC58B,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAACyD,WAAW,CAACR,IAAI,QAAQ,CAAC;;AAEzE;IACA,MAAM,IAAI,CAACyV,uBAAuB,CAACkkB,GAAG,EAAE/oB,SAAS,EAAEuqB,YAAY,CAAC;;AAEhE;IACA,IAAI,CAACpnB,gBAAgB,GAAG6B,UAAU,CAChC,IAAI,CAACzU,QAAQ,EACbw4B,GAAG,EACH,MAAM,IAAI,CAAClkB,uBAAuB,CAACkkB,GAAG,EAAE,IAAI,EAAEwB,YAAY,CAC5D,CAAC;AACH,EAAA;AAEA,EAAA,MAAM1lB,uBAAuBA,CAACkkB,GAAG,GAAG,IAAI,CAACA,GAAG,EAAE/oB,SAAS,GAAG,IAAI,EAAEuqB,YAAY,GAAG,IAAI,EAAE;IACnF,IAAI,CAACxB,GAAG,EAAE;AACR,MAAA;AACF,IAAA;IAEA,IAAI,CAAC/oB,SAAS,EAAE;AACdA,MAAAA,SAAS,GAAG,IAAI,CAACiF,aAAa,CAAC8jB,GAAG,CAAC;AACrC,IAAA;IAEA,IAAI,CAACwB,YAAY,EAAE;AACjBA,MAAAA,YAAY,GAAGxB,GAAG,CAAC58B,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAACyD,WAAW,CAACR,IAAI,CAAA,MAAA,CAAQ,CAAC;AACrE,IAAA;AAEA,IAAA,MAAM8V,UAAU,GAAG,IAAI,CAACC,sBAAsB,CAAColB,YAAY,CAAC;IAC5D,MAAM5nB,cAAc,GAAG,IAAI,CAACyC,kBAAkB,CAACpF,SAAS,EAAEkF,UAAU,CAAC;IAErE,MAAM;MAAE7C,CAAC;MAAEC,CAAC;AAAEtC,MAAAA,SAAS,EAAE0G,cAAc;AAAE8jB,MAAAA;KAAgB,GAAG,MAAM1rB,eAAe,CAC/E,IAAI,CAACvO,QAAQ,EACbw4B,GAAG,EACHpmB,cACF,CAAC;;AAED;AACA7c,IAAAA,MAAM,CAAC6gB,MAAM,CAACoiB,GAAG,CAACzqB,KAAK,EAAE;AACvBsI,MAAAA,QAAQ,EAAE,UAAU;MACpBP,IAAI,EAAE,CAAA,EAAGhE,CAAC,CAAA,EAAA,CAAI;MACd8D,GAAG,EAAE,GAAG7D,CAAC,CAAA,EAAA;AACX,KAAC,CAAC;;AAEF;AACA,IAAA,IAAIioB,YAAY,EAAE;AAChBA,MAAAA,YAAY,CAACjsB,KAAK,CAACsI,QAAQ,GAAG,UAAU;AAC1C,IAAA;;AAEA;IACAvd,WAAW,CAACC,gBAAgB,CAACy/B,GAAG,EAAE,WAAW,EAAEriB,cAAc,CAAC;;AAE9D;AACA;AACA,IAAA,IAAI6jB,YAAY,IAAIC,cAAc,CAACzrB,KAAK,EAAE;MACxC,MAAM;AAAEsD,QAAAA,CAAC,EAAEooB,MAAM;AAAEnoB,QAAAA,CAAC,EAAEooB;OAAQ,GAAGF,cAAc,CAACzrB,KAAK;AACrD,MAAA,MAAM4rB,UAAU,GAAGjkB,cAAc,CAAC9e,UAAU,CAAC,KAAK,CAAC,IAAI8e,cAAc,CAAC9e,UAAU,CAAC,QAAQ,CAAC;;AAE1F;AACA;AACA9B,MAAAA,MAAM,CAAC6gB,MAAM,CAAC4jB,YAAY,CAACjsB,KAAK,EAAE;QAChC+H,IAAI,EAAEskB,UAAU,IAAIF,MAAM,KAAK,IAAI,GAAG,CAAA,EAAGA,MAAM,CAAA,EAAA,CAAI,GAAG,EAAE;AACxDtkB,QAAAA,GAAG,EAAE,CAACwkB,UAAU,IAAID,MAAM,KAAK,IAAI,GAAG,CAAA,EAAGA,MAAM,CAAA,EAAA,CAAI,GAAG,EAAE;AACxD;AACAtkB,QAAAA,KAAK,EAAE,EAAE;AACTF,QAAAA,MAAM,EAAE;AACV,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;AAEAX,EAAAA,UAAUA,GAAG;IACX,MAAM;AAAEtG,MAAAA;KAAQ,GAAG,IAAI,CAACzO,OAAO;AAE/B,IAAA,IAAI,OAAOyO,MAAM,KAAK,QAAQ,EAAE;AAC9B,MAAA,OAAOA,MAAM,CAACnT,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAAChO,KAAK,IAAIqF,MAAM,CAAC0S,QAAQ,CAAC/X,KAAK,EAAE,EAAE,CAAC,CAAC;AACnE,IAAA;AAEA,IAAA,IAAI,OAAOyb,MAAM,KAAK,UAAU,EAAE;AAChC;AACA,MAAA,OAAO,CAAC;QAAEe,SAAS;AAAEyF,QAAAA;AAAM,OAAC,KAAK;QAC/B,MAAMC,MAAM,GAAGzG,MAAM,CAAC;UAAEe,SAAS;UAAE6C,SAAS,EAAE4C,KAAK,CAAC5C,SAAS;UAAE8C,QAAQ,EAAEF,KAAK,CAACE;AAAS,SAAC,EAAE,IAAI,CAACpV,QAAQ,CAAC;AACzG,QAAA,OAAOmV,MAAM;MACf,CAAC;AACH,IAAA;AAEA,IAAA,OAAOzG,MAAM;AACf,EAAA;EAEAqnB,wBAAwBA,CAACQ,GAAG,EAAE;AAC5B,IAAA,OAAOl5B,OAAO,CAACk5B,GAAG,EAAE,CAAC,IAAI,CAACv2B,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAAC,CAAC;AACrD,EAAA;EAEA4U,sBAAsBA,CAAColB,YAAY,EAAE;AACnC,IAAA,MAAM3kB,WAAW,GAAG,IAAI,CAACL,UAAU,EAAE;AAErC,IAAA,MAAML,UAAU,GAAG;AACjB;AACAjG,IAAAA,MAAM,CACJ,OAAO2G,WAAW,KAAK,UAAU,GAC/BA,WAAW,GACX;AAAEC,MAAAA,QAAQ,EAAED,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAAEE,MAAAA,SAAS,EAAEF,WAAW,CAAC,CAAC,CAAC,IAAI;AAAE,KACpE,CAAC;AACD;AACA5G,IAAAA,IAAI,CAAC;AACH+G,MAAAA,kBAAkB,EAAE,IAAI,CAACvV,OAAO,CAACuV;AACnC,KAAC,CAAC;AACF;AACA7G,IAAAA,KAAK,CAAC;AACJsD,MAAAA,QAAQ,EAAE,IAAI,CAAChS,OAAO,CAACgS,QAAQ,KAAK,iBAAiB,GAAG,mBAAmB,GAAG,IAAI,CAAChS,OAAO,CAACgS;AAC7F,KAAC,CAAC,CACH;;AAED;AACA,IAAA,IAAI+nB,YAAY,EAAE;AAChBrlB,MAAAA,UAAU,CAAC9S,IAAI,CAAC2M,KAAK,CAAC;AAAEtc,QAAAA,OAAO,EAAE8nC;AAAa,OAAC,CAAC,CAAC;AACnD,IAAA;AAEA,IAAA,OAAOrlB,UAAU;AACnB,EAAA;AAEAE,EAAAA,kBAAkBA,CAACpF,SAAS,EAAEkF,UAAU,EAAE;AACxC,IAAA,MAAMoB,aAAa,GAAG;MACpBtG,SAAS;AACTkF,MAAAA;KACD;IAED,OAAO;AACL,MAAA,GAAGoB,aAAa;AAChB,MAAA,GAAG1Y,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAACmS,cAAc,EAAE,CAAC7X,SAAS,EAAEwb,aAAa,CAAC;KACnE;AACH,EAAA;AAEA0iB,EAAAA,aAAaA,GAAG;IACd,MAAM4B,QAAQ,GAAG,IAAI,CAACp6B,OAAO,CAACvI,OAAO,CAAC6D,KAAK,CAAC,GAAG,CAAC;AAEhD,IAAA,KAAK,MAAM7D,OAAO,IAAI2iC,QAAQ,EAAE;MAC9B,IAAI3iC,OAAO,KAAK,OAAO,EAAE;QACvBlD,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACw2B,aAAW,CAAC,EAAE,IAAI,CAACn3B,OAAO,CAACpL,QAAQ,EAAET,KAAK,IAAI;AACtG,UAAA,MAAM4qB,OAAO,GAAG,IAAI,CAAC8a,4BAA4B,CAAC1lC,KAAK,CAAC;AACxD4qB,UAAAA,OAAO,CAACqZ,cAAc,CAACpB,aAAa,CAAC,GAAG,EAAEjY,OAAO,CAAC1R,QAAQ,EAAE,IAAI0R,OAAO,CAACqZ,cAAc,CAACpB,aAAa,CAAC,CAAC;UACtGjY,OAAO,CAAC5a,MAAM,EAAE;AAClB,QAAA,CAAC,CAAC;AACJ,MAAA,CAAC,MAAM,IAAI1M,OAAO,KAAKw/B,cAAc,EAAE;QACrC,MAAMoD,OAAO,GAAG5iC,OAAO,KAAKq/B,aAAa,GACvC,IAAI,CAAC13B,WAAW,CAACuB,SAAS,CAACyG,kBAAgB,CAAC,GAC5C,IAAI,CAAChI,WAAW,CAACuB,SAAS,CAACy2B,eAAa,CAAC;QAC3C,MAAMkD,QAAQ,GAAG7iC,OAAO,KAAKq/B,aAAa,GACxC,IAAI,CAAC13B,WAAW,CAACuB,SAAS,CAAC0G,gBAAgB,CAAC,GAC5C,IAAI,CAACjI,WAAW,CAACuB,SAAS,CAAC02B,gBAAc,CAAC;AAE5C9iC,QAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEs6B,OAAO,EAAE,IAAI,CAACr6B,OAAO,CAACpL,QAAQ,EAAET,KAAK,IAAI;AACtE,UAAA,MAAM4qB,OAAO,GAAG,IAAI,CAAC8a,4BAA4B,CAAC1lC,KAAK,CAAC;AACxD4qB,UAAAA,OAAO,CAACqZ,cAAc,CAACjkC,KAAK,CAACM,IAAI,KAAK,SAAS,GAAGsiC,aAAa,GAAGD,aAAa,CAAC,GAAG,IAAI;UACvF/X,OAAO,CAAC+Z,MAAM,EAAE;AAClB,QAAA,CAAC,CAAC;AACFvkC,QAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEu6B,QAAQ,EAAE,IAAI,CAACt6B,OAAO,CAACpL,QAAQ,EAAET,KAAK,IAAI;AACvE,UAAA,MAAM4qB,OAAO,GAAG,IAAI,CAAC8a,4BAA4B,CAAC1lC,KAAK,CAAC;UACxD4qB,OAAO,CAACqZ,cAAc,CAACjkC,KAAK,CAACM,IAAI,KAAK,UAAU,GAAGsiC,aAAa,GAAGD,aAAa,CAAC,GAC/E/X,OAAO,CAAChf,QAAQ,CAAC9J,QAAQ,CAAC9B,KAAK,CAAC6B,aAAa,CAAC;UAEhD+oB,OAAO,CAAC8Z,MAAM,EAAE;AAClB,QAAA,CAAC,CAAC;AACJ,MAAA;AACF,IAAA;IAEA,IAAI,CAACE,iBAAiB,GAAG,MAAM;MAC7B,IAAI,IAAI,CAACh5B,QAAQ,EAAE;QACjB,IAAI,CAACuN,IAAI,EAAE;AACb,MAAA;IACF,CAAC;AAED/Y,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,CAAC9D,OAAO,CAAC26B,cAAc,CAAC,EAAEC,gBAAgB,EAAE,IAAI,CAACkC,iBAAiB,CAAC;AAClG,EAAA;AAEAN,EAAAA,SAASA,GAAG;IACV,MAAMV,KAAK,GAAG,IAAI,CAACh4B,QAAQ,CAACrG,YAAY,CAAC,OAAO,CAAC;IAEjD,IAAI,CAACq+B,KAAK,EAAE;AACV,MAAA;AACF,IAAA;IAEA,IAAI,CAAC,IAAI,CAACh4B,QAAQ,CAACrG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAACqG,QAAQ,CAAC+c,WAAW,CAAC/b,IAAI,EAAE,EAAE;MAClF,IAAI,CAAChB,QAAQ,CAAChH,YAAY,CAAC,YAAY,EAAEg/B,KAAK,CAAC;AACjD,IAAA;IAEA,IAAI,CAACh4B,QAAQ,CAAChH,YAAY,CAAC,wBAAwB,EAAEg/B,KAAK,CAAC,CAAA;AAC3D,IAAA,IAAI,CAACh4B,QAAQ,CAAC9G,eAAe,CAAC,OAAO,CAAC;AACxC,EAAA;AAEA6/B,EAAAA,MAAMA,GAAG;IACP,IAAI,IAAI,CAACzrB,QAAQ,EAAE,IAAI,IAAI,CAAC8qB,UAAU,EAAE;MACtC,IAAI,CAACA,UAAU,GAAG,IAAI;AACtB,MAAA;AACF,IAAA;IAEA,IAAI,CAACA,UAAU,GAAG,IAAI;IAEtB,IAAI,CAACoC,WAAW,CAAC,MAAM;MACrB,IAAI,IAAI,CAACpC,UAAU,EAAE;QACnB,IAAI,CAAC5qB,IAAI,EAAE;AACb,MAAA;IACF,CAAC,EAAE,IAAI,CAACvN,OAAO,CAAC83B,KAAK,CAACvqB,IAAI,CAAC;AAC7B,EAAA;AAEAsrB,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACS,oBAAoB,EAAE,EAAE;AAC/B,MAAA;AACF,IAAA;IAEA,IAAI,CAACnB,UAAU,GAAG,KAAK;IAEvB,IAAI,CAACoC,WAAW,CAAC,MAAM;AACrB,MAAA,IAAI,CAAC,IAAI,CAACpC,UAAU,EAAE;QACpB,IAAI,CAAC7qB,IAAI,EAAE;AACb,MAAA;IACF,CAAC,EAAE,IAAI,CAACtN,OAAO,CAAC83B,KAAK,CAACxqB,IAAI,CAAC;AAC7B,EAAA;AAEAitB,EAAAA,WAAWA,CAACrmC,OAAO,EAAEsmC,OAAO,EAAE;AAC5BhwB,IAAAA,YAAY,CAAC,IAAI,CAAC0tB,QAAQ,CAAC;IAC3B,IAAI,CAACA,QAAQ,GAAGp6B,UAAU,CAAC5J,OAAO,EAAEsmC,OAAO,CAAC;AAC9C,EAAA;AAEAlB,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,OAAOhkC,MAAM,CAACxC,MAAM,CAAC,IAAI,CAACslC,cAAc,CAAC,CAACrhC,QAAQ,CAAC,IAAI,CAAC;AAC1D,EAAA;EAEA+H,UAAUA,CAACC,MAAM,EAAE;IACjB,MAAM07B,cAAc,GAAG5hC,WAAW,CAACK,iBAAiB,CAAC,IAAI,CAAC6G,QAAQ,CAAC;IAEnE,KAAK,MAAM26B,aAAa,IAAIplC,MAAM,CAAC1C,IAAI,CAAC6nC,cAAc,CAAC,EAAE;AACvD,MAAA,IAAIhE,qBAAqB,CAACrkC,GAAG,CAACsoC,aAAa,CAAC,EAAE;QAC5C,OAAOD,cAAc,CAACC,aAAa,CAAC;AACtC,MAAA;AACF,IAAA;AAEA37B,IAAAA,MAAM,GAAG;AACP,MAAA,GAAG07B,cAAc;MACjB,IAAI,OAAO17B,MAAM,KAAK,QAAQ,IAAIA,MAAM,GAAGA,MAAM,GAAG,EAAE;KACvD;AACDA,IAAAA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC;AACrCA,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC;AACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC7B,IAAA,OAAOA,MAAM;AACf,EAAA;EAEAE,iBAAiBA,CAACF,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAACkT,SAAS,GAAGlT,MAAM,CAACkT,SAAS,KAAK,KAAK,GAAGpX,QAAQ,CAAC8Y,IAAI,GAAGjY,UAAU,CAACqD,MAAM,CAACkT,SAAS,CAAC;AAE5F,IAAA,IAAI,OAAOlT,MAAM,CAAC+4B,KAAK,KAAK,QAAQ,EAAE;MACpC/4B,MAAM,CAAC+4B,KAAK,GAAG;QACbvqB,IAAI,EAAExO,MAAM,CAAC+4B,KAAK;QAClBxqB,IAAI,EAAEvO,MAAM,CAAC+4B;OACd;AACH,IAAA;AAEA,IAAA,IAAI,OAAO/4B,MAAM,CAACg5B,KAAK,KAAK,QAAQ,EAAE;MACpCh5B,MAAM,CAACg5B,KAAK,GAAGh5B,MAAM,CAACg5B,KAAK,CAACz/B,QAAQ,EAAE;AACxC,IAAA;AAEA,IAAA,IAAI,OAAOyG,MAAM,CAACq2B,OAAO,KAAK,QAAQ,EAAE;MACtCr2B,MAAM,CAACq2B,OAAO,GAAGr2B,MAAM,CAACq2B,OAAO,CAAC98B,QAAQ,EAAE;AAC5C,IAAA;AAEA,IAAA,OAAOyG,MAAM;AACf,EAAA;AAEA+6B,EAAAA,kBAAkBA,GAAG;IACnB,MAAM/6B,MAAM,GAAG,EAAE;AAEjB,IAAA,KAAK,MAAM,CAAC7M,GAAG,EAAEc,KAAK,CAAC,IAAIsC,MAAM,CAACwB,OAAO,CAAC,IAAI,CAACkJ,OAAO,CAAC,EAAE;MACvD,IAAI,IAAI,CAACZ,WAAW,CAACV,OAAO,CAACxM,GAAG,CAAC,KAAKc,KAAK,EAAE;AAC3C+L,QAAAA,MAAM,CAAC7M,GAAG,CAAC,GAAGc,KAAK;AACrB,MAAA;AACF,IAAA;IAEA+L,MAAM,CAACnK,QAAQ,GAAG,KAAK;IACvBmK,MAAM,CAACtH,OAAO,GAAG,QAAQ;;AAEzB;AACA;AACA;AACA,IAAA,OAAOsH,MAAM;AACf,EAAA;AAEAgV,EAAAA,gBAAgBA,GAAG;IACjB,IAAI,IAAI,CAACpB,gBAAgB,EAAE;MACzB,IAAI,CAACA,gBAAgB,EAAE;MACvB,IAAI,CAACA,gBAAgB,GAAG,IAAI;AAC9B,IAAA;IAEA,IAAI,IAAI,CAAC4lB,GAAG,EAAE;AACZ,MAAA,IAAI,CAACA,GAAG,CAACtlC,MAAM,EAAE;MACjB,IAAI,CAACslC,GAAG,GAAG,IAAI;AACjB,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA,MAAMoC,WAAW,GAAGxmC,KAAK,IAAI;EAC3B,MAAMY,MAAM,GAAGZ,KAAK,CAACY,MAAM,CAACkH,OAAO,CAAC+H,sBAAoB,CAAC;EACzD,IAAI,CAACjP,MAAM,EAAE;AACX,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,MAAM6lC,OAAO,GAAG5C,OAAO,CAACt3B,mBAAmB,CAAC3L,MAAM,CAAC;;AAEnD;AACA,EAAA,IAAIZ,KAAK,CAACM,IAAI,KAAK,SAAS,EAAE;AAC5BmmC,IAAAA,OAAO,CAACxC,cAAc,CAACxkB,KAAK,GAAG,IAAI;IACnCgnB,OAAO,CAAC9B,MAAM,EAAE;AAClB,EAAA;AACF,CAAC;AAEDvkC,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEu8B,eAAa,EAAEpzB,sBAAoB,EAAE22B,WAAW,CAAC;AAC3EpmC,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEuM,kBAAgB,EAAEpD,sBAAoB,EAAE22B,WAAW,CAAC;;AC1uB9E;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACA;AACA;;AAEA,MAAM/7B,MAAI,GAAG,SAAS;AAEtB,MAAMi8B,cAAc,GAAG,iBAAiB;AACxC,MAAMC,gBAAgB,GAAG,eAAe;AACxC,MAAM92B,sBAAoB,GAAG,4BAA4B;AAEzD,MAAMmzB,aAAW,GAAG,OAAO;AAC3B,MAAMC,eAAa,GAAG,SAAS;AAC/B,MAAMhwB,gBAAgB,GAAG,YAAY;AAErC,MAAM1I,SAAO,GAAG;EACd,GAAGs5B,OAAO,CAACt5B,OAAO;AAClB02B,EAAAA,OAAO,EAAE,EAAE;AACX3mB,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACde,EAAAA,SAAS,EAAE,OAAO;EAClBimB,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;AACVh+B,EAAAA,OAAO,EAAE;AACX,CAAC;AAED,MAAMkH,aAAW,GAAG;EAClB,GAAGq5B,OAAO,CAACr5B,WAAW;AACtBy2B,EAAAA,OAAO,EAAE;AACX,CAAC;;AAED;AACA;AACA;;AAEA,MAAM2F,OAAO,SAAS/C,OAAO,CAAC;AAC5B;EACA,WAAWt5B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAo6B,EAAAA,cAAcA,GAAG;IACf,OAAO,IAAI,CAACO,SAAS,EAAE,IAAI,IAAI,CAACyB,WAAW,EAAE;AAC/C,EAAA;;AAEA;AACAvB,EAAAA,sBAAsBA,GAAG;IACvB,OAAO;AACL,MAAA,CAACoB,cAAc,GAAG,IAAI,CAACtB,SAAS,EAAE;AAClC,MAAA,CAACuB,gBAAgB,GAAG,IAAI,CAACE,WAAW;KACrC;AACH,EAAA;AAEAA,EAAAA,WAAWA,GAAG;IACZ,OAAO,IAAI,CAAClF,wBAAwB,CAAC,IAAI,CAAC91B,OAAO,CAACo1B,OAAO,CAAC;AAC5D,EAAA;AACF;;AAEA;AACA;AACA;;AAEA,MAAM6F,WAAW,GAAG9mC,KAAK,IAAI;EAC3B,MAAMY,MAAM,GAAGZ,KAAK,CAACY,MAAM,CAACkH,OAAO,CAAC+H,sBAAoB,CAAC;EACzD,IAAI,CAACjP,MAAM,EAAE;AACX,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,IAAIZ,KAAK,CAACM,IAAI,KAAK,OAAO,EAAE;IAC1BN,KAAK,CAACyO,cAAc,EAAE;AACxB,EAAA;;AAEA;AACA,EAAA,MAAMs4B,OAAO,GAAGH,OAAO,CAACr6B,mBAAmB,CAAC3L,MAAM,CAAC;;AAEnD;AACA,EAAA,IAAIZ,KAAK,CAACM,IAAI,KAAK,OAAO,EAAE;IAC1BymC,OAAO,CAAC/2B,MAAM,EAAE;AAClB,EAAA,CAAC,MAAM,IAAIhQ,KAAK,CAACM,IAAI,KAAK,SAAS,EAAE;AACnCymC,IAAAA,OAAO,CAAC9C,cAAc,CAACxkB,KAAK,GAAG,IAAI;IACnCsnB,OAAO,CAACpC,MAAM,EAAE;AAClB,EAAA;AACF,CAAC;;AAED;AACAvkC,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEs8B,aAAW,EAAEnzB,sBAAoB,EAAEi3B,WAAW,CAAC;AACzE1mC,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEu8B,eAAa,EAAEpzB,sBAAoB,EAAEi3B,WAAW,CAAC;AAC3E1mC,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEuM,gBAAgB,EAAEpD,sBAAoB,EAAEi3B,WAAW,CAAC;;AC5G9E;AACA;AACA;AACA;AACA;AACA;;;AASA;AACA;AACA;;AAEA,MAAMr8B,MAAI,GAAG,WAAW;AACxB,MAAMsB,UAAQ,GAAG,cAAc;AAC/B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM4D,YAAY,GAAG,WAAW;AAEhC,MAAMq3B,cAAc,GAAG,CAAA,QAAA,EAAW/6B,WAAS,CAAA,CAAE;AAC7C,MAAM+2B,aAAW,GAAG,CAAA,KAAA,EAAQ/2B,WAAS,CAAA,CAAE;AACvC,MAAMmH,qBAAmB,GAAG,CAAA,IAAA,EAAOnH,WAAS,CAAA,EAAG0D,YAAY,CAAA,CAAE;AAE7D,MAAMs3B,oBAAoB,GAAG,WAAW;AACxC,MAAMr3B,mBAAiB,GAAG,QAAQ;AAElC,MAAMs3B,iBAAiB,GAAG,wBAAwB;AAClD,MAAMC,qBAAqB,GAAG,QAAQ;AACtC,MAAMC,uBAAuB,GAAG,mBAAmB;AACnD,MAAMC,kBAAkB,GAAG,WAAW;AACtC,MAAMC,kBAAkB,GAAG,WAAW;AACtC,MAAMC,mBAAmB,GAAG,kBAAkB;AAC9C,MAAMC,mBAAmB,GAAG,CAAA,EAAGH,kBAAkB,CAAA,EAAA,EAAKC,kBAAkB,CAAA,GAAA,EAAMD,kBAAkB,CAAA,EAAA,EAAKE,mBAAmB,CAAA,CAAE;AAC1H,MAAME,sBAAoB,GAAG,yBAAyB;AAEtD,MAAMl9B,SAAO,GAAG;AACdm9B,EAAAA,UAAU,EAAE,cAAc;AAC1BC,EAAAA,YAAY,EAAE,KAAK;AACnB/mC,EAAAA,MAAM,EAAE,IAAI;AACZgxB,EAAAA,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED,MAAMpnB,aAAW,GAAG;AAClBk9B,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,YAAY,EAAE,SAAS;AACvB/mC,EAAAA,MAAM,EAAE,SAAS;AACjBgxB,EAAAA,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;;AAEA,MAAMgW,SAAS,SAASj8B,aAAa,CAAC;AACpCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;;AAEtB;AACA,IAAA,IAAI,CAACi9B,YAAY,GAAG,IAAIjqC,GAAG,EAAE;AAC7B,IAAA,IAAI,CAACkqC,mBAAmB,GAAG,IAAIlqC,GAAG,EAAE;AACpC,IAAA,IAAI,CAACmqC,YAAY,GAAGhhC,gBAAgB,CAAC,IAAI,CAAC6E,QAAQ,CAAC,CAACo8B,SAAS,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,CAACp8B,QAAQ;IAClG,IAAI,CAACq8B,aAAa,GAAG,IAAI;IACzB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,mBAAmB,GAAG;AACzBC,MAAAA,eAAe,EAAE,CAAC;AAClBC,MAAAA,eAAe,EAAE;KAClB;AACD,IAAA,IAAI,CAACC,OAAO,EAAE,CAAA;AAChB,EAAA;;AAEA;EACA,WAAW/9B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA69B,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACC,gCAAgC,EAAE;IACvC,IAAI,CAACC,wBAAwB,EAAE;IAE/B,IAAI,IAAI,CAACN,SAAS,EAAE;AAClB,MAAA,IAAI,CAACA,SAAS,CAAC1d,UAAU,EAAE;AAC7B,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAAC0d,SAAS,GAAG,IAAI,CAACO,eAAe,EAAE;AACzC,IAAA;IAEA,KAAK,MAAMC,OAAO,IAAI,IAAI,CAACZ,mBAAmB,CAACnpC,MAAM,EAAE,EAAE;AACvD,MAAA,IAAI,CAACupC,SAAS,CAAC7b,OAAO,CAACqc,OAAO,CAAC;AACjC,IAAA;AACF,EAAA;AAEA18B,EAAAA,OAAOA,GAAG;AACR,IAAA,IAAI,CAACk8B,SAAS,CAAC1d,UAAU,EAAE;IAC3B,KAAK,CAACxe,OAAO,EAAE;AACjB,EAAA;;AAEA;EACAlB,iBAAiBA,CAACF,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAAChK,MAAM,GAAG2G,UAAU,CAACqD,MAAM,CAAChK,MAAM,CAAC,IAAI8F,QAAQ,CAAC8Y,IAAI;AAE1D,IAAA,IAAI,OAAO5U,MAAM,CAACgnB,SAAS,KAAK,QAAQ,EAAE;MACxChnB,MAAM,CAACgnB,SAAS,GAAGhnB,MAAM,CAACgnB,SAAS,CAACzqB,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAAChO,KAAK,IAAIqF,MAAM,CAAC+C,UAAU,CAACpI,KAAK,CAAC,CAAC;AACvF,IAAA;AAEA,IAAA,OAAO+L,MAAM;AACf,EAAA;AAEA49B,EAAAA,wBAAwBA,GAAG;AACzB,IAAA,IAAI,CAAC,IAAI,CAAC38B,OAAO,CAAC87B,YAAY,EAAE;AAC9B,MAAA;AACF,IAAA;;AAEA;IACAvnC,YAAY,CAACC,GAAG,CAAC,IAAI,CAACwL,OAAO,CAACjL,MAAM,EAAEoiC,aAAW,CAAC;AAElD5iC,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAACgJ,OAAO,CAACjL,MAAM,EAAEoiC,aAAW,EAAEmE,qBAAqB,EAAEnnC,KAAK,IAAI;AAChF,MAAA,MAAM2oC,iBAAiB,GAAG,IAAI,CAACb,mBAAmB,CAAC3pC,GAAG,CAAC6B,KAAK,CAACY,MAAM,CAACgoC,IAAI,CAAC;AACzE,MAAA,IAAID,iBAAiB,EAAE;QACrB3oC,KAAK,CAACyO,cAAc,EAAE;AACtB,QAAA,MAAM/F,IAAI,GAAG,IAAI,CAACq/B,YAAY,IAAIniC,MAAM;QACxC,MAAMijC,MAAM,GAAGF,iBAAiB,CAACG,SAAS,GAAG,IAAI,CAACl9B,QAAQ,CAACk9B,SAAS;QACpE,IAAIpgC,IAAI,CAACqgC,QAAQ,EAAE;UACjBrgC,IAAI,CAACqgC,QAAQ,CAAC;AAAEvnB,YAAAA,GAAG,EAAEqnB,MAAM;AAAEG,YAAAA,QAAQ,EAAE;AAAS,WAAC,CAAC;AAClD,UAAA;AACF,QAAA;;AAEA;QACAtgC,IAAI,CAACugC,SAAS,GAAGJ,MAAM;AACzB,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAJ,EAAAA,eAAeA,GAAG;AAChB,IAAA,MAAMlN,OAAO,GAAG;MACd7yB,IAAI,EAAE,IAAI,CAACq/B,YAAY;AACvBnW,MAAAA,SAAS,EAAE,IAAI,CAAC/lB,OAAO,CAAC+lB,SAAS;AACjC8V,MAAAA,UAAU,EAAE,IAAI,CAAC77B,OAAO,CAAC67B;KAC1B;AAED,IAAA,OAAO,IAAIwB,oBAAoB,CAACvmC,OAAO,IAAI,IAAI,CAACwmC,iBAAiB,CAACxmC,OAAO,CAAC,EAAE44B,OAAO,CAAC;AACtF,EAAA;;AAEA;EACA4N,iBAAiBA,CAACxmC,OAAO,EAAE;AACzB,IAAA,MAAMymC,aAAa,GAAG5H,KAAK,IAAI,IAAI,CAACqG,YAAY,CAAC1pC,GAAG,CAAC,IAAIqjC,KAAK,CAAC5gC,MAAM,CAACoF,EAAE,EAAE,CAAC;IAC3E,MAAMqjC,QAAQ,GAAG7H,KAAK,IAAI;MACxB,IAAI,CAAC2G,mBAAmB,CAACC,eAAe,GAAG5G,KAAK,CAAC5gC,MAAM,CAACkoC,SAAS;AACjE,MAAA,IAAI,CAACQ,QAAQ,CAACF,aAAa,CAAC5H,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM6G,eAAe,GAAG,CAAC,IAAI,CAACN,YAAY,IAAIrhC,QAAQ,CAAC6B,eAAe,EAAE0gC,SAAS;IACjF,MAAMM,eAAe,GAAGlB,eAAe,IAAI,IAAI,CAACF,mBAAmB,CAACE,eAAe;AACnF,IAAA,IAAI,CAACF,mBAAmB,CAACE,eAAe,GAAGA,eAAe;AAE1D,IAAA,KAAK,MAAM7G,KAAK,IAAI7+B,OAAO,EAAE;AAC3B,MAAA,IAAI,CAAC6+B,KAAK,CAACgI,cAAc,EAAE;QACzB,IAAI,CAACvB,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,CAACwB,iBAAiB,CAACL,aAAa,CAAC5H,KAAK,CAAC,CAAC;AAE5C,QAAA;AACF,MAAA;AAEA,MAAA,MAAMkI,wBAAwB,GAAGlI,KAAK,CAAC5gC,MAAM,CAACkoC,SAAS,IAAI,IAAI,CAACX,mBAAmB,CAACC,eAAe;AACnG;MACA,IAAImB,eAAe,IAAIG,wBAAwB,EAAE;QAC/CL,QAAQ,CAAC7H,KAAK,CAAC;AACf;QACA,IAAI,CAAC6G,eAAe,EAAE;AACpB,UAAA;AACF,QAAA;AAEA,QAAA;AACF,MAAA;;AAEA;AACA,MAAA,IAAI,CAACkB,eAAe,IAAI,CAACG,wBAAwB,EAAE;QACjDL,QAAQ,CAAC7H,KAAK,CAAC;AACjB,MAAA;AACF,IAAA;AACF,EAAA;AAEA+G,EAAAA,gCAAgCA,GAAG;AACjC,IAAA,IAAI,CAACV,YAAY,GAAG,IAAIjqC,GAAG,EAAE;AAC7B,IAAA,IAAI,CAACkqC,mBAAmB,GAAG,IAAIlqC,GAAG,EAAE;AAEpC,IAAA,MAAM+rC,WAAW,GAAG38B,cAAc,CAAC5L,IAAI,CAAC+lC,qBAAqB,EAAE,IAAI,CAACt7B,OAAO,CAACjL,MAAM,CAAC;AAEnF,IAAA,KAAK,MAAMgpC,MAAM,IAAID,WAAW,EAAE;AAChC;MACA,IAAI,CAACC,MAAM,CAAChB,IAAI,IAAI5gC,UAAU,CAAC4hC,MAAM,CAAC,EAAE;AACtC,QAAA;AACF,MAAA;AAEA,MAAA,MAAMjB,iBAAiB,GAAG37B,cAAc,CAACG,OAAO,CAAC08B,SAAS,CAACD,MAAM,CAAChB,IAAI,CAAC,EAAE,IAAI,CAACh9B,QAAQ,CAAC;;AAEvF;AACA,MAAA,IAAInE,SAAS,CAACkhC,iBAAiB,CAAC,EAAE;AAChC,QAAA,IAAI,CAACd,YAAY,CAAChqC,GAAG,CAACgsC,SAAS,CAACD,MAAM,CAAChB,IAAI,CAAC,EAAEgB,MAAM,CAAC;QACrD,IAAI,CAAC9B,mBAAmB,CAACjqC,GAAG,CAAC+rC,MAAM,CAAChB,IAAI,EAAED,iBAAiB,CAAC;AAC9D,MAAA;AACF,IAAA;AACF,EAAA;EAEAW,QAAQA,CAAC1oC,MAAM,EAAE;AACf,IAAA,IAAI,IAAI,CAACqnC,aAAa,KAAKrnC,MAAM,EAAE;AACjC,MAAA;AACF,IAAA;IAEA,IAAI,CAAC6oC,iBAAiB,CAAC,IAAI,CAAC59B,OAAO,CAACjL,MAAM,CAAC;IAC3C,IAAI,CAACqnC,aAAa,GAAGrnC,MAAM;AAC3BA,IAAAA,MAAM,CAACuH,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;AACvC,IAAA,IAAI,CAACk6B,gBAAgB,CAAClpC,MAAM,CAAC;IAE7BR,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEo7B,cAAc,EAAE;AAAEnlC,MAAAA,aAAa,EAAEjB;AAAO,KAAC,CAAC;AAChF,EAAA;EAEAkpC,gBAAgBA,CAAClpC,MAAM,EAAE;AACvB;IACA,IAAIA,MAAM,CAACuH,SAAS,CAACrG,QAAQ,CAACmlC,oBAAoB,CAAC,EAAE;MACnD,MAAM8C,UAAU,GAAGnpC,MAAM,CAACkH,OAAO,CAAC,OAAO,CAAC,EAAE8F,sBAAsB;AAClE,MAAA,IAAIm8B,UAAU,EAAEz8B,OAAO,CAACm6B,sBAAoB,CAAC,EAAE;AAC7CsC,QAAAA,UAAU,CAAC5hC,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;AAC7C,MAAA;AAEA,MAAA;AACF,IAAA;IAEA,KAAK,MAAMo6B,SAAS,IAAIh9B,cAAc,CAACO,OAAO,CAAC3M,MAAM,EAAEwmC,uBAAuB,CAAC,EAAE;AAC/E;AACA;MACA,KAAK,MAAMhf,IAAI,IAAIpb,cAAc,CAACU,IAAI,CAACs8B,SAAS,EAAExC,mBAAmB,CAAC,EAAE;AACtEpf,QAAAA,IAAI,CAACjgB,SAAS,CAACgK,GAAG,CAACvC,mBAAiB,CAAC;AACvC,MAAA;AACF,IAAA;AACF,EAAA;EAEA65B,iBAAiBA,CAACjxB,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAACrQ,SAAS,CAACrJ,MAAM,CAAC8Q,mBAAiB,CAAC;AAE1C,IAAA,MAAMq6B,WAAW,GAAGj9B,cAAc,CAAC5L,IAAI,CAAC,CAAA,EAAG+lC,qBAAqB,CAAA,CAAA,EAAIv3B,mBAAiB,CAAA,CAAE,EAAE4I,MAAM,CAAC;AAChG,IAAA,KAAK,MAAM0xB,IAAI,IAAID,WAAW,EAAE;AAC9BC,MAAAA,IAAI,CAAC/hC,SAAS,CAACrJ,MAAM,CAAC8Q,mBAAiB,CAAC;AAC1C,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAxP,YAAY,CAACyC,EAAE,CAAC+C,MAAM,EAAEwN,qBAAmB,EAAE,MAAM;EACjD,KAAK,MAAM+2B,GAAG,IAAIn9B,cAAc,CAAC5L,IAAI,CAAC8lC,iBAAiB,CAAC,EAAE;AACxDU,IAAAA,SAAS,CAACr7B,mBAAmB,CAAC49B,GAAG,CAAC;AACpC,EAAA;AACF,CAAC,CAAC;;AC1QF;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAM1/B,MAAI,GAAG,KAAK;AAClB,MAAMsB,UAAQ,GAAG,QAAQ;AACzB,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAM+L,YAAU,GAAG,CAAA,IAAA,EAAO7L,WAAS,CAAA,CAAE;AACrC,MAAM8L,cAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAM2L,YAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM4L,aAAW,GAAG,CAAA,KAAA,EAAQ5L,WAAS,CAAA,CAAE;AACvC,MAAM6D,oBAAoB,GAAG,CAAA,KAAA,EAAQ7D,WAAS,CAAA,CAAE;AAChD,MAAM+G,aAAa,GAAG,CAAA,OAAA,EAAU/G,WAAS,CAAA,CAAE;AAC3C,MAAMmH,mBAAmB,GAAG,CAAA,IAAA,EAAOnH,WAAS,CAAA,CAAE;AAE9C,MAAMsG,cAAc,GAAG,WAAW;AAClC,MAAMC,eAAe,GAAG,YAAY;AACpC,MAAM4J,YAAY,GAAG,SAAS;AAC9B,MAAMC,cAAc,GAAG,WAAW;AAClC,MAAMC,QAAQ,GAAG,MAAM;AACvB,MAAMC,OAAO,GAAG,KAAK;AAErB,MAAM3M,iBAAiB,GAAG,QAAQ;AAClC,MAAMR,iBAAe,GAAG,MAAM;AAC9B,MAAMC,iBAAe,GAAG,MAAM;AAC9B,MAAMo4B,oBAAoB,GAAG,yBAAyB;AACtD,MAAM3qB,aAAa,GAAG,OAAO;AAC7B,MAAMstB,wBAAwB,GAAG,CAAA,KAAA,EAAQ3C,oBAAoB,CAAA,CAAA,CAAG;AAEhE,MAAM4C,kBAAkB,GAAG,qCAAqC;AAChE,MAAMC,cAAc,GAAG,6BAA6B;AACpD,MAAMC,cAAc,GAAG,CAAA,SAAA,EAAYH,wBAAwB,qBAAqBA,wBAAwB,CAAA,cAAA,EAAiBA,wBAAwB,CAAA,CAAE;AACnJ,MAAMv6B,sBAAoB,GAAG,wBAAwB;AACrD,MAAM26B,mBAAmB,GAAG,CAAA,EAAGD,cAAc,CAAA,EAAA,EAAK16B,sBAAoB,CAAA,CAAE;AAExE,MAAM46B,2BAA2B,GAAG,CAAA,CAAA,EAAI76B,iBAAiB,CAAA,sBAAA,CAAwB;;AAEjF;AACA;AACA;;AAEA,MAAM86B,GAAG,SAAS/+B,aAAa,CAAC;EAC9BV,WAAWA,CAACnN,OAAO,EAAE;IACnB,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAAC6gB,OAAO,GAAG,IAAI,CAAC/S,QAAQ,CAAC9D,OAAO,CAACuiC,kBAAkB,CAAC;AAExD,IAAA,IAAI,CAAC,IAAI,CAAC1rB,OAAO,EAAE;AACjB,MAAA;AACA;AACA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI,CAACgsB,qBAAqB,CAAC,IAAI,CAAChsB,OAAO,EAAE,IAAI,CAACisB,YAAY,EAAE,CAAC;AAE7DxqC,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEoH,aAAa,EAAEhT,KAAK,IAAI,IAAI,CAACiW,QAAQ,CAACjW,KAAK,CAAC,CAAC;AAC9E,EAAA;;AAEA;EACA,WAAWyK,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA2O,EAAAA,IAAIA,GAAG;AAAE;AACP,IAAA,MAAMyxB,SAAS,GAAG,IAAI,CAACj/B,QAAQ;AAC/B,IAAA,IAAI,IAAI,CAACk/B,aAAa,CAACD,SAAS,CAAC,EAAE;AACjC,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,MAAME,MAAM,GAAG,IAAI,CAACC,cAAc,EAAE;IAEpC,MAAM7qB,SAAS,GAAG4qB,MAAM,GACtB3qC,YAAY,CAACkD,OAAO,CAACynC,MAAM,EAAEjzB,YAAU,EAAE;AAAEjW,MAAAA,aAAa,EAAEgpC;KAAW,CAAC,GACtE,IAAI;IAEN,MAAMxrB,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CAACunC,SAAS,EAAEjzB,YAAU,EAAE;AAAE/V,MAAAA,aAAa,EAAEkpC;AAAO,KAAC,CAAC;IAExF,IAAI1rB,SAAS,CAAC5P,gBAAgB,IAAK0Q,SAAS,IAAIA,SAAS,CAAC1Q,gBAAiB,EAAE;AAC3E,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACw7B,WAAW,CAACF,MAAM,EAAEF,SAAS,CAAC;AACnC,IAAA,IAAI,CAACK,SAAS,CAACL,SAAS,EAAEE,MAAM,CAAC;AACnC,EAAA;;AAEA;AACAG,EAAAA,SAASA,CAACptC,OAAO,EAAEqtC,WAAW,EAAE;IAC9B,IAAI,CAACrtC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEAA,IAAAA,OAAO,CAACqK,SAAS,CAACgK,GAAG,CAACvC,iBAAiB,CAAC;IAExC,IAAI,CAACs7B,SAAS,CAACl+B,cAAc,CAACkB,sBAAsB,CAACpQ,OAAO,CAAC,CAAC,CAAA;;IAE9D,MAAM8b,QAAQ,GAAGA,MAAM;MACrB,IAAI9b,OAAO,CAACyH,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC1CzH,QAAAA,OAAO,CAACqK,SAAS,CAACgK,GAAG,CAAC9C,iBAAe,CAAC;AACtC,QAAA;AACF,MAAA;AAEAvR,MAAAA,OAAO,CAACgH,eAAe,CAAC,UAAU,CAAC;AACnChH,MAAAA,OAAO,CAAC8G,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;AAC3C,MAAA,IAAI,CAACwmC,WAAW,CAACttC,OAAO,EAAE,IAAI,CAAC;AAC/BsC,MAAAA,YAAY,CAACkD,OAAO,CAACxF,OAAO,EAAE+Z,aAAW,EAAE;AACzChW,QAAAA,aAAa,EAAEspC;AACjB,OAAC,CAAC;IACJ,CAAC;AAED,IAAA,IAAI,CAAC/+B,cAAc,CAACwN,QAAQ,EAAE9b,OAAO,EAAEA,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAACsN,iBAAe,CAAC,CAAC;AACrF,EAAA;AAEA67B,EAAAA,WAAWA,CAACntC,OAAO,EAAEqtC,WAAW,EAAE;IAChC,IAAI,CAACrtC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEAA,IAAAA,OAAO,CAACqK,SAAS,CAACrJ,MAAM,CAAC8Q,iBAAiB,CAAC;IAC3C9R,OAAO,CAACk/B,IAAI,EAAE;IAEd,IAAI,CAACiO,WAAW,CAACj+B,cAAc,CAACkB,sBAAsB,CAACpQ,OAAO,CAAC,CAAC,CAAA;;IAEhE,MAAM8b,QAAQ,GAAGA,MAAM;MACrB,IAAI9b,OAAO,CAACyH,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC1CzH,QAAAA,OAAO,CAACqK,SAAS,CAACrJ,MAAM,CAACuQ,iBAAe,CAAC;AACzC,QAAA;AACF,MAAA;AAEAvR,MAAAA,OAAO,CAAC8G,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;AAC5C9G,MAAAA,OAAO,CAAC8G,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AACtC,MAAA,IAAI,CAACwmC,WAAW,CAACttC,OAAO,EAAE,KAAK,CAAC;AAChCsC,MAAAA,YAAY,CAACkD,OAAO,CAACxF,OAAO,EAAEia,cAAY,EAAE;AAAElW,QAAAA,aAAa,EAAEspC;AAAY,OAAC,CAAC;IAC7E,CAAC;AAED,IAAA,IAAI,CAAC/+B,cAAc,CAACwN,QAAQ,EAAE9b,OAAO,EAAEA,OAAO,CAACqK,SAAS,CAACrG,QAAQ,CAACsN,iBAAe,CAAC,CAAC;AACrF,EAAA;EAEA6G,QAAQA,CAACjW,KAAK,EAAE;IACd,IAAI,CAAE,CAACuS,cAAc,EAAEC,eAAe,EAAE4J,YAAY,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,OAAO,CAAC,CAAC3Z,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAE,EAAE;AAC7G,MAAA;AACF,IAAA;IAEAiC,KAAK,CAAC8iB,eAAe,EAAE,CAAA;IACvB9iB,KAAK,CAACyO,cAAc,EAAE;AAEtB,IAAA,MAAMrB,QAAQ,GAAG,IAAI,CAACw9B,YAAY,EAAE,CAACzlC,MAAM,CAACrH,OAAO,IAAI,CAACkK,UAAU,CAAClK,OAAO,CAAC,CAAC;AAC5E,IAAA,IAAIutC,iBAAiB;AAErB,IAAA,IAAI,CAAC/uB,QAAQ,EAAEC,OAAO,CAAC,CAAC3Z,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAC,EAAE;AAC3CstC,MAAAA,iBAAiB,GAAGj+B,QAAQ,CAACpN,KAAK,CAACjC,GAAG,KAAKue,QAAQ,GAAG,CAAC,GAAGlP,QAAQ,CAAClK,MAAM,GAAG,CAAC,CAAC;AAChF,IAAA,CAAC,MAAM;AACL,MAAA,MAAM2T,MAAM,GAAG,CAACrE,eAAe,EAAE6J,cAAc,CAAC,CAACzZ,QAAQ,CAAC5C,KAAK,CAACjC,GAAG,CAAC;AACpEstC,MAAAA,iBAAiB,GAAGzhC,oBAAoB,CAACwD,QAAQ,EAAEpN,KAAK,CAACY,MAAM,EAAEiW,MAAM,EAAE,IAAI,CAAC;AAChF,IAAA;AAEA,IAAA,IAAIw0B,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC5rB,KAAK,CAAC;AAAE6rB,QAAAA,aAAa,EAAE;AAAK,OAAC,CAAC;MAChDZ,GAAG,CAACn+B,mBAAmB,CAAC8+B,iBAAiB,CAAC,CAACjyB,IAAI,EAAE;AACnD,IAAA;AACF,EAAA;AAEAwxB,EAAAA,YAAYA,GAAG;AAAE;IACf,OAAO59B,cAAc,CAAC5L,IAAI,CAACopC,mBAAmB,EAAE,IAAI,CAAC7rB,OAAO,CAAC;AAC/D,EAAA;AAEAqsB,EAAAA,cAAcA,GAAG;AACf,IAAA,OAAO,IAAI,CAACJ,YAAY,EAAE,CAACxpC,IAAI,CAACiM,KAAK,IAAI,IAAI,CAACy9B,aAAa,CAACz9B,KAAK,CAAC,CAAC,IAAI,IAAI;AAC7E,EAAA;AAEAs9B,EAAAA,qBAAqBA,CAACnyB,MAAM,EAAEpL,QAAQ,EAAE;IACtC,IAAI,CAACm+B,wBAAwB,CAAC/yB,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;AAExD,IAAA,KAAK,MAAMnL,KAAK,IAAID,QAAQ,EAAE;AAC5B,MAAA,IAAI,CAACo+B,4BAA4B,CAACn+B,KAAK,CAAC;AAC1C,IAAA;AACF,EAAA;EAEAm+B,4BAA4BA,CAACn+B,KAAK,EAAE;AAClCA,IAAAA,KAAK,GAAG,IAAI,CAACo+B,gBAAgB,CAACp+B,KAAK,CAAC;AACpC,IAAA,MAAMq+B,QAAQ,GAAG,IAAI,CAACZ,aAAa,CAACz9B,KAAK,CAAC;AAC1C,IAAA,MAAMs+B,SAAS,GAAG,IAAI,CAACC,gBAAgB,CAACv+B,KAAK,CAAC;AAC9CA,IAAAA,KAAK,CAACzI,YAAY,CAAC,eAAe,EAAE8mC,QAAQ,CAAC;IAE7C,IAAIC,SAAS,KAAKt+B,KAAK,EAAE;MACvB,IAAI,CAACk+B,wBAAwB,CAACI,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC;AAClE,IAAA;IAEA,IAAI,CAACD,QAAQ,EAAE;AACbr+B,MAAAA,KAAK,CAACzI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AACtC,IAAA;IAEA,IAAI,CAAC2mC,wBAAwB,CAACl+B,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;;AAEnD;AACA,IAAA,IAAI,CAACw+B,kCAAkC,CAACx+B,KAAK,CAAC;AAChD,EAAA;EAEAw+B,kCAAkCA,CAACx+B,KAAK,EAAE;AACxC,IAAA,MAAMzM,MAAM,GAAGoM,cAAc,CAACkB,sBAAsB,CAACb,KAAK,CAAC;IAE3D,IAAI,CAACzM,MAAM,EAAE;AACX,MAAA;AACF,IAAA;IAEA,IAAI,CAAC2qC,wBAAwB,CAAC3qC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;IAEzD,IAAIyM,KAAK,CAACrH,EAAE,EAAE;AACZ,MAAA,IAAI,CAACulC,wBAAwB,CAAC3qC,MAAM,EAAE,iBAAiB,EAAE,CAAA,EAAGyM,KAAK,CAACrH,EAAE,CAAA,CAAE,CAAC;AACzE,IAAA;AACF,EAAA;AAEAolC,EAAAA,WAAWA,CAACttC,OAAO,EAAEoxB,IAAI,EAAE;AACzB,IAAA,MAAMyc,SAAS,GAAG,IAAI,CAACC,gBAAgB,CAAC9tC,OAAO,CAAC;IAChD,MAAMisC,UAAU,GAAG/8B,cAAc,CAACG,OAAO,CAACs6B,oBAAoB,EAAEkE,SAAS,CAAC;IAC1E,IAAI,CAAC5B,UAAU,EAAE;AACf,MAAA;AACF,IAAA;IAEA,MAAM9rB,IAAI,GAAGjR,cAAc,CAACG,OAAO,CAAC2P,aAAa,EAAE6uB,SAAS,CAAC;IAE7D5B,UAAU,CAAC5hC,SAAS,CAAC6H,MAAM,CAACJ,iBAAiB,EAAEsf,IAAI,CAAC;AACpD,IAAA,IAAIjR,IAAI,EAAE;MACRA,IAAI,CAAC9V,SAAS,CAAC6H,MAAM,CAACX,iBAAe,EAAE6f,IAAI,CAAC;AAC9C,IAAA;AAEA6a,IAAAA,UAAU,CAACnlC,YAAY,CAAC,eAAe,EAAEsqB,IAAI,CAAC;AAChD,EAAA;AAEAqc,EAAAA,wBAAwBA,CAACztC,OAAO,EAAE+hC,SAAS,EAAEhhC,KAAK,EAAE;AAClD,IAAA,IAAI,CAACf,OAAO,CAACuK,YAAY,CAACw3B,SAAS,CAAC,EAAE;AACpC/hC,MAAAA,OAAO,CAAC8G,YAAY,CAACi7B,SAAS,EAAEhhC,KAAK,CAAC;AACxC,IAAA;AACF,EAAA;EAEAisC,aAAaA,CAACjyB,IAAI,EAAE;AAClB,IAAA,OAAOA,IAAI,CAAC1Q,SAAS,CAACrG,QAAQ,CAAC8N,iBAAiB,CAAC;AACnD,EAAA;;AAEA;EACA67B,gBAAgBA,CAAC5yB,IAAI,EAAE;AACrB,IAAA,OAAOA,IAAI,CAACvL,OAAO,CAACk9B,mBAAmB,CAAC,GAAG3xB,IAAI,GAAG7L,cAAc,CAACG,OAAO,CAACq9B,mBAAmB,EAAE3xB,IAAI,CAAC;AACrG,EAAA;;AAEA;EACA+yB,gBAAgBA,CAAC/yB,IAAI,EAAE;AACrB,IAAA,OAAOA,IAAI,CAAC/Q,OAAO,CAACwiC,cAAc,CAAC,IAAIzxB,IAAI;AAC7C,EAAA;AACF;;AAEA;AACA;AACA;;AAEAzY,YAAY,CAACyC,EAAE,CAAC6D,QAAQ,EAAEoJ,oBAAoB,EAAED,sBAAoB,EAAE,UAAU7P,KAAK,EAAE;AACrF,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC4C,QAAQ,CAAC,IAAI,CAAC4L,OAAO,CAAC,EAAE;IACxCxO,KAAK,CAACyO,cAAc,EAAE;AACxB,EAAA;AAEA,EAAA,IAAIzG,UAAU,CAAC,IAAI,CAAC,EAAE;AACpB,IAAA;AACF,EAAA;EAEA0iC,GAAG,CAACn+B,mBAAmB,CAAC,IAAI,CAAC,CAAC6M,IAAI,EAAE;AACtC,CAAC,CAAC;;AAEF;AACA;AACA;AACAhZ,YAAY,CAACyC,EAAE,CAAC+C,MAAM,EAAEwN,mBAAmB,EAAE,MAAM;EACjD,KAAK,MAAMtV,OAAO,IAAIkP,cAAc,CAAC5L,IAAI,CAACqpC,2BAA2B,CAAC,EAAE;AACtEC,IAAAA,GAAG,CAACn+B,mBAAmB,CAACzO,OAAO,CAAC;AAClC,EAAA;AACF,CAAC,CAAC;;AC/RF;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAM2M,MAAI,GAAG,OAAO;AACpB,MAAMsB,UAAQ,GAAG,UAAU;AAC3B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAM+/B,eAAe,GAAG,CAAA,SAAA,EAAY7/B,WAAS,CAAA,CAAE;AAC/C,MAAM8/B,cAAc,GAAG,CAAA,QAAA,EAAW9/B,WAAS,CAAA,CAAE;AAC7C,MAAMg3B,aAAa,GAAG,CAAA,OAAA,EAAUh3B,WAAS,CAAA,CAAE;AAC3C,MAAMi3B,cAAc,GAAG,CAAA,QAAA,EAAWj3B,WAAS,CAAA,CAAE;AAC7C,MAAM6L,UAAU,GAAG,CAAA,IAAA,EAAO7L,WAAS,CAAA,CAAE;AACrC,MAAM8L,YAAY,GAAG,CAAA,MAAA,EAAS9L,WAAS,CAAA,CAAE;AACzC,MAAM2L,UAAU,GAAG,CAAA,IAAA,EAAO3L,WAAS,CAAA,CAAE;AACrC,MAAM4L,WAAW,GAAG,CAAA,KAAA,EAAQ5L,WAAS,CAAA,CAAE;AAEvC,MAAMmD,eAAe,GAAG,MAAM;AAC9B,MAAM48B,eAAe,GAAG,MAAM,CAAA;AAC9B,MAAM38B,eAAe,GAAG,MAAM;AAC9B,MAAM48B,kBAAkB,GAAG,SAAS;AAEpC,MAAMzhC,aAAW,GAAG;AAClBi5B,EAAAA,SAAS,EAAE,SAAS;AACpByI,EAAAA,QAAQ,EAAE,SAAS;AACnBvI,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAMp5B,SAAO,GAAG;AACdk5B,EAAAA,SAAS,EAAE,IAAI;AACfyI,EAAAA,QAAQ,EAAE,IAAI;AACdvI,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAEA,MAAMwI,KAAK,SAASxgC,aAAa,CAAC;AAChCV,EAAAA,WAAWA,CAACnN,OAAO,EAAE8M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC9M,OAAO,EAAE8M,MAAM,CAAC;IAEtB,IAAI,CAACm5B,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACqI,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACC,uBAAuB,GAAG,KAAK;IACpC,IAAI,CAAChI,aAAa,EAAE;AACtB,EAAA;;AAEA;EACA,WAAW95B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA2O,EAAAA,IAAIA,GAAG;IACL,MAAMiG,SAAS,GAAGjf,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEgM,UAAU,CAAC;IAEjE,IAAIyH,SAAS,CAAC5P,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC68B,aAAa,EAAE;AAEpB,IAAA,IAAI,IAAI,CAACzgC,OAAO,CAAC43B,SAAS,EAAE;MAC1B,IAAI,CAAC73B,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC/C,eAAe,CAAC;AAC9C,IAAA;IAEA,MAAMwK,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAChO,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACmtC,kBAAkB,CAAC;MAClD7rC,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEiM,WAAW,CAAC;MAEhD,IAAI,CAAC00B,kBAAkB,EAAE;IAC3B,CAAC;IAED,IAAI,CAAC3gC,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACktC,eAAe,CAAC,CAAA;AAC/CnjC,IAAAA,MAAM,CAAC,IAAI,CAAC+C,QAAQ,CAAC;IACrB,IAAI,CAACA,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC9C,eAAe,EAAE48B,kBAAkB,CAAC;AAEhE,IAAA,IAAI,CAAC7/B,cAAc,CAACwN,QAAQ,EAAE,IAAI,CAAChO,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC43B,SAAS,CAAC;AACtE,EAAA;AAEAtqB,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAAC,IAAI,CAACqzB,OAAO,EAAE,EAAE;AACnB,MAAA;AACF,IAAA;IAEA,MAAMrsB,SAAS,GAAG/f,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEkM,UAAU,CAAC;IAEjE,IAAIqI,SAAS,CAAC1Q,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,MAAMmK,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAChO,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC65B,eAAe,CAAC,CAAA;MAC5C,IAAI,CAACpgC,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACmtC,kBAAkB,EAAE58B,eAAe,CAAC;MACnEjP,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEmM,YAAY,CAAC;IACnD,CAAC;IAED,IAAI,CAACnM,QAAQ,CAACzD,SAAS,CAACgK,GAAG,CAAC85B,kBAAkB,CAAC;AAC/C,IAAA,IAAI,CAAC7/B,cAAc,CAACwN,QAAQ,EAAE,IAAI,CAAChO,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC43B,SAAS,CAAC;AACtE,EAAA;AAEAz3B,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACsgC,aAAa,EAAE;AAEpB,IAAA,IAAI,IAAI,CAACE,OAAO,EAAE,EAAE;MAClB,IAAI,CAAC5gC,QAAQ,CAACzD,SAAS,CAACrJ,MAAM,CAACuQ,eAAe,CAAC;AACjD,IAAA;IAEA,KAAK,CAACrD,OAAO,EAAE;AACjB,EAAA;AAEAwgC,EAAAA,OAAOA,GAAG;IACR,OAAO,IAAI,CAAC5gC,QAAQ,CAACzD,SAAS,CAACrG,QAAQ,CAACuN,eAAe,CAAC;AAC1D,EAAA;;AAEA;AACAk9B,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,IAAI,CAAC,IAAI,CAAC1gC,OAAO,CAACqgC,QAAQ,EAAE;AAC1B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACE,oBAAoB,IAAI,IAAI,CAACC,uBAAuB,EAAE;AAC7D,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACtI,QAAQ,GAAGp6B,UAAU,CAAC,MAAM;MAC/B,IAAI,CAACwP,IAAI,EAAE;AACb,IAAA,CAAC,EAAE,IAAI,CAACtN,OAAO,CAAC83B,KAAK,CAAC;AACxB,EAAA;AAEA8I,EAAAA,cAAcA,CAACzsC,KAAK,EAAE0sC,aAAa,EAAE;IACnC,QAAQ1sC,KAAK,CAACM,IAAI;AAChB,MAAA,KAAK,WAAW;AAChB,MAAA,KAAK,UAAU;AAAE,QAAA;UACf,IAAI,CAAC8rC,oBAAoB,GAAGM,aAAa;AACzC,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,SAAS;AACd,MAAA,KAAK,UAAU;AAAE,QAAA;UACf,IAAI,CAACL,uBAAuB,GAAGK,aAAa;AAC5C,UAAA;AACF,QAAA;AAKF;AAEA,IAAA,IAAIA,aAAa,EAAE;MACjB,IAAI,CAACJ,aAAa,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMx1B,WAAW,GAAG9W,KAAK,CAAC6B,aAAa;AACvC,IAAA,IAAI,IAAI,CAAC+J,QAAQ,KAAKkL,WAAW,IAAI,IAAI,CAAClL,QAAQ,CAAC9J,QAAQ,CAACgV,WAAW,CAAC,EAAE;AACxE,MAAA;AACF,IAAA;IAEA,IAAI,CAACy1B,kBAAkB,EAAE;AAC3B,EAAA;AAEAlI,EAAAA,aAAaA,GAAG;AACdjkC,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEkgC,eAAe,EAAE9rC,KAAK,IAAI,IAAI,CAACysC,cAAc,CAACzsC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1FI,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEmgC,cAAc,EAAE/rC,KAAK,IAAI,IAAI,CAACysC,cAAc,CAACzsC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC1FI,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEq3B,aAAa,EAAEjjC,KAAK,IAAI,IAAI,CAACysC,cAAc,CAACzsC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxFI,IAAAA,YAAY,CAACyC,EAAE,CAAC,IAAI,CAAC+I,QAAQ,EAAEs3B,cAAc,EAAEljC,KAAK,IAAI,IAAI,CAACysC,cAAc,CAACzsC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5F,EAAA;AAEAssC,EAAAA,aAAaA,GAAG;AACdj2B,IAAAA,YAAY,CAAC,IAAI,CAAC0tB,QAAQ,CAAC;IAC3B,IAAI,CAACA,QAAQ,GAAG,IAAI;AACtB,EAAA;AACF;;AAEA;AACA;AACA;;AAEA31B,oBAAoB,CAAC+9B,KAAK,CAAC;;ACxM3B;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM1hC,IAAI,GAAG,SAAS;AACtB,MAAMsB,QAAQ,GAAG,YAAY;AAC7B,MAAME,SAAS,GAAG,CAAA,CAAA,EAAIF,QAAQ,CAAA,CAAE;AAEhC,MAAM4gC,YAAY,GAAG,CAAA,MAAA,EAAS1gC,SAAS,CAAA,CAAE;AACzC,MAAM2gC,aAAa,GAAG,CAAA,OAAA,EAAU3gC,SAAS,CAAA,CAAE;AAC3C,MAAM+2B,WAAW,GAAG,OAAO;AAE3B,MAAMnzB,oBAAoB,GAAG,4BAA4B;AAEzD,MAAMrF,WAAW,GAAG;AAClBq1B,EAAAA,SAAS,EAAE,QAAQ;AACnBhhC,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAM0L,OAAO,GAAG;AACds1B,EAAAA,SAAS,EAAE,OAAO;AAClBhhC,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAEA,MAAMguC,OAAO,SAASlhC,aAAa,CAAC;AAClC;EACA,WAAWpB,OAAOA,GAAG;AACnB,IAAA,OAAOA,OAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,WAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,IAAI;AACb,EAAA;;AAEA;AACAuF,EAAAA,MAAMA,GAAG;IACP,MAAM88B,WAAW,GAAG1sC,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAE+gC,YAAY,CAAC;IAErE,IAAIG,WAAW,CAACr9B,gBAAgB,EAAE;AAChC,MAAA;AACF,IAAA;IAEA,IAAI,CAACs9B,QAAQ,EAAE;IAEf3sC,YAAY,CAACkD,OAAO,CAAC,IAAI,CAACsI,QAAQ,EAAEghC,aAAa,CAAC;AACpD,EAAA;;AAEA;AACAG,EAAAA,QAAQA,GAAG;IACT,MAAM;MAAElN,SAAS;AAAEhhC,MAAAA;KAAO,GAAG,IAAI,CAACgN,OAAO;IAEzC,IAAIg0B,SAAS,KAAK,IAAI,EAAE;AACtB,MAAA,OAAM;AACR,IAAA;IAEA,IAAIA,SAAS,KAAK,OAAO,EAAE;MACzB,IAAI,CAACj0B,QAAQ,CAACzD,SAAS,CAAC6H,MAAM,CAACnR,KAAK,CAAC;AACrC,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI,IAAI,CAAC+M,QAAQ,CAACrG,YAAY,CAACs6B,SAAS,CAAC,KAAKpR,MAAM,CAAC5vB,KAAK,CAAC,EAAE;AAC3D,MAAA,IAAI,CAAC+M,QAAQ,CAAC9G,eAAe,CAAC+6B,SAAS,CAAC;AACxC,MAAA;AACF,IAAA;IAEA,IAAI,CAACj0B,QAAQ,CAAChH,YAAY,CAACi7B,SAAS,EAAEhhC,KAAK,CAAC;AAC9C,EAAA;AACF;;AAEA;AACA;AACA;;AAEA6P,mBAAmB,CAACm+B,OAAO,EAAE7J,WAAW,EAAEnzB,oBAAoB,EAAE,QAAQ,CAAC;;;;","x_google_ignoreList":[13,14,15,16,20]}
\ No newline at end of file
index b5ae6d17eba29ad4fe91f459a69f5ae2ec88fc3d..7b00e8c6beb319c16d37c687f8b6f5166d628c77 100644 (file)
@@ -3,7 +3,7 @@
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:a}=s;a&&a!==this;a=a.parentNode)for(const l of o)if(l===a)return hydrateObj(s,{delegateTarget:a}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(a,[s])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,a,l]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const r=getElementEvents(e),c=r[l]||(r[l]={}),d=findHandler(c,a,o?n:null);if(d)return void(d.oneOff=d.oneOff&&s);const u=makeEventUid(a,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,a):bootstrapHandler(e,a);h.delegationSelector=o?n:null,h.callable=a,h.oneOff=s,h.uidEvent=u,c[u]=h,e.addEventListener(l,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,a]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,a]=normalizeParameters(t,n,i),l=a!==t,r=getElementEvents(e),c=r[a]||{},d=t.startsWith(".");if(void 0===o){if(d)for(const n of Object.keys(r))removeNamespacedHandlers(e,r,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");l&&!t.includes(s)||removeHandler(e,r,a,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,r,a,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(i),i}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement$1=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement$1(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement$1(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL$1=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{s||triggerTransitionEnd(t)},i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement$1(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement$1(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement$1(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="6.0.0-alpha1";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()})},eventActionOnPlugin=(e,t,n,i,s=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof s&&s({...t,instances:n});for(const e of n)e[i]()})},eventAction=(e,t,n)=>{const i=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,i,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),i=t?SelectorEngine.find(t):[this];n({targets:i,event:e})})},NAME$k="alert",DATA_KEY$g="bs.alert",EVENT_KEY$h=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$6="show";class Alert extends BaseComponent{static get NAME(){return NAME$k}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$j="button",DATA_KEY$f="bs.button",EVENT_KEY$g=`.${DATA_KEY$f}`,DATA_API_KEY$b=".data-api",CLASS_NAME_ACTIVE$4="active",SELECTOR_DATA_TOGGLE$a='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$8=`click${EVENT_KEY$g}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$j}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$8,SELECTOR_DATA_TOGGLE$a,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$a);Button.getOrCreateInstance(t).toggle()});const NAME$i="swipe",EVENT_KEY$f=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$h={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$h={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$h}static get DefaultType(){return DefaultType$h}static get NAME(){return NAME$i}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$h="carousel",DATA_KEY$e="bs.carousel",EVENT_KEY$e=`.${DATA_KEY$e}`,DATA_API_KEY$a=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$e}`,EVENT_SLID=`slid${EVENT_KEY$e}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$e}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$e}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$e}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$e}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$e}.data-api`,EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$e}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$g={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$g={interval:"number",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return NAME$h}next(){this._slide("next")}nextWhenVisible(){"visible"===document.visibilityState&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const l=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const r=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(r),s.classList.add(r),this._queueCallback(()=>{s.classList.remove(r,c),s.classList.add("active"),n.classList.remove("active",c,r),this._isSliding=!1,a(EVENT_SLID)},n,this._isAnimated()),l&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL$1()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL$1()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$g="collapse",DATA_KEY$d="bs.collapse",EVENT_KEY$d=`.${DATA_KEY$d}`,DATA_API_KEY$9=".data-api",EVENT_SHOW$8=`show${EVENT_KEY$d}`,EVENT_SHOWN$8=`shown${EVENT_KEY$d}`,EVENT_HIDE$8=`hide${EVENT_KEY$d}`,EVENT_HIDDEN$8=`hidden${EVENT_KEY$d}`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$d}.data-api`,CLASS_NAME_SHOW$5="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="collapse"]',Default$f={parent:null,toggle:!0},DefaultType$f={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$9);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return NAME$g}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$8).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$8)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$8).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$8)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$9);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$9,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function clamp(e,t,n){return max(e,min(t,n))}function evaluate(e,t){return"function"==typeof e?e(t):e}function getSide(e){return e.split("-")[0]}function getAlignment(e){return e.split("-")[1]}function getOppositeAxis(e){return"x"===e?"y":"x"}function getAxisLength(e){return"y"===e?"height":"width"}function getSideAxis(e){const t=e[0];return"t"===t||"b"===t?"y":"x"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const i=getAlignment(e),s=getAlignmentAxis(e),o=getAxisLength(s);let a="x"===s?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=getOppositePlacement(a)),[a,getOppositePlacement(a)]}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(e,t,n){switch(e){case"top":case"bottom":return n?t?rlPlacement:lrPlacement:t?lrPlacement:rlPlacement;case"left":case"right":return t?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(e,t,n,i){const s=getAlignment(e);let o=getSideList(getSide(e),"start"===n,i);return s&&(o=o.map(e=>e+"-"+s),t&&(o=o.concat(o.map(getOppositeAlignmentPlacement)))),o}function getOppositePlacement(e){const t=getSide(e);return oppositeSideMap[t]+e.slice(t.length)}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){const{x:t,y:n,width:i,height:s}=e;return{width:i,height:s,top:n,left:t,right:t+i,bottom:n+s,x:t,y:n}}function computeCoordsFromPlacement(e,t,n){let{reference:i,floating:s}=e;const o=getSideAxis(t),a=getAlignmentAxis(t),l=getAxisLength(a),r=getSide(t),c="y"===o,d=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2,h=i[l]/2-s[l]/2;let m;switch(r){case"top":m={x:d,y:i.y-s.height};break;case"bottom":m={x:d,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:u};break;case"left":m={x:i.x-s.width,y:u};break;default:m={x:i.x,y:i.y}}switch(getAlignment(t)){case"start":m[a]-=h*(n&&c?-1:1);break;case"end":m[a]+=h*(n&&c?-1:1)}return m}async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:i,y:s,platform:o,rects:a,elements:l,strategy:r}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:h=!1,padding:m=0}=evaluate(t,e),g=getPaddingObject(m),_=l[h?"floating"===u?"reference":"floating":u],p=rectToClientRect(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(_)))||n?_:_.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:r})),E="floating"===u?{x:i,y:s,width:a.floating.width,height:a.floating.height}:a.reference,f=await(null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),v=await(null==o.isElement?void 0:o.isElement(f))&&await(null==o.getScale?void 0:o.getScale(f))||{x:1,y:1},T=rectToClientRect(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:E,offsetParent:f,strategy:r}):E);return{top:(p.top-T.top+g.top)/v.y,bottom:(T.bottom-p.bottom+g.bottom)/v.y,left:(p.left-T.left+g.left)/v.x,right:(T.right-p.right+g.right)/v.x}}const MAX_RESET_COUNT=50,computePosition$1=async(e,t,n)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:a}=n,l=a.detectOverflow?a:{...a,detectOverflow:detectOverflow},r=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:s}),{x:d,y:u}=computeCoordsFromPlacement(c,i,r),h=i,m=0;const g={};for(let n=0;n<o.length;n++){const _=o[n];if(!_)continue;const{name:p,fn:E}=_,{x:f,y:v,data:T,reset:b}=await E({x:d,y:u,initialPlacement:i,placement:h,strategy:s,middlewareData:g,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=f?f:d,u=null!=v?v:u,g[p]={...g[p],...T},b&&m<50&&(m++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:s}):b.rects),({x:d,y:u}=computeCoordsFromPlacement(c,h,r))),n=-1)}return{x:d,y:u,placement:h,strategy:s,middlewareData:g}},arrow$1=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:s,rects:o,platform:a,elements:l,middlewareData:r}=t,{element:c,padding:d=0}=evaluate(e,t)||{};if(null==c)return{};const u=getPaddingObject(d),h={x:n,y:i},m=getAlignmentAxis(s),g=getAxisLength(m),_=await a.getDimensions(c),p="y"===m,E=p?"top":"left",f=p?"bottom":"right",v=p?"clientHeight":"clientWidth",T=o.reference[g]+o.reference[m]-h[m]-o.floating[g],b=h[m]-o.reference[m],A=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let D=A?A[v]:0;D&&await(null==a.isElement?void 0:a.isElement(A))||(D=l.floating[v]||o.floating[g]);const y=T/2-b/2,S=D/2-_[g]/2-1,C=min(u[E],S),N=min(u[f],S),w=C,x=D-_[g]-N,M=D/2-_[g]/2+y,L=clamp(w,M,x),O=!r.arrow&&null!=getAlignment(s)&&M!==L&&o.reference[g]/2-(M<w?C:N)-_[g]/2<0,$=O?M<w?M-w:M-x:0;return{[m]:h[m]+$,data:{[m]:L,centerOffset:M-L-$,...O&&{alignmentOffset:$}},reset:O}}}),flip$1=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,i;const{placement:s,middlewareData:o,rects:a,initialPlacement:l,platform:r,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:_=!0,...p}=evaluate(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const E=getSide(s),f=getSideAxis(l),v=getSide(l)===l,T=await(null==r.isRTL?void 0:r.isRTL(c.floating)),b=h||(v||!_?[getOppositePlacement(l)]:getExpandedPlacements(l)),A="none"!==g;!h&&A&&b.push(...getOppositeAxisPlacements(l,_,g,T));const D=[l,...b],y=await r.detectOverflow(t,p),S=[];let C=(null==(i=o.flip)?void 0:i.overflows)||[];if(d&&S.push(y[E]),u){const e=getAlignmentSides(s,a,T);S.push(y[e[0]],y[e[1]])}if(C=[...C,{placement:s,overflows:S}],!S.every(e=>e<=0)){var N,w;const e=((null==(N=o.flip)?void 0:N.index)||0)+1,t=D[e];if(t&&("alignment"!==u||f===getSideAxis(t)||C.every(e=>getSideAxis(e.placement)!==f||e.overflows[0]>0)))return{data:{index:e,overflows:C},reset:{placement:t}};let n=null==(w=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:w.placement;if(!n)switch(m){case"bestFit":{var x;const e=null==(x=C.filter(e=>{if(A){const t=getSideAxis(e.placement);return t===f||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:x[0];e&&(n=e);break}case"initialPlacement":n=l}if(s!==n)return{reset:{placement:n}}}return{}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(e,t){const{placement:n,platform:i,elements:s}=e,o=await(null==i.isRTL?void 0:i.isRTL(s.floating)),a=getSide(n),l=getAlignment(n),r="y"===getSideAxis(n),c=originSides.has(a)?-1:1,d=o&&r?-1:1,u=evaluate(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:g}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof g&&(m="end"===l?-1*g:g),r?{x:m*d,y:h*c}:{x:h*c,y:m*d}}const offset$1=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:s,y:o,placement:a,middlewareData:l}=t,r=await convertValueToCoords(t,e);return a===(null==(n=l.offset)?void 0:n.placement)&&null!=(i=l.arrow)&&i.alignmentOffset?{}:{x:s+r.x,y:o+r.y,data:{...r,placement:a}}}}},shift$1=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:s,platform:o}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:r={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=evaluate(e,t),d={x:n,y:i},u=await o.detectOverflow(t,c),h=getSideAxis(getSide(s)),m=getOppositeAxis(h);let g=d[m],_=d[h];if(a){const e="y"===m?"bottom":"right";g=clamp(g+u["y"===m?"top":"left"],g,g-u[e])}if(l){const e="y"===h?"bottom":"right";_=clamp(_+u["y"===h?"top":"left"],_,_-u[e])}const p=r.fn({...t,[m]:g,[h]:_});return{...p,data:{x:p.x-n,y:p.y-i,enabled:{[m]:a,[h]:l}}}}}};function hasWindow(){return"undefined"!=typeof window}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return!!hasWindow()&&(e instanceof Node||e instanceof getWindow(e).Node)}function isElement(e){return!!hasWindow()&&(e instanceof Element||e instanceof getWindow(e).Element)}function isHTMLElement(e){return!!hasWindow()&&(e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement)}function isShadowRoot(e){return!(!hasWindow()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:i,display:s}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&"inline"!==s&&"contents"!==s}function isTableElement(e){return/^(table|td|th)$/.test(getNodeName(e))}function isTopLayer(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}const willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=e=>!!e&&"none"!==e;let isWebKitValue;function isContainingBlock(e){const t=isElement(e)?getComputedStyle$1(e):e;return isNotNone(t.transform)||isNotNone(t.translate)||isNotNone(t.scale)||isNotNone(t.rotate)||isNotNone(t.perspective)||!isWebKit()&&(isNotNone(t.backdropFilter)||isNotNone(t.filter))||willChangeRe.test(t.willChange||"")||containRe.test(t.contain||"")}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return null==isWebKitValue&&(isWebKitValue="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),isWebKitValue}function isLastTraversableNode(e){return/^(html|body|#document)$/.test(getNodeName(e))}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var i;void 0===t&&(t=[]),void 0===n&&(n=!0);const s=getNearestOverflowAncestor(e),o=s===(null==(i=e.ownerDocument)?void 0:i.body),a=getWindow(s);if(o){const e=getFrameElement(a);return t.concat(a,a.visualViewport||[],isOverflowElement(s)?s:[],e&&n?getOverflowAncestors(e):[])}return t.concat(s,getOverflowAncestors(s,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function getCssDimensions(e){const t=getComputedStyle$1(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const s=isHTMLElement(e),o=s?e.offsetWidth:n,a=s?e.offsetHeight:i,l=round(n)!==o||round(i)!==a;return l&&(n=o,i=a),{width:n,height:i,$:l}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:i,height:s,$:o}=getCssDimensions(t);let a=(o?round(n.width):n.width)/i,l=(o?round(n.height):n.height)/s;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,i){void 0===t&&(t=!1),void 0===n&&(n=!1);const s=e.getBoundingClientRect(),o=unwrapElement(e);let a=createCoords(1);t&&(i?isElement(i)&&(a=getScale(i)):a=getScale(e));const l=shouldAddVisualOffsets(o,n,i)?getVisualOffsets(o):createCoords(0);let r=(s.left+l.x)/a.x,c=(s.top+l.y)/a.y,d=s.width/a.x,u=s.height/a.y;if(o){const e=getWindow(o),t=i&&isElement(i)?getWindow(i):i;let n=e,s=getFrameElement(n);for(;s&&i&&t!==n;){const e=getScale(s),t=s.getBoundingClientRect(),i=getComputedStyle$1(s),o=t.left+(s.clientLeft+parseFloat(i.paddingLeft))*e.x,a=t.top+(s.clientTop+parseFloat(i.paddingTop))*e.y;r*=e.x,c*=e.y,d*=e.x,u*=e.y,r+=o,c+=a,n=getWindow(s),s=getFrameElement(n)}}return rectToClientRect({width:d,height:u,x:r,y:c})}function getWindowScrollBarX(e,t){const n=getNodeScroll(e).scrollLeft;return t?t.left+n:getBoundingClientRect(getDocumentElement(e)).left+n}function getHTMLOffset(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-getWindowScrollBarX(e,n),y:n.top+t.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{elements:t,rect:n,offsetParent:i,strategy:s}=e;const o="fixed"===s,a=getDocumentElement(i),l=!!t&&isTopLayer(t.floating);if(i===a||l&&o)return n;let r={scrollLeft:0,scrollTop:0},c=createCoords(1);const d=createCoords(0),u=isHTMLElement(i);if((u||!u&&!o)&&(("body"!==getNodeName(i)||isOverflowElement(a))&&(r=getNodeScroll(i)),u)){const e=getBoundingClientRect(i);c=getScale(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}const h=!a||u||o?createCoords(0):getHTMLOffset(a,r);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-r.scrollLeft*c.x+d.x+h.x,y:n.y*c.y-r.scrollTop*c.y+d.y+h.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),i=e.ownerDocument.body,s=max(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=max(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let a=-n.scrollLeft+getWindowScrollBarX(e);const l=-n.scrollTop;return"rtl"===getComputedStyle$1(i).direction&&(a+=max(t.clientWidth,i.clientWidth)-s),{width:s,height:o,x:a,y:l}}const SCROLLBAR_MAX=25;function getViewportRect(e,t){const n=getWindow(e),i=getDocumentElement(e),s=n.visualViewport;let o=i.clientWidth,a=i.clientHeight,l=0,r=0;if(s){o=s.width,a=s.height;const e=isWebKit();(!e||e&&"fixed"===t)&&(l=s.offsetLeft,r=s.offsetTop)}const c=getWindowScrollBarX(i);if(c<=0){const e=i.ownerDocument,t=e.body,n=getComputedStyle(t),s="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(i.clientWidth-t.clientWidth-s);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:l,y:r}}function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),i=n.top+e.clientTop,s=n.left+e.clientLeft,o=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:s*o.x,y:i*o.y}}function getClientRectFromClippingAncestor(e,t,n){let i;if("viewport"===t)i=getViewportRect(e,n);else if("document"===t)i=getDocumentRect(getDocumentElement(e));else if(isElement(t))i=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return rectToClientRect(i)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle$1(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let i=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&"body"!==getNodeName(e)),s=null;const o="fixed"===getComputedStyle$1(e).position;let a=o?getParentNode(e):e;for(;isElement(a)&&!isLastTraversableNode(a);){const t=getComputedStyle$1(a),n=isContainingBlock(a);n||"fixed"!==t.position||(s=null),(o?!n&&!s:!n&&"static"===t.position&&s&&("absolute"===s.position||"fixed"===s.position)||isOverflowElement(a)&&!n&&hasFixedPositionAncestor(e,a))?i=i.filter(e=>e!==a):s=t,a=getParentNode(a)}return t.set(e,i),i}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:i,strategy:s}=e;const o=[..."clippingAncestors"===n?isTopLayer(t)?[]:getClippingElementAncestors(t,this._c):[].concat(n),i],a=getClientRectFromClippingAncestor(t,o[0],s);let l=a.top,r=a.right,c=a.bottom,d=a.left;for(let e=1;e<o.length;e++){const n=getClientRectFromClippingAncestor(t,o[e],s);l=max(n.top,l),r=min(n.right,r),c=min(n.bottom,c),d=max(n.left,d)}return{width:r-d,height:c-l,x:d,y:l}}function getDimensions(e){const{width:t,height:n}=getCssDimensions(e);return{width:t,height:n}}function getRectRelativeToOffsetParent(e,t,n){const i=isHTMLElement(t),s=getDocumentElement(t),o="fixed"===n,a=getBoundingClientRect(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const r=createCoords(0);function c(){r.x=getWindowScrollBarX(s)}if(i||!i&&!o)if(("body"!==getNodeName(t)||isOverflowElement(s))&&(l=getNodeScroll(t)),i){const e=getBoundingClientRect(t,!0,o,t);r.x=e.x+t.clientLeft,r.y=e.y+t.clientTop}else s&&c();o&&!i&&s&&c();const d=!s||i||o?createCoords(0):getHTMLOffset(s,l);return{x:a.left+l.scrollLeft-r.x-d.x,y:a.top+l.scrollTop-r.y-d.y,width:a.width,height:a.height}}function isStaticPositioned(e){return"static"===getComputedStyle$1(e).position}function getTrueOffsetParent(e,t){if(!isHTMLElement(e)||"fixed"===getComputedStyle$1(e).position)return null;if(t)return t(e);let n=e.offsetParent;return getDocumentElement(e)===n&&(n=n.ownerDocument.body),n}function getOffsetParent(e,t){const n=getWindow(e);if(isTopLayer(e))return n;if(!isHTMLElement(e)){let t=getParentNode(e);for(;t&&!isLastTraversableNode(t);){if(isElement(t)&&!isStaticPositioned(t))return t;t=getParentNode(t)}return n}let i=getTrueOffsetParent(e,t);for(;i&&isTableElement(i)&&isStaticPositioned(i);)i=getTrueOffsetParent(i,t);return i&&isLastTraversableNode(i)&&isStaticPositioned(i)&&!isContainingBlock(i)?n:i||getContainingBlock(e)||n}const getElementRects=async function(e){const t=this.getOffsetParent||getOffsetParent,n=this.getDimensions,i=await n(e.floating);return{reference:getRectRelativeToOffsetParent(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function isRTL(e){return"rtl"===getComputedStyle$1(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function rectsAreEqual(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function observeMove(e,t){let n,i=null;const s=getDocumentElement(e);function o(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return function a(l,r){void 0===l&&(l=!1),void 0===r&&(r=1),o();const c=e.getBoundingClientRect(),{left:d,top:u,width:h,height:m}=c;if(l||t(),!h||!m)return;const g={rootMargin:-floor(u)+"px "+-floor(s.clientWidth-(d+h))+"px "+-floor(s.clientHeight-(u+m))+"px "+-floor(d)+"px",threshold:max(0,min(1,r))||1};let _=!0;function p(t){const i=t[0].intersectionRatio;if(i!==r){if(!_)return a();i?a(!1,i):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==i||rectsAreEqual(c,e.getBoundingClientRect())||a(),_=!1}try{i=new IntersectionObserver(p,{...g,root:s.ownerDocument})}catch(e){i=new IntersectionObserver(p,g)}i.observe(e)}(!0),o}function autoUpdate(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:r=!1}=i,c=unwrapElement(e),d=s||o?[...c?getOverflowAncestors(c):[],...t?getOverflowAncestors(t):[]]:[];d.forEach(e=>{s&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});const u=c&&l?observeMove(c,n):null;let h,m=-1,g=null;a&&(g=new ResizeObserver(e=>{let[i]=e;i&&i.target===c&&g&&t&&(g.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=g)||e.observe(t)})),n()}),c&&!r&&g.observe(c),t&&g.observe(t));let _=r?getBoundingClientRect(e):null;return r&&function t(){const i=getBoundingClientRect(e);_&&!rectsAreEqual(_,i)&&n(),_=i,h=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{s&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==u||u(),null==(e=g)||e.disconnect(),g=null,r&&cancelAnimationFrame(h)}}const offset=offset$1,shift=shift$1,flip=flip$1,arrow=arrow$1,computePosition=(e,t,n)=>{const i=new Map,s={platform:platform,...n},o={...s.platform,_c:i};return computePosition$1(e,t,{...s,platform:o})},BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),i={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(i[t]=n)}else i.xs=e;return i},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let i=e.xs||t;const s=["sm","md","lg","xl","2xl"];for(const t of s)n>=BREAKPOINTS[t]&&e[t]&&(i=e[t]);return i},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const i=BREAKPOINTS[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",e),t.push({mql:s,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$f="menu",DATA_KEY$c="bs.menu",EVENT_KEY$c=".bs.menu",DATA_API_KEY$8=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$2="ArrowUp",ARROW_DOWN_KEY$2="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$2="Home",END_KEY$2="End",ENTER_KEY$1="Enter",SPACE_KEY$1=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$7="hide.bs.menu",EVENT_HIDDEN$7="hidden.bs.menu",EVENT_SHOW$7="show.bs.menu",EVENT_SHOWN$7="shown.bs.menu",EVENT_CLICK_DATA_API$5="click.bs.menu.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.menu.data-api",EVENT_KEYUP_DATA_API="keyup.bs.menu.data-api",CLASS_NAME_SHOW$4="show",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="menu"]:not(.disabled):not(:disabled)',SELECTOR_MENU$2=".menu",SELECTOR_SUBMENU=".submenu",SELECTOR_SUBMENU_TOGGLE=".submenu > .menu-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS$1=".menu-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL$1()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$e={autoClose:!0,boundary:"clippingParents",container:!1,display:"dynamic",offset:[0,2],floatingConfig:null,menu:null,placement:"bottom-start",reference:"toggle",strategy:"absolute",submenuTrigger:"both",submenuDelay:100},DefaultType$e={autoClose:"(boolean|string)",boundary:"(string|element)",container:"(string|element|boolean)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",menu:"(null|element)",placement:"string",reference:"(string|element|object)",strategy:"string",submenuTrigger:"string",submenuDelay:"number"};class Menu extends BaseComponent{static _openInstances=(()=>new Set)();constructor(e,t){super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList?.contains("submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=this._config.menu||this._findMenu(),this._menuOriginalParent=this._menu?.parentNode,this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return"menu"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$7,e).defaultPrevented){if(this._moveMenuToContainer(),this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus({focusVisible:!1}),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent&&this._parent.classList.add("show"),Menu._openInstances.add(this),EventHandler.trigger(this._element,EVENT_SHOWN$7,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._restoreMenuToOriginalParent(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),Menu._openInstances.delete(this),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_findMenu(){return SelectorEngine.next(this._element,".menu")[0]||SelectorEngine.prev(this._element,".menu")[0]||SelectorEngine.findOne(".menu",this._parent)}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$7,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._restoreMenuToOriginalParent(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent&&this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),Menu._openInstances.delete(this),EventHandler.trigger(this._element,EVENT_HIDDEN$7,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement$1(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${"menu".toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement$1(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement$1(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,i.placement,i.middleware,i.strategy)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t,strategy:this._config.strategy};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_getContainer(){const{container:e}=this._config;return!1===e?null:!0===e?document.body:getElement(e)}_moveMenuToContainer(){const e=this._getContainer();e&&this._menu&&this._menu.parentNode!==e&&e.append(this._menu)}_restoreMenuToOriginalParent(){this._menuOriginalParent&&this._menu&&this._menu.parentNode!==this._menuOriginalParent&&this._menuOriginalParent.append(this._menu)}async _applyFloatingPosition(e,t,n,i,s="absolute"){if(!t.isConnected)return null;const{x:o,y:a,placement:l}=await computePosition(e,t,{placement:n,middleware:i,strategy:s});return t.isConnected?(Object.assign(t.style,{position:s,left:`${o}px`,top:`${a}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",l),l):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",".submenu > .menu-item",e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",".submenu",e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",".submenu > .menu-item",e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._cancelSubmenuCloseTimeout(i),this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n))}_onSubmenuLeave(e){const t=e.target.closest(".submenu"),n=SelectorEngine.findOne(".menu",t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._openSubmenus.has(i)?this._closeSubmenu(i,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const i=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,i),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(".submenu .menu.show",e);for(const e of n){const t=e.closest(".submenu");this._closeSubmenu(e,t)}const i=SelectorEngine.findOne(".submenu > .menu-item",t),s=this._openSubmenus.get(e);s&&s(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),i&&i.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(".submenu");this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(".submenu > .menu.show",t);for(const t of n){const n=t.closest(".submenu");n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const i=n,s=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],a=()=>this._applyFloatingPosition(i,t,s,o);return a(),autoUpdate(i,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),i={x:e.clientX,y:e.clientY},s={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL$1()?n.right:n.left,a={x:o,y:n.top},l={x:o,y:n.bottom};return this._pointInTriangle(i,s,a,l)}_pointInTriangle(e,t,n,i){const s=triangleSign(e,t,n),o=triangleSign(e,n,i),a=triangleSign(e,i,t);return!((s<0||o<0||a<0)&&(s>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(".menu")||this._menu,i=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,n).filter(e=>isVisible(e));i.length&&getNextActiveElement(i,t,e===ARROW_DOWN_KEY$2,!i.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,i=isRTL$1(),s=i?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=i?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,a=n.closest(".submenu"),l=a&&n.matches(".submenu > .menu-item");if((t===ENTER_KEY$1||t===SPACE_KEY$1)&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===s&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(".menu"),i=t?.closest(".submenu");if(i){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(".submenu > .menu-item",i);return this._closeSubmenu(t,i),n&&n.focus(),!0}}if(t===HOME_KEY$2||t===END_KEY$2){e.preventDefault(),e.stopPropagation();const i=n.closest(".menu"),s=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,i).filter(e=>isVisible(e));return s.length&&(t===HOME_KEY$2?s[0]:s[s.length-1]).focus(),!0}return!1}static clearMenus(e){if(2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(const t of Menu._openInstances){if(!1===t._config.autoClose)continue;const n=e.composedPath(),i=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!i||"outside"===t._config.autoClose&&i)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const s={relatedTarget:t._element};"click"===e.type&&(s.clickEvent=e),t._completeHide(s)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$2,ARROW_DOWN_KEY$2].includes(e.key),s=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$2,END_KEY$2].includes(e.key),a=[ENTER_KEY$1,SPACE_KEY$1].includes(e.key),l=e.target.matches(".submenu > .menu-item");if(!(i||n||s||o||a&&l))return;if(t&&!n)return;const r=this.matches(SELECTOR_DATA_TOGGLE$8)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$8,e.delegateTarget.parentNode);if(!r)return;const c=Menu.getOrCreateInstance(r);if(!(s||o||a&&l)||!c._handleSubmenuKeydown(e)){if(i)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(".menu"),n=t?.closest(".submenu");if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(".submenu > .menu-item",n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),r.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$8,Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,".menu",Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$5,Menu.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Menu.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){e.preventDefault(),Menu.getOrCreateInstance(this).toggle()});const NAME$e="combobox",DATA_KEY$b="bs.combobox",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$7=".data-api",ESCAPE_KEY="Escape",TAB_KEY="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",EVENT_CHANGE$2=`change${EVENT_KEY$b}`,EVENT_SHOW$6=`show${EVENT_KEY$b}`,EVENT_SHOWN$6=`shown${EVENT_KEY$b}`,EVENT_HIDE$6=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$b}.data-api`,CLASS_NAME_SHOW$3="show",CLASS_NAME_SELECTED="selected",CLASS_NAME_PLACEHOLDER="combobox-placeholder",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="combobox"]',SELECTOR_MENU$1=".menu",SELECTOR_MENU_ITEM=".menu-item[data-bs-value]",SELECTOR_VISIBLE_ITEMS=".menu-item[data-bs-value]:not(.disabled):not(:disabled)",SELECTOR_VALUE=".combobox-value",SELECTOR_SEARCH_INPUT=".combobox-search-input",SELECTOR_NO_RESULTS=".combobox-no-results",Default$d={boundary:"clippingParents",multiple:!1,name:null,offset:[0,2],placeholder:"",placement:"bottom-start",search:!1,searchNormalize:!1},DefaultType$d={boundary:"(string|element)",multiple:"boolean",name:"(string|null)",offset:"(array|string|function)",placeholder:"string",placement:"string",search:"boolean",searchNormalize:"boolean"};class Combobox extends BaseComponent{constructor(e,t){super(e,t),this._toggle=this._element,this._menu=SelectorEngine.next(this._toggle,".menu")[0],this._valueDisplay=SelectorEngine.findOne(SELECTOR_VALUE,this._toggle),this._searchInput=SelectorEngine.findOne(SELECTOR_SEARCH_INPUT,this._menu),this._noResults=SelectorEngine.findOne(SELECTOR_NO_RESULTS,this._menu),this._hiddenInput=null,this._menuInstance=null,this._createHiddenInput(),this._createMenuInstance(),this._syncInitialSelection(),this._addEventListeners()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(){return this._isShown()?this.hide():this.show()}show(){isDisabled(this._toggle)||this._isShown()||EventHandler.trigger(this._toggle,EVENT_SHOW$6).defaultPrevented||(this._menuInstance.show(),this._searchInput&&(this._searchInput.value="",this._filterItems(""),requestAnimationFrame(()=>this._searchInput.focus())),EventHandler.trigger(this._toggle,EVENT_SHOWN$6))}hide(){this._isShown()&&(EventHandler.trigger(this._toggle,EVENT_HIDE$6).defaultPrevented||(this._menuInstance.hide(),EventHandler.trigger(this._toggle,EVENT_HIDDEN$6)))}dispose(){this._menuInstance&&(this._menuInstance.dispose(),this._menuInstance=null),this._hiddenInput&&(this._hiddenInput.remove(),this._hiddenInput=null),EventHandler.off(this._menu,EVENT_KEY$b),EventHandler.off(this._toggle,EVENT_KEY$b),super.dispose()}_isShown(){return this._menu.classList.contains("show")}_createHiddenInput(){const{name:e}=this._config;e&&(this._hiddenInput=document.createElement("input"),this._hiddenInput.type="hidden",this._hiddenInput.name=e,this._hiddenInput.value="",this._toggle.parentNode.insertBefore(this._hiddenInput,this._toggle))}_createMenuInstance(){this._menuInstance=new Menu(this._toggle,{menu:this._menu,autoClose:!this._config.multiple||"outside",boundary:this._config.boundary,offset:this._config.offset,placement:this._config.placement})}_syncInitialSelection(){this._getSelectedItems().length>0?(this._updateToggleText(),this._updateHiddenInput()):this._showPlaceholder()}_addEventListeners(){EventHandler.on(this._menu,"click",SELECTOR_MENU_ITEM,e=>{const t=e.target.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&(e.preventDefault(),e.stopPropagation(),this._selectItem(t))}),EventHandler.on(this._toggle,"keydown",e=>{this._handleToggleKeydown(e)}),EventHandler.on(this._menu,"keydown",e=>{this._handleMenuKeydown(e)}),this._searchInput&&(EventHandler.on(this._searchInput,"input",()=>{this._filterItems(this._searchInput.value)}),EventHandler.on(this._searchInput,"keydown",e=>{if("ArrowDown"===e.key){e.preventDefault();const t=this._getVisibleItems();t.length>0&&t[0].focus()}"Escape"===e.key&&(this.hide(),this._toggle.focus())}))}_selectItem(e){if(this._config.multiple)e.classList.toggle("selected"),e.setAttribute("aria-selected",e.classList.contains("selected"));else{const t=SelectorEngine.find(".selected",this._menu);for(const e of t)e.classList.remove("selected"),e.setAttribute("aria-selected","false");e.classList.add("selected"),e.setAttribute("aria-selected","true")}this._updateToggleText(),this._updateHiddenInput();const t=this._config.multiple?this._getSelectedItems().map(e=>e.dataset.bsValue):e.dataset.bsValue;EventHandler.trigger(this._toggle,EVENT_CHANGE$2,{value:t,item:e}),this._config.multiple||(this.hide(),this._toggle.focus())}_updateToggleText(){const e=this._getSelectedItems();if(0!==e.length)if(this._valueDisplay.classList.remove("combobox-placeholder"),this._config.multiple&&e.length>1)this._valueDisplay.textContent=`${e.length} selected`;else{const t=e[0],n=SelectorEngine.findOne(".menu-item-content > span:first-child",t);this._valueDisplay.textContent=n?n.textContent:t.textContent.trim()}else this._showPlaceholder()}_showPlaceholder(){const{placeholder:e}=this._config;e&&(this._valueDisplay.textContent=e,this._valueDisplay.classList.add("combobox-placeholder"))}_updateHiddenInput(){if(!this._hiddenInput)return;const e=this._getSelectedItems().map(e=>e.dataset.bsValue);this._hiddenInput.value=this._config.multiple?e.join(","):e[0]||""}_getSelectedItems(){return SelectorEngine.find(".selected",this._menu)}_getVisibleItems(){return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e))}_filterItems(e){const t=this._normalizeText(e.toLowerCase().trim()),n=SelectorEngine.find(SELECTOR_MENU_ITEM,this._menu);let i=0;for(const e of n){const n=this._normalizeText(e.textContent.toLowerCase().trim()),s=!t||n.includes(t);e.style.display=s?"":"none",s&&i++}this._noResults&&this._noResults.classList.toggle("d-none",i>0)}_normalizeText(e){return this._config.searchNormalize?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}_handleToggleKeydown(e){const{key:t}=e;if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault(),this._isShown()||this.show();const n=this._getVisibleItems();return void(n.length>0&&("ArrowDown"===t?n[0]:n[n.length-1]).focus())}"Enter"!==t&&" "!==t||this._isShown()||(e.preventDefault(),this.show())}_handleMenuKeydown(e){const{key:t,target:n}=e;if("Escape"===t)return e.preventDefault(),e.stopPropagation(),this.hide(),void this._toggle.focus();if("Tab"===t)return void this.hide();const i=n.matches("input");if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault();const i=this._getVisibleItems();return void(i.length>0&&getNextActiveElement(i,n,"ArrowDown"===t,!i.includes(n)).focus())}if("Home"===t||"End"===t){e.preventDefault();const n=this._getVisibleItems();return void(n.length>0&&("Home"===t?n[0]:n[n.length-1]).focus())}if(("Enter"===t||" "===t)&&!i){e.preventDefault();const t=n.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&this._selectItem(t)}}static jQueryInterface(e){return this.each(function(){const t=Combobox.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){e.preventDefault(),Combobox.getOrCreateInstance(this).toggle()}),EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE$7))Combobox.getOrCreateInstance(e)});
+const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,getAny:e=>elementMap.has(e)&&elementMap.get(e).values().next().value||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:a}=s;a&&a!==this;a=a.parentNode)for(const l of o)if(l===a)return hydrateObj(s,{delegateTarget:a}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(a,[s])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,a,l]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const r=getElementEvents(e),c=r[l]||(r[l]={}),d=findHandler(c,a,o?n:null);if(d)return void(d.oneOff=d.oneOff&&s);const u=makeEventUid(a,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,a):bootstrapHandler(e,a);h.delegationSelector=o?n:null,h.callable=a,h.oneOff=s,h.uidEvent=u,c[u]=h,e.addEventListener(l,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,a]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,a]=normalizeParameters(t,n,i),l=a!==t,r=getElementEvents(e),c=r[a]||{},d=t.startsWith(".");if(void 0===o){if(d)for(const n of Object.keys(r))removeNamespacedHandlers(e,r,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");l&&!t.includes(s)||removeHandler(e,r,a,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,r,a,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(i),i}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement$1=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement$1(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement$1(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL$1=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{s||triggerTransitionEnd(t)},i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement$1(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement$1(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement$1(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="6.0.0-alpha1";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()})},eventActionOnPlugin=(e,t,n,i,s=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof s&&s({...t,instances:n});for(const e of n)e[i]()})},eventAction=(e,t,n)=>{const i=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,i,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),i=t?SelectorEngine.find(t):[this];n({targets:i,event:e})})},NAME$k="alert",DATA_KEY$g="bs.alert",EVENT_KEY$h=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$6="show";class Alert extends BaseComponent{static get NAME(){return NAME$k}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$j="button",DATA_KEY$f="bs.button",EVENT_KEY$g=`.${DATA_KEY$f}`,DATA_API_KEY$b=".data-api",CLASS_NAME_ACTIVE$4="active",SELECTOR_DATA_TOGGLE$a='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$8=`click${EVENT_KEY$g}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$j}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$8,SELECTOR_DATA_TOGGLE$a,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$a);Button.getOrCreateInstance(t).toggle()});const NAME$i="swipe",EVENT_KEY$f=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$h={endCallback:null,leftCallback:null,rightCallback:null,upCallback:null,downCallback:null},DefaultType$h={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)",upCallback:"(function|null)",downCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._deltaY=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$h}static get DefaultType(){return DefaultType$h}static get NAME(){return NAME$i}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){if(!this._supportPointerEvents)return this._deltaX=e.touches[0].clientX,void(this._deltaY=e.touches[0].clientY);this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX,this._deltaY=e.clientY)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX,this._deltaY=e.clientY-this._deltaY),this._handleSwipe(),execute(this._config.endCallback)}_move(e){if(e.touches&&e.touches.length>1)return this._deltaX=0,void(this._deltaY=0);this._deltaX=e.touches[0].clientX-this._deltaX,this._deltaY=e.touches[0].clientY-this._deltaY}_handleSwipe(){const e=Math.abs(this._deltaX),t=Math.abs(this._deltaY);if(t>e&&t>40){const e=this._deltaY>0?"down":"up";return this._deltaX=0,this._deltaY=0,void execute("down"===e?this._config.downCallback:this._config.upCallback)}if(e>40){const t=e/this._deltaX;if(this._deltaX=0,this._deltaY=0,!t)return;return void execute(t>0?this._config.rightCallback:this._config.leftCallback)}this._deltaX=0,this._deltaY=0}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$h="carousel",DATA_KEY$e="bs.carousel",EVENT_KEY$e=`.${DATA_KEY$e}`,DATA_API_KEY$a=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$e}`,EVENT_SLID=`slid${EVENT_KEY$e}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$e}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$e}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$e}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$e}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$e}.data-api`,EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$e}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$g={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$g={interval:"number",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return NAME$h}next(){this._slide("next")}nextWhenVisible(){"visible"===document.visibilityState&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const l=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const r=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(r),s.classList.add(r),this._queueCallback(()=>{s.classList.remove(r,c),s.classList.add("active"),n.classList.remove("active",c,r),this._isSliding=!1,a(EVENT_SLID)},n,this._isAnimated()),l&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL$1()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL$1()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$g="collapse",DATA_KEY$d="bs.collapse",EVENT_KEY$d=`.${DATA_KEY$d}`,DATA_API_KEY$9=".data-api",EVENT_SHOW$7=`show${EVENT_KEY$d}`,EVENT_SHOWN$6=`shown${EVENT_KEY$d}`,EVENT_HIDE$6=`hide${EVENT_KEY$d}`,EVENT_HIDDEN$8=`hidden${EVENT_KEY$d}`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$d}.data-api`,CLASS_NAME_SHOW$5="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="collapse"]',Default$f={parent:null,toggle:!0},DefaultType$f={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$9);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return NAME$g}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$7).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$8)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$9);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$9,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function clamp(e,t,n){return max(e,min(t,n))}function evaluate(e,t){return"function"==typeof e?e(t):e}function getSide(e){return e.split("-")[0]}function getAlignment(e){return e.split("-")[1]}function getOppositeAxis(e){return"x"===e?"y":"x"}function getAxisLength(e){return"y"===e?"height":"width"}function getSideAxis(e){const t=e[0];return"t"===t||"b"===t?"y":"x"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const i=getAlignment(e),s=getAlignmentAxis(e),o=getAxisLength(s);let a="x"===s?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=getOppositePlacement(a)),[a,getOppositePlacement(a)]}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(e,t,n){switch(e){case"top":case"bottom":return n?t?rlPlacement:lrPlacement:t?lrPlacement:rlPlacement;case"left":case"right":return t?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(e,t,n,i){const s=getAlignment(e);let o=getSideList(getSide(e),"start"===n,i);return s&&(o=o.map(e=>e+"-"+s),t&&(o=o.concat(o.map(getOppositeAlignmentPlacement)))),o}function getOppositePlacement(e){const t=getSide(e);return oppositeSideMap[t]+e.slice(t.length)}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){const{x:t,y:n,width:i,height:s}=e;return{width:i,height:s,top:n,left:t,right:t+i,bottom:n+s,x:t,y:n}}function computeCoordsFromPlacement(e,t,n){let{reference:i,floating:s}=e;const o=getSideAxis(t),a=getAlignmentAxis(t),l=getAxisLength(a),r=getSide(t),c="y"===o,d=i.x+i.width/2-s.width/2,u=i.y+i.height/2-s.height/2,h=i[l]/2-s[l]/2;let m;switch(r){case"top":m={x:d,y:i.y-s.height};break;case"bottom":m={x:d,y:i.y+i.height};break;case"right":m={x:i.x+i.width,y:u};break;case"left":m={x:i.x-s.width,y:u};break;default:m={x:i.x,y:i.y}}switch(getAlignment(t)){case"start":m[a]-=h*(n&&c?-1:1);break;case"end":m[a]+=h*(n&&c?-1:1)}return m}async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:i,y:s,platform:o,rects:a,elements:l,strategy:r}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:h=!1,padding:m=0}=evaluate(t,e),_=getPaddingObject(m),g=l[h?"floating"===u?"reference":"floating":u],p=rectToClientRect(await o.getClippingRect({element:null==(n=await(null==o.isElement?void 0:o.isElement(g)))||n?g:g.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:r})),E="floating"===u?{x:i,y:s,width:a.floating.width,height:a.floating.height}:a.reference,f=await(null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),v=await(null==o.isElement?void 0:o.isElement(f))&&await(null==o.getScale?void 0:o.getScale(f))||{x:1,y:1},T=rectToClientRect(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:E,offsetParent:f,strategy:r}):E);return{top:(p.top-T.top+_.top)/v.y,bottom:(T.bottom-p.bottom+_.bottom)/v.y,left:(p.left-T.left+_.left)/v.x,right:(T.right-p.right+_.right)/v.x}}const MAX_RESET_COUNT=50,computePosition$1=async(e,t,n)=>{const{placement:i="bottom",strategy:s="absolute",middleware:o=[],platform:a}=n,l=a.detectOverflow?a:{...a,detectOverflow:detectOverflow},r=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:s}),{x:d,y:u}=computeCoordsFromPlacement(c,i,r),h=i,m=0;const _={};for(let n=0;n<o.length;n++){const g=o[n];if(!g)continue;const{name:p,fn:E}=g,{x:f,y:v,data:T,reset:b}=await E({x:d,y:u,initialPlacement:i,placement:h,strategy:s,middlewareData:_,rects:c,platform:l,elements:{reference:e,floating:t}});d=null!=f?f:d,u=null!=v?v:u,_[p]={..._[p],...T},b&&m<50&&(m++,"object"==typeof b&&(b.placement&&(h=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:e,floating:t,strategy:s}):b.rects),({x:d,y:u}=computeCoordsFromPlacement(c,h,r))),n=-1)}return{x:d,y:u,placement:h,strategy:s,middlewareData:_}},arrow$1=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:s,rects:o,platform:a,elements:l,middlewareData:r}=t,{element:c,padding:d=0}=evaluate(e,t)||{};if(null==c)return{};const u=getPaddingObject(d),h={x:n,y:i},m=getAlignmentAxis(s),_=getAxisLength(m),g=await a.getDimensions(c),p="y"===m,E=p?"top":"left",f=p?"bottom":"right",v=p?"clientHeight":"clientWidth",T=o.reference[_]+o.reference[m]-h[m]-o.floating[_],b=h[m]-o.reference[m],A=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let y=A?A[v]:0;y&&await(null==a.isElement?void 0:a.isElement(A))||(y=l.floating[v]||o.floating[_]);const D=T/2-b/2,S=y/2-g[_]/2-1,C=min(u[E],S),w=min(u[f],S),N=C,x=y-g[_]-w,M=y/2-g[_]/2+D,L=clamp(N,M,x),O=!r.arrow&&null!=getAlignment(s)&&M!==L&&o.reference[_]/2-(M<N?C:w)-g[_]/2<0,$=O?M<N?M-N:M-x:0;return{[m]:h[m]+$,data:{[m]:L,centerOffset:M-L-$,...O&&{alignmentOffset:$}},reset:O}}}),flip$1=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,i;const{placement:s,middlewareData:o,rects:a,initialPlacement:l,platform:r,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:_="none",flipAlignment:g=!0,...p}=evaluate(e,t);if(null!=(n=o.arrow)&&n.alignmentOffset)return{};const E=getSide(s),f=getSideAxis(l),v=getSide(l)===l,T=await(null==r.isRTL?void 0:r.isRTL(c.floating)),b=h||(v||!g?[getOppositePlacement(l)]:getExpandedPlacements(l)),A="none"!==_;!h&&A&&b.push(...getOppositeAxisPlacements(l,g,_,T));const y=[l,...b],D=await r.detectOverflow(t,p),S=[];let C=(null==(i=o.flip)?void 0:i.overflows)||[];if(d&&S.push(D[E]),u){const e=getAlignmentSides(s,a,T);S.push(D[e[0]],D[e[1]])}if(C=[...C,{placement:s,overflows:S}],!S.every(e=>e<=0)){var w,N;const e=((null==(w=o.flip)?void 0:w.index)||0)+1,t=y[e];if(t&&("alignment"!==u||f===getSideAxis(t)||C.every(e=>getSideAxis(e.placement)!==f||e.overflows[0]>0)))return{data:{index:e,overflows:C},reset:{placement:t}};let n=null==(N=C.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:N.placement;if(!n)switch(m){case"bestFit":{var x;const e=null==(x=C.filter(e=>{if(A){const t=getSideAxis(e.placement);return t===f||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:x[0];e&&(n=e);break}case"initialPlacement":n=l}if(s!==n)return{reset:{placement:n}}}return{}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(e,t){const{placement:n,platform:i,elements:s}=e,o=await(null==i.isRTL?void 0:i.isRTL(s.floating)),a=getSide(n),l=getAlignment(n),r="y"===getSideAxis(n),c=originSides.has(a)?-1:1,d=o&&r?-1:1,u=evaluate(t,e);let{mainAxis:h,crossAxis:m,alignmentAxis:_}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&"number"==typeof _&&(m="end"===l?-1*_:_),r?{x:m*d,y:h*c}:{x:h*c,y:m*d}}const offset$1=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:s,y:o,placement:a,middlewareData:l}=t,r=await convertValueToCoords(t,e);return a===(null==(n=l.offset)?void 0:n.placement)&&null!=(i=l.arrow)&&i.alignmentOffset?{}:{x:s+r.x,y:o+r.y,data:{...r,placement:a}}}}},shift$1=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:s,platform:o}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:r={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=evaluate(e,t),d={x:n,y:i},u=await o.detectOverflow(t,c),h=getSideAxis(getSide(s)),m=getOppositeAxis(h);let _=d[m],g=d[h];if(a){const e="y"===m?"bottom":"right";_=clamp(_+u["y"===m?"top":"left"],_,_-u[e])}if(l){const e="y"===h?"bottom":"right";g=clamp(g+u["y"===h?"top":"left"],g,g-u[e])}const p=r.fn({...t,[m]:_,[h]:g});return{...p,data:{x:p.x-n,y:p.y-i,enabled:{[m]:a,[h]:l}}}}}};function hasWindow(){return"undefined"!=typeof window}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return!!hasWindow()&&(e instanceof Node||e instanceof getWindow(e).Node)}function isElement(e){return!!hasWindow()&&(e instanceof Element||e instanceof getWindow(e).Element)}function isHTMLElement(e){return!!hasWindow()&&(e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement)}function isShadowRoot(e){return!(!hasWindow()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:i,display:s}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&"inline"!==s&&"contents"!==s}function isTableElement(e){return/^(table|td|th)$/.test(getNodeName(e))}function isTopLayer(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}const willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=e=>!!e&&"none"!==e;let isWebKitValue;function isContainingBlock(e){const t=isElement(e)?getComputedStyle$1(e):e;return isNotNone(t.transform)||isNotNone(t.translate)||isNotNone(t.scale)||isNotNone(t.rotate)||isNotNone(t.perspective)||!isWebKit()&&(isNotNone(t.backdropFilter)||isNotNone(t.filter))||willChangeRe.test(t.willChange||"")||containRe.test(t.contain||"")}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return null==isWebKitValue&&(isWebKitValue="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),isWebKitValue}function isLastTraversableNode(e){return/^(html|body|#document)$/.test(getNodeName(e))}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var i;void 0===t&&(t=[]),void 0===n&&(n=!0);const s=getNearestOverflowAncestor(e),o=s===(null==(i=e.ownerDocument)?void 0:i.body),a=getWindow(s);if(o){const e=getFrameElement(a);return t.concat(a,a.visualViewport||[],isOverflowElement(s)?s:[],e&&n?getOverflowAncestors(e):[])}return t.concat(s,getOverflowAncestors(s,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function getCssDimensions(e){const t=getComputedStyle$1(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const s=isHTMLElement(e),o=s?e.offsetWidth:n,a=s?e.offsetHeight:i,l=round(n)!==o||round(i)!==a;return l&&(n=o,i=a),{width:n,height:i,$:l}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:i,height:s,$:o}=getCssDimensions(t);let a=(o?round(n.width):n.width)/i,l=(o?round(n.height):n.height)/s;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,i){void 0===t&&(t=!1),void 0===n&&(n=!1);const s=e.getBoundingClientRect(),o=unwrapElement(e);let a=createCoords(1);t&&(i?isElement(i)&&(a=getScale(i)):a=getScale(e));const l=shouldAddVisualOffsets(o,n,i)?getVisualOffsets(o):createCoords(0);let r=(s.left+l.x)/a.x,c=(s.top+l.y)/a.y,d=s.width/a.x,u=s.height/a.y;if(o){const e=getWindow(o),t=i&&isElement(i)?getWindow(i):i;let n=e,s=getFrameElement(n);for(;s&&i&&t!==n;){const e=getScale(s),t=s.getBoundingClientRect(),i=getComputedStyle$1(s),o=t.left+(s.clientLeft+parseFloat(i.paddingLeft))*e.x,a=t.top+(s.clientTop+parseFloat(i.paddingTop))*e.y;r*=e.x,c*=e.y,d*=e.x,u*=e.y,r+=o,c+=a,n=getWindow(s),s=getFrameElement(n)}}return rectToClientRect({width:d,height:u,x:r,y:c})}function getWindowScrollBarX(e,t){const n=getNodeScroll(e).scrollLeft;return t?t.left+n:getBoundingClientRect(getDocumentElement(e)).left+n}function getHTMLOffset(e,t){const n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-getWindowScrollBarX(e,n),y:n.top+t.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{elements:t,rect:n,offsetParent:i,strategy:s}=e;const o="fixed"===s,a=getDocumentElement(i),l=!!t&&isTopLayer(t.floating);if(i===a||l&&o)return n;let r={scrollLeft:0,scrollTop:0},c=createCoords(1);const d=createCoords(0),u=isHTMLElement(i);if((u||!u&&!o)&&(("body"!==getNodeName(i)||isOverflowElement(a))&&(r=getNodeScroll(i)),u)){const e=getBoundingClientRect(i);c=getScale(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}const h=!a||u||o?createCoords(0):getHTMLOffset(a,r);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-r.scrollLeft*c.x+d.x+h.x,y:n.y*c.y-r.scrollTop*c.y+d.y+h.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),i=e.ownerDocument.body,s=max(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),o=max(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let a=-n.scrollLeft+getWindowScrollBarX(e);const l=-n.scrollTop;return"rtl"===getComputedStyle$1(i).direction&&(a+=max(t.clientWidth,i.clientWidth)-s),{width:s,height:o,x:a,y:l}}const SCROLLBAR_MAX=25;function getViewportRect(e,t){const n=getWindow(e),i=getDocumentElement(e),s=n.visualViewport;let o=i.clientWidth,a=i.clientHeight,l=0,r=0;if(s){o=s.width,a=s.height;const e=isWebKit();(!e||e&&"fixed"===t)&&(l=s.offsetLeft,r=s.offsetTop)}const c=getWindowScrollBarX(i);if(c<=0){const e=i.ownerDocument,t=e.body,n=getComputedStyle(t),s="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(i.clientWidth-t.clientWidth-s);a<=25&&(o-=a)}else c<=25&&(o+=c);return{width:o,height:a,x:l,y:r}}function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),i=n.top+e.clientTop,s=n.left+e.clientLeft,o=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:s*o.x,y:i*o.y}}function getClientRectFromClippingAncestor(e,t,n){let i;if("viewport"===t)i=getViewportRect(e,n);else if("document"===t)i=getDocumentRect(getDocumentElement(e));else if(isElement(t))i=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return rectToClientRect(i)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle$1(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let i=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&"body"!==getNodeName(e)),s=null;const o="fixed"===getComputedStyle$1(e).position;let a=o?getParentNode(e):e;for(;isElement(a)&&!isLastTraversableNode(a);){const t=getComputedStyle$1(a),n=isContainingBlock(a);n||"fixed"!==t.position||(s=null),(o?!n&&!s:!n&&"static"===t.position&&s&&("absolute"===s.position||"fixed"===s.position)||isOverflowElement(a)&&!n&&hasFixedPositionAncestor(e,a))?i=i.filter(e=>e!==a):s=t,a=getParentNode(a)}return t.set(e,i),i}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:i,strategy:s}=e;const o=[..."clippingAncestors"===n?isTopLayer(t)?[]:getClippingElementAncestors(t,this._c):[].concat(n),i],a=getClientRectFromClippingAncestor(t,o[0],s);let l=a.top,r=a.right,c=a.bottom,d=a.left;for(let e=1;e<o.length;e++){const n=getClientRectFromClippingAncestor(t,o[e],s);l=max(n.top,l),r=min(n.right,r),c=min(n.bottom,c),d=max(n.left,d)}return{width:r-d,height:c-l,x:d,y:l}}function getDimensions(e){const{width:t,height:n}=getCssDimensions(e);return{width:t,height:n}}function getRectRelativeToOffsetParent(e,t,n){const i=isHTMLElement(t),s=getDocumentElement(t),o="fixed"===n,a=getBoundingClientRect(e,!0,o,t);let l={scrollLeft:0,scrollTop:0};const r=createCoords(0);function c(){r.x=getWindowScrollBarX(s)}if(i||!i&&!o)if(("body"!==getNodeName(t)||isOverflowElement(s))&&(l=getNodeScroll(t)),i){const e=getBoundingClientRect(t,!0,o,t);r.x=e.x+t.clientLeft,r.y=e.y+t.clientTop}else s&&c();o&&!i&&s&&c();const d=!s||i||o?createCoords(0):getHTMLOffset(s,l);return{x:a.left+l.scrollLeft-r.x-d.x,y:a.top+l.scrollTop-r.y-d.y,width:a.width,height:a.height}}function isStaticPositioned(e){return"static"===getComputedStyle$1(e).position}function getTrueOffsetParent(e,t){if(!isHTMLElement(e)||"fixed"===getComputedStyle$1(e).position)return null;if(t)return t(e);let n=e.offsetParent;return getDocumentElement(e)===n&&(n=n.ownerDocument.body),n}function getOffsetParent(e,t){const n=getWindow(e);if(isTopLayer(e))return n;if(!isHTMLElement(e)){let t=getParentNode(e);for(;t&&!isLastTraversableNode(t);){if(isElement(t)&&!isStaticPositioned(t))return t;t=getParentNode(t)}return n}let i=getTrueOffsetParent(e,t);for(;i&&isTableElement(i)&&isStaticPositioned(i);)i=getTrueOffsetParent(i,t);return i&&isLastTraversableNode(i)&&isStaticPositioned(i)&&!isContainingBlock(i)?n:i||getContainingBlock(e)||n}const getElementRects=async function(e){const t=this.getOffsetParent||getOffsetParent,n=this.getDimensions,i=await n(e.floating);return{reference:getRectRelativeToOffsetParent(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function isRTL(e){return"rtl"===getComputedStyle$1(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function rectsAreEqual(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function observeMove(e,t){let n,i=null;const s=getDocumentElement(e);function o(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return function a(l,r){void 0===l&&(l=!1),void 0===r&&(r=1),o();const c=e.getBoundingClientRect(),{left:d,top:u,width:h,height:m}=c;if(l||t(),!h||!m)return;const _={rootMargin:-floor(u)+"px "+-floor(s.clientWidth-(d+h))+"px "+-floor(s.clientHeight-(u+m))+"px "+-floor(d)+"px",threshold:max(0,min(1,r))||1};let g=!0;function p(t){const i=t[0].intersectionRatio;if(i!==r){if(!g)return a();i?a(!1,i):n=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==i||rectsAreEqual(c,e.getBoundingClientRect())||a(),g=!1}try{i=new IntersectionObserver(p,{..._,root:s.ownerDocument})}catch(e){i=new IntersectionObserver(p,_)}i.observe(e)}(!0),o}function autoUpdate(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:s=!0,ancestorResize:o=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:r=!1}=i,c=unwrapElement(e),d=s||o?[...c?getOverflowAncestors(c):[],...t?getOverflowAncestors(t):[]]:[];d.forEach(e=>{s&&e.addEventListener("scroll",n,{passive:!0}),o&&e.addEventListener("resize",n)});const u=c&&l?observeMove(c,n):null;let h,m=-1,_=null;a&&(_=new ResizeObserver(e=>{let[i]=e;i&&i.target===c&&_&&t&&(_.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=_)||e.observe(t)})),n()}),c&&!r&&_.observe(c),t&&_.observe(t));let g=r?getBoundingClientRect(e):null;return r&&function t(){const i=getBoundingClientRect(e);g&&!rectsAreEqual(g,i)&&n(),g=i,h=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{s&&e.removeEventListener("scroll",n),o&&e.removeEventListener("resize",n)}),null==u||u(),null==(e=_)||e.disconnect(),_=null,r&&cancelAnimationFrame(h)}}const offset=offset$1,shift=shift$1,flip=flip$1,arrow=arrow$1,computePosition=(e,t,n)=>{const i=new Map,s={platform:platform,...n},o={...s.platform,_c:i};return computePosition$1(e,t,{...s,platform:o})},BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),i={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(i[t]=n)}else i.xs=e;return i},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let i=e.xs||t;const s=["sm","md","lg","xl","2xl"];for(const t of s)n>=BREAKPOINTS[t]&&e[t]&&(i=e[t]);return i},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const i=BREAKPOINTS[n],s=window.matchMedia(`(min-width: ${i}px)`);s.addEventListener("change",e),t.push({mql:s,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$f="menu",DATA_KEY$c="bs.menu",EVENT_KEY$c=".bs.menu",DATA_API_KEY$8=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$2="ArrowUp",ARROW_DOWN_KEY$2="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$2="Home",END_KEY$2="End",ENTER_KEY$1="Enter",SPACE_KEY$1=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$5="hide.bs.menu",EVENT_HIDDEN$7="hidden.bs.menu",EVENT_SHOW$6="show.bs.menu",EVENT_SHOWN$5="shown.bs.menu",EVENT_CLICK_DATA_API$5="click.bs.menu.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.menu.data-api",EVENT_KEYUP_DATA_API="keyup.bs.menu.data-api",CLASS_NAME_SHOW$4="show",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="menu"]:not(.disabled):not(:disabled)',SELECTOR_MENU$2=".menu",SELECTOR_SUBMENU=".submenu",SELECTOR_SUBMENU_TOGGLE=".submenu > .menu-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS$1=".menu-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL$1()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$e={autoClose:!0,boundary:"clippingParents",container:!1,display:"dynamic",offset:[0,2],floatingConfig:null,menu:null,placement:"bottom-start",reference:"toggle",strategy:"absolute",submenuTrigger:"both",submenuDelay:100},DefaultType$e={autoClose:"(boolean|string)",boundary:"(string|element)",container:"(string|element|boolean)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",menu:"(null|element)",placement:"string",reference:"(string|element|object)",strategy:"string",submenuTrigger:"string",submenuDelay:"number"};class Menu extends BaseComponent{static _openInstances=(()=>new Set)();constructor(e,t){super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList?.contains("submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=this._config.menu||this._findMenu(),this._menuOriginalParent=this._menu?.parentNode,this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return"menu"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$6,e).defaultPrevented){if(this._moveMenuToContainer(),this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus({focusVisible:!1}),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent&&this._parent.classList.add("show"),Menu._openInstances.add(this),EventHandler.trigger(this._element,EVENT_SHOWN$5,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._restoreMenuToOriginalParent(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),Menu._openInstances.delete(this),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_findMenu(){return SelectorEngine.next(this._element,".menu")[0]||SelectorEngine.prev(this._element,".menu")[0]||SelectorEngine.findOne(".menu",this._parent)}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._restoreMenuToOriginalParent(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent&&this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),Menu._openInstances.delete(this),EventHandler.trigger(this._element,EVENT_HIDDEN$7,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement$1(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${"menu".toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement$1(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement$1(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),i=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,i.placement,i.middleware,i.strategy)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t,strategy:this._config.strategy};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_getContainer(){const{container:e}=this._config;return!1===e?null:!0===e?document.body:getElement(e)}_moveMenuToContainer(){const e=this._getContainer();e&&this._menu&&this._menu.parentNode!==e&&e.append(this._menu)}_restoreMenuToOriginalParent(){this._menuOriginalParent&&this._menu&&this._menu.parentNode!==this._menuOriginalParent&&this._menuOriginalParent.append(this._menu)}async _applyFloatingPosition(e,t,n,i,s="absolute"){if(!t.isConnected)return null;const{x:o,y:a,placement:l}=await computePosition(e,t,{placement:n,middleware:i,strategy:s});return t.isConnected?(Object.assign(t.style,{position:s,left:`${o}px`,top:`${a}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",l),l):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",".submenu > .menu-item",e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",".submenu",e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",".submenu > .menu-item",e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._cancelSubmenuCloseTimeout(i),this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n))}_onSubmenuLeave(e){const t=e.target.closest(".submenu"),n=SelectorEngine.findOne(".menu",t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(".submenu"),i=SelectorEngine.findOne(".menu",n);i&&(this._openSubmenus.has(i)?this._closeSubmenu(i,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,i,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const i=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,i),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(".submenu .menu.show",e);for(const e of n){const t=e.closest(".submenu");this._closeSubmenu(e,t)}const i=SelectorEngine.findOne(".submenu > .menu-item",t),s=this._openSubmenus.get(e);s&&s(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),i&&i.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(".submenu");this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(".submenu > .menu.show",t);for(const t of n){const n=t.closest(".submenu");n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const i=n,s=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],a=()=>this._applyFloatingPosition(i,t,s,o);return a(),autoUpdate(i,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),i={x:e.clientX,y:e.clientY},s={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL$1()?n.right:n.left,a={x:o,y:n.top},l={x:o,y:n.bottom};return this._pointInTriangle(i,s,a,l)}_pointInTriangle(e,t,n,i){const s=triangleSign(e,t,n),o=triangleSign(e,n,i),a=triangleSign(e,i,t);return!((s<0||o<0||a<0)&&(s>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(".menu")||this._menu,i=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,n).filter(e=>isVisible(e));i.length&&getNextActiveElement(i,t,e===ARROW_DOWN_KEY$2,!i.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,i=isRTL$1(),s=i?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=i?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,a=n.closest(".submenu"),l=a&&n.matches(".submenu > .menu-item");if((t===ENTER_KEY$1||t===SPACE_KEY$1)&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===s&&l){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(".menu"),i=t?.closest(".submenu");if(i){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(".submenu > .menu-item",i);return this._closeSubmenu(t,i),n&&n.focus(),!0}}if(t===HOME_KEY$2||t===END_KEY$2){e.preventDefault(),e.stopPropagation();const i=n.closest(".menu"),s=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,i).filter(e=>isVisible(e));return s.length&&(t===HOME_KEY$2?s[0]:s[s.length-1]).focus(),!0}return!1}static clearMenus(e){if(2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(const t of Menu._openInstances){if(!1===t._config.autoClose)continue;const n=e.composedPath(),i=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!i||"outside"===t._config.autoClose&&i)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const s={relatedTarget:t._element};"click"===e.type&&(s.clickEvent=e),t._completeHide(s)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$2,ARROW_DOWN_KEY$2].includes(e.key),s=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$2,END_KEY$2].includes(e.key),a=[ENTER_KEY$1,SPACE_KEY$1].includes(e.key),l=e.target.matches(".submenu > .menu-item");if(!(i||n||s||o||a&&l))return;if(t&&!n)return;const r=this.matches(SELECTOR_DATA_TOGGLE$8)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$8,e.delegateTarget.parentNode);if(!r)return;const c=Menu.getOrCreateInstance(r);if(!(s||o||a&&l)||!c._handleSubmenuKeydown(e)){if(i)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(".menu"),n=t?.closest(".submenu");if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(".submenu > .menu-item",n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),r.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$8,Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,".menu",Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$5,Menu.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Menu.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){e.preventDefault(),Menu.getOrCreateInstance(this).toggle()});const NAME$e="combobox",DATA_KEY$b="bs.combobox",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$7=".data-api",ESCAPE_KEY="Escape",TAB_KEY="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",EVENT_CHANGE$2=`change${EVENT_KEY$b}`,EVENT_SHOW$5=`show${EVENT_KEY$b}`,EVENT_SHOWN$4=`shown${EVENT_KEY$b}`,EVENT_HIDE$4=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$b}.data-api`,CLASS_NAME_SHOW$3="show",CLASS_NAME_SELECTED="selected",CLASS_NAME_PLACEHOLDER="combobox-placeholder",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="combobox"]',SELECTOR_MENU$1=".menu",SELECTOR_MENU_ITEM=".menu-item[data-bs-value]",SELECTOR_VISIBLE_ITEMS=".menu-item[data-bs-value]:not(.disabled):not(:disabled)",SELECTOR_VALUE=".combobox-value",SELECTOR_SEARCH_INPUT=".combobox-search-input",SELECTOR_NO_RESULTS=".combobox-no-results",Default$d={boundary:"clippingParents",multiple:!1,name:null,offset:[0,2],placeholder:"",placement:"bottom-start",search:!1,searchNormalize:!1},DefaultType$d={boundary:"(string|element)",multiple:"boolean",name:"(string|null)",offset:"(array|string|function)",placeholder:"string",placement:"string",search:"boolean",searchNormalize:"boolean"};class Combobox extends BaseComponent{constructor(e,t){super(e,t),this._toggle=this._element,this._menu=SelectorEngine.next(this._toggle,".menu")[0],this._valueDisplay=SelectorEngine.findOne(SELECTOR_VALUE,this._toggle),this._searchInput=SelectorEngine.findOne(SELECTOR_SEARCH_INPUT,this._menu),this._noResults=SelectorEngine.findOne(SELECTOR_NO_RESULTS,this._menu),this._hiddenInput=null,this._menuInstance=null,this._createHiddenInput(),this._createMenuInstance(),this._syncInitialSelection(),this._addEventListeners()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(){return this._isShown()?this.hide():this.show()}show(){isDisabled(this._toggle)||this._isShown()||EventHandler.trigger(this._toggle,EVENT_SHOW$5).defaultPrevented||(this._menuInstance.show(),this._searchInput&&(this._searchInput.value="",this._filterItems(""),requestAnimationFrame(()=>this._searchInput.focus())),EventHandler.trigger(this._toggle,EVENT_SHOWN$4))}hide(){this._isShown()&&(EventHandler.trigger(this._toggle,EVENT_HIDE$4).defaultPrevented||(this._menuInstance.hide(),EventHandler.trigger(this._toggle,EVENT_HIDDEN$6)))}dispose(){this._menuInstance&&(this._menuInstance.dispose(),this._menuInstance=null),this._hiddenInput&&(this._hiddenInput.remove(),this._hiddenInput=null),EventHandler.off(this._menu,EVENT_KEY$b),EventHandler.off(this._toggle,EVENT_KEY$b),super.dispose()}_isShown(){return this._menu.classList.contains("show")}_createHiddenInput(){const{name:e}=this._config;e&&(this._hiddenInput=document.createElement("input"),this._hiddenInput.type="hidden",this._hiddenInput.name=e,this._hiddenInput.value="",this._toggle.parentNode.insertBefore(this._hiddenInput,this._toggle))}_createMenuInstance(){this._menuInstance=new Menu(this._toggle,{menu:this._menu,autoClose:!this._config.multiple||"outside",boundary:this._config.boundary,offset:this._config.offset,placement:this._config.placement})}_syncInitialSelection(){this._getSelectedItems().length>0?(this._updateToggleText(),this._updateHiddenInput()):this._showPlaceholder()}_addEventListeners(){EventHandler.on(this._menu,"click",SELECTOR_MENU_ITEM,e=>{const t=e.target.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&(e.preventDefault(),e.stopPropagation(),this._selectItem(t))}),EventHandler.on(this._toggle,"keydown",e=>{this._handleToggleKeydown(e)}),EventHandler.on(this._menu,"keydown",e=>{this._handleMenuKeydown(e)}),this._searchInput&&(EventHandler.on(this._searchInput,"input",()=>{this._filterItems(this._searchInput.value)}),EventHandler.on(this._searchInput,"keydown",e=>{if("ArrowDown"===e.key){e.preventDefault();const t=this._getVisibleItems();t.length>0&&t[0].focus()}"Escape"===e.key&&(this.hide(),this._toggle.focus())}))}_selectItem(e){if(this._config.multiple)e.classList.toggle("selected"),e.setAttribute("aria-selected",e.classList.contains("selected"));else{const t=SelectorEngine.find(".selected",this._menu);for(const e of t)e.classList.remove("selected"),e.setAttribute("aria-selected","false");e.classList.add("selected"),e.setAttribute("aria-selected","true")}this._updateToggleText(),this._updateHiddenInput();const t=this._config.multiple?this._getSelectedItems().map(e=>e.dataset.bsValue):e.dataset.bsValue;EventHandler.trigger(this._toggle,EVENT_CHANGE$2,{value:t,item:e}),this._config.multiple||(this.hide(),this._toggle.focus())}_updateToggleText(){const e=this._getSelectedItems();if(0!==e.length)if(this._valueDisplay.classList.remove("combobox-placeholder"),this._config.multiple&&e.length>1)this._valueDisplay.textContent=`${e.length} selected`;else{const t=e[0],n=SelectorEngine.findOne(".menu-item-content > span:first-child",t);this._valueDisplay.textContent=n?n.textContent:t.textContent.trim()}else this._showPlaceholder()}_showPlaceholder(){const{placeholder:e}=this._config;e&&(this._valueDisplay.textContent=e,this._valueDisplay.classList.add("combobox-placeholder"))}_updateHiddenInput(){if(!this._hiddenInput)return;const e=this._getSelectedItems().map(e=>e.dataset.bsValue);this._hiddenInput.value=this._config.multiple?e.join(","):e[0]||""}_getSelectedItems(){return SelectorEngine.find(".selected",this._menu)}_getVisibleItems(){return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e))}_filterItems(e){const t=this._normalizeText(e.toLowerCase().trim()),n=SelectorEngine.find(SELECTOR_MENU_ITEM,this._menu);let i=0;for(const e of n){const n=this._normalizeText(e.textContent.toLowerCase().trim()),s=!t||n.includes(t);e.style.display=s?"":"none",s&&i++}this._noResults&&this._noResults.classList.toggle("d-none",i>0)}_normalizeText(e){return this._config.searchNormalize?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}_handleToggleKeydown(e){const{key:t}=e;if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault(),this._isShown()||this.show();const n=this._getVisibleItems();return void(n.length>0&&("ArrowDown"===t?n[0]:n[n.length-1]).focus())}"Enter"!==t&&" "!==t||this._isShown()||(e.preventDefault(),this.show())}_handleMenuKeydown(e){const{key:t,target:n}=e;if("Escape"===t)return e.preventDefault(),e.stopPropagation(),this.hide(),void this._toggle.focus();if("Tab"===t)return void this.hide();const i=n.matches("input");if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault();const i=this._getVisibleItems();return void(i.length>0&&getNextActiveElement(i,n,"ArrowDown"===t,!i.includes(n)).focus())}if("Home"===t||"End"===t){e.preventDefault();const n=this._getVisibleItems();return void(n.length>0&&("Home"===t?n[0]:n[n.length-1]).focus())}if(("Enter"===t||" "===t)&&!i){e.preventDefault();const t=n.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&this._selectItem(t)}}static jQueryInterface(e){return this.each(function(){const t=Combobox.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){e.preventDefault(),Combobox.getOrCreateInstance(this).toggle()}),EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE$7))Combobox.getOrCreateInstance(e)});
 /*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */
-var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,i,s,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(i=null==(n=e.context.inputElement)?void 0:n.replaceWith)||i.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(o=(s=e.context.mainElement).replaceWith)||o.call(s,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR="data-vc-prev-tabindex",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute("tabindex");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:"")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);""===t||null===t?e.removeAttribute("tabindex"):e.setAttribute("tabindex",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach(e=>e()),setContext(e,"cleanupHandlers",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)&&(("function"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:i,left:s}=getOffset(e),{vh:o,vw:a}=getViewportDimensions(),l=i-t,r=s-n;return{top:l,bottom:o-(l+e.clientHeight),left:r,right:a-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(!t||!e)return{canShow:i,parentPositions:s};const{bottom:o,top:a}=calculateAvailableSpace(e),{top:l,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:h}=getViewportDimensions(),m=h/2,g=u/2;return[{condition:l<g,position:"top"},{condition:l>g,position:"bottom"},{condition:r<m,position:"left"},{condition:r>m,position:"right"}].forEach(({condition:e,position:t})=>{e&&s.push(t)}),Object.assign(i,{top:c<=a-n,bottom:c<=o-n,left:d<=r,right:d<=h-r}),{canShow:i,parentPositions:s}}const handleDay=(e,t,n,i)=>{var s;const o=i.querySelector(`[data-vc-date="${t}"]`),a=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!a)return;if((null==n?void 0:n.modifier)&&a.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const l=document.createElement("div");l.className=e.styles.datePopup,l.dataset.vcDatePopup="",l.innerHTML=e.sanitizerHTML(n.html),a.ariaExpanded="true",a.ariaLabel=`${a.ariaLabel}, ${null==(s=null==l?void 0:l.textContent)?void 0:s.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/&nbsp;/g," ")}`,o.appendChild(l),requestAnimationFrame(()=>{if(!l)return;const{canShow:e}=getAvailablePosition(o,l),t=e.bottom?o.offsetHeight:-l.offsetHeight,n=e.left&&!e.right?o.offsetWidth-l.offsetWidth/2:!e.left&&e.right?l.offsetWidth/2:0;Object.assign(l.style,{left:`${n}px`,top:`${t}px`})})},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach(([n,i])=>handleDay(e,n,i,t)))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(t,n,i)=>{const s=getDate(n),o=getDate(i),a=new Date(s.getTime());for(;a<=o;a.setDate(a.getDate()+1))e.push(getDateString(a));return t});return e},[]),updateAttribute=(e,t,n,i="")=>{t?e.setAttribute(n,i):e.getAttribute(n)===i&&e.removeAttribute(n)},setDateModifier=(e,t,n,i,s,o,a)=>{var l,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(l=e.context.disableDates)?void 0:l.includes(o))||!e.selectionMonthsMode&&"current"!==a||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,"data-vc-date-disabled"),i&&updateAttribute(i,u,"aria-disabled","true"),i&&updateAttribute(i,u,"tabindex","-1"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"data-vc-date-today"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"aria-current","date"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(s),"data-vc-date-weekend");const h=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,h.includes(o),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute("data-vc-date-selected",""),i&&i.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),i&&i.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),i=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),s=getDate(o);updateAttribute(n,s>t&&s<i,"data-vc-date-selected","middle")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),i=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-i);const s=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+s)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const i=getWeekNumber(n,e.firstWeekday);i&&(t.dataset.vcDateWeekNumber=String(i.week))},setDaysAsDisabled=(e,t,n)=>{var i,s,o,a,l;const r=null==(i=e.disableWeekdays)?void 0:i.includes(n),c=e.disableAllDates&&!!(null==(s=e.context.enableDates)?void 0:s[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(a=e.context.disableDates)?void 0:a.includes(t))||(e.context.disableDates.push(t),null==(l=e.context.disableDates)||l.sort((e,t)=>+new Date(e)-+new Date(t)))},createDate=(e,t,n,i,s,o)=>{const a=getDate(s).getDay(),l="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=s,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(a),r.role="gridcell",("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.ariaLabel=getLocaleString(s,l,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(i),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,s),setDaysAsDisabled(e,s,a),setDateModifier(e,t,r,c,a,s,o),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,i,s)=>{for(let o=1;o<=n;o++){const n=new Date(i,s,o);createDate(e,i,t,o,getDateString(n),"current")}},createDatesFromNextMonth=(e,t,n,i,s)=>{const o=s+1===12?i+1:i,a=s+1===12?"01":s+2<10?`0${s+2}`:s+2;for(let s=1;s<=n;s++){const n=s<10?`0${s}`:String(s);createDate(e,i,t,s,`${o}-${a}-${n}`,"next")}},createDatesFromPrevMonth=(e,t,n,i,s)=>{let o=new Date(n,i,0).getDate()-(s-1);const a=0===i?n-1:n,l=0===i?12:i<10?`0${i}`:i;for(let i=s;i>0;i--,o++)createDate(e,n,t,o,`${a}-${l}-${o}`,"prev")},createWeekNumbers=(e,t,n,i,s)=>{if(!e.enableWeekNumbers)return;i.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",i.appendChild(o);const a=document.createElement("div");a.className=e.styles.weekNumbersContent,a.dataset.vcWeekNumbers="content",i.appendChild(a);const l=document.createElement("button");l.type="button",l.className=e.styles.weekNumber;const r=s.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,i=getWeekNumber(n,e.firstWeekday);if(!i)return;const s=l.cloneNode(!0);s.innerText=String(i.week),s.dataset.vcWeekNumber=String(i.week),s.dataset.vcWeekYear=String(i.year),s.role="rowheader",s.ariaLabel=`${i.week}`,a.appendChild(s)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),i=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach((n,s)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+s);const a=o.getMonth(),l=o.getFullYear(),r=(new Date(l,a,1).getDay()-e.firstWeekday+7)%7,c=new Date(l,a+1,0).getDate(),d=r+c,u=Math.ceil(d/7),h=7*u-d,m=[];for(let t=0;t<u;t++){const t=document.createElement("div");t.className=e.styles.datesRow,t.setAttribute("data-vc-dates","row"),t.setAttribute("role","row"),m.push(t)}let g=0,_=0;const p={addDate:e=>{m[g].appendChild(e),_++,_>=7&&(g++,_=0)}};createDatesFromPrevMonth(e,p,l,a,r),createDatesFromCurrentMonth(e,p,c,l,a),createDatesFromNextMonth(e,p,h,l,a);for(const e of m)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,i[s],n)})},layoutDefault=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <#WeekNumbers />\n    <div class="${e.styles.content}" data-vc="content" role="grid">\n      <#Week />\n      <#Dates />\n      <#DateRangeTooltip />\n    </div>\n  </div>\n  <#ControlTime />\n`,layoutMonths=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Months />\n    </div>\n  </div>\n`,layoutMultiple=e=>`\n  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.grid}" data-vc="grid">\n    <#Multiple>\n      <div class="${e.styles.column}" data-vc="column" role="region">\n        <div class="${e.styles.header}" data-vc="header">\n          <div class="${e.styles.headerContent}" data-vc-header="content">\n            <#Month />\n            <#Year />\n          </div>\n        </div>\n        <div class="${e.styles.wrapper}" data-vc="wrapper">\n          <#WeekNumbers />\n          <div class="${e.styles.content}" data-vc="content" role="grid">\n            <#Week />\n            <#Dates />\n          </div>\n        </div>\n      </div>\n    <#/Multiple>\n    <#DateRangeTooltip />\n  </div>\n  <#ControlTime />\n`,layoutYears=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [year] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [year] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Years />\n    </div>\n  </div>\n`,ArrowNext=(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev=(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Dates=e=>`<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,Month=e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months=e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week=e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year=e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years=e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,n)=>{const i=(n.match(/\[(.*?)\]/)||[])[1],s=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),o=getComponent(s),a=o?o(e,null!=i?i:null):"";return e.sanitizerHTML(a)}).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),(t,n)=>{const i=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(i)}).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach(t=>{const i=t;e.layouts[i].length||(e.layouts[i]=n[i](e))}),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),i=e.context.mainElement.querySelector('[data-vc="grid"]'),s=t.closest('[data-vc="column"]');return n&&n.remove(),i&&(i.dataset.vcGrid="hidden"),s&&(s.dataset.vcColumn=e.context.currentType),void(s&&(s.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,i)=>{e.style.visibility=n?"hidden":"",t.style.visibility=i?"hidden":""},handleDefaultType=(e,t,n)=>{const i=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),s=new Date(i.getTime()),o=new Date(i.getTime());s.setMonth(s.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax);e.selectionYearsMode||(a.setFullYear(i.getFullYear()),l.setFullYear(i.getFullYear()));const r=!e.selectionMonthsMode||s.getFullYear()<a.getFullYear()||s.getFullYear()===a.getFullYear()&&s.getMonth()<a.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>l.getFullYear()||o.getFullYear()===l.getFullYear()&&o.getMonth()>l.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=!!(i.getFullYear()&&e.context.displayYear-7<=i.getFullYear()),a=!!(s.getFullYear()&&e.context.displayYear+7>=s.getFullYear());setVisibilityArrows(t,n,o,a)},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');t&&n&&{default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)}["multiple"===e.context.currentType?"default":e.context.currentType]()},visibilityHandler=(e,t,n,i,s)=>{const o=new Date(i.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),a=new Date(i.setMonth(e.context.selectedMonth+n)).getMonth(),l=e.context.locale.months.long[a],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${l} ${o}`);const c={month:{id:a,label:l},year:{id:o,label:o}};t.innerText=String(c[s].label),t.dataset[`vc${s.charAt(0).toUpperCase()+s.slice(1)}`]=String(c[s].id),t.ariaLabel=`${e.labels[s]} ${c[s].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[s]||"only-arrows"===d[s];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),i=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach(t=>null==t?void 0:t.forEach((t,n)=>visibilityHandler(e,t,n,i,t.dataset.vc)))},setYearModifier=(e,t,n,i,s)=>{var o;const a={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};s&&(null==(o=e.context.mainElement.querySelectorAll({month:"[data-vc-months-month]",year:"[data-vc-years-year]"}[n]))||o.forEach(e=>{e.removeAttribute(a[n].selected),e.removeAttribute(a[n].aria)}),setContext(e,a[n].selectedProperty,Number(t.dataset[a[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),i&&(t.setAttribute(a[n].selected,""),t.setAttribute(a[n].aria,"true"))},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return{currentValue:null,columnID:0};const i=e.context.mainElement.querySelectorAll('[data-vc="column"]'),s=Array.from(i).findIndex(e=>e.closest(`[data-vc-column="${t}"]`));return{currentValue:s>=0?Number(null==(n=i[s].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(s,0)}},createMonthEl=(e,t,n,i,s,o,a)=>{const l=t.cloneNode(!1);return l.className=e.styles.monthsMonth,l.innerText=i,l.ariaLabel=s,l.role="gridcell",l.dataset.vcMonthsMonth=`${a}`,o&&(l.ariaDisabled="true"),o&&(l.tabIndex=-1),l.disabled=o,setYearModifier(e,l,"month",n===a,!1),l},createMonths=(e,t)=>{var n,i;const s=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=s?Number(s.dataset.vcYear):e.context.selectedYear,a=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const l=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!l)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map((t,n)=>a-e.monthsToSwitch*n).concat(e.context.locale.months.long.map((t,n)=>a+e.monthsToSwitch*n)).filter(e=>e>=0&&e<=12):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),i=getDate(e.context.dateMax),s=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=i.getFullYear()&&t>i.getMonth()-s+d||o>i.getFullYear()||t!==a&&!r.includes(t),h=createMonthEl(e,c,a,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);l.appendChild(h),e.onCreateMonthEls&&e.onCreateMonthEls(e,h)}null==(i=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||i.focus()},TimeInput=(e,t,n,i,s)=>`\n  <label class="${t}" data-vc-time-input="${e}">\n    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${i}" ${s?"disabled":""}>\n  </label>\n`,TimeRange=(e,t,n,i,s,o,a)=>`\n  <label class="${t}" data-vc-time-range="${e}">\n    <input type="range" name="${e}" min="${i}" max="${s}" step="${o}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}">\n  </label>\n`,handleActions=(e,t,n,i)=>{({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)})[i](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,i,s)=>{const o=o=>{const a="AM"===e.context.selectedKeeping?"PM":"AM",l=transformTime24(e.context.selectedHours,a);Number(l)<=i&&Number(l)>=s?(setContext(e,"selectedKeeping",a),n.value=l,handleActions(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener("click",o),()=>{t.removeEventListener("click",o)}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,i)=>{e.value=n,t.value=i},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleInput$1=(e,t,n,i,s,o,a)=>{const l={hour:(l,r,c)=>{e.selectionTimeMode&&{12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),l>12&&updateKeepingTime$1(e,i,"PM"),handleActions(e,c,transformTime12(r),s)},24:()=>{if(!(l<=o&&l>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,s)}}[e.selectionTimeMode]()},minute:(i,l,r)=>{if(!(i<=o&&i>=a))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=l,t.value=l,handleActions(e,r,l,s)}},r=e=>{const t=Number(n.value),i=n.value.padStart(2,"0");l[s]&&l[s](t,i,e)};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r)}},updateInputAndTime=(e,t,n,i,s)=>{t.value=s,handleActions(e,n,s,i)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleRange=(e,t,n,i,s)=>{const o=o=>{const a=Number(t.value),l=t.value.padStart(2,"0"),r="hour"===s,c=24===e.selectionTimeMode,d=a>0&&a<12;r&&!c&&updateKeepingTime(e,i,0===a||d?"AM":"PM"),updateInputAndTime(e,n,o,s,!r||c||d?l:transformTime12(t.value))};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o)}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),i=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),a=t.querySelector('[data-vc-time="keeping"]');if(!(n&&i&&s&&o))return;const l=e=>{e.target===n&&handleMouseOver(s),e.target===i&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(s),e.target===i&&handleMouseOut(o)};return t.addEventListener("mouseover",l),t.addEventListener("mouseout",r),handleInput$1(e,n,s,a,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,i,o,a,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,s,a,"hour"),handleRange(e,i,o,a,"minute"),a&&handleClickKeepingTime(e,a,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",l),t.removeEventListener("mouseout",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,i]=[e.timeMinHour,e.timeMaxHour],[s,o]=[e.timeMinMinute,e.timeMaxMinute],a=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,l="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n    <div class="${e.styles.timeContent}" data-vc-time="content">\n      ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,l)}\n      ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,l)}\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${l?"disabled":""}>${r}</button>`):""}\n    </div>\n    <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n      ${TimeRange("hour",e.styles.timeRange,e.labels,n,i,e.timeStepHour,a)}\n      ${TimeRange("minute",e.styles.timeRange,e.labels,s,o,e.timeStepMinute,e.context.selectedMinutes)}\n    </div>\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce((n,i,s)=>[...n,{id:s,titleShort:e.context.locale.weekdays.short[s],titleLong:i,isWeekend:t.includes(s)}],[]),i=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),i.forEach(i=>{const s=n.cloneNode(!0);s.innerText=i.titleShort,s.className=e.styles.weekDay,s.role="columnheader",s.ariaLabel=i.titleLong,s.dataset.vcWeekDay=String(i.id),i.isWeekend&&(s.dataset.vcWeekDayOff=""),t.appendChild(s)})})},createYearEl=(e,t,n,i,s)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(s),o.ariaLabel=String(s),o.role="gridcell",o.dataset.vcYearsYear=`${s}`,i&&(o.ariaDisabled="true"),i&&(o.tabIndex=-1),o.disabled=i,setYearModifier(e,o,"year",n===s,!1),o},createYears=(e,t)=>{var n;const i=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const s=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!s)return;const o="multiple"!==e.type||e.context.selectedYear===i?0:1,a=document.createElement("button");a.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),l=createYearEl(e,a,i,n,t);s.appendChild(l),e.onCreateYearEls&&e.onCreateYearEls(e,l)}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver(e=>{for(let i=0;i<e.length;i++)if(e[i].attributeName===t){n();break}}).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach(t=>setTheme(t,e.matches?"dark":"light"))};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,i=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,(e,t)=>t);if(!n||"system"===n.getAttribute(i))return void trackChangesThemeInSystemSettings(e,t);const s=n.getAttribute(i);s?(setTheme(e.context.mainElement,s),trackChangesHTMLElement(n,i,()=>{const t=n.getAttribute(i);t&&setTheme(e.context.mainElement,t)})):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const i=new Date(`1978-01-0${t+1}T00:00:00.000Z`),s=i.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(s)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const i=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),s=i.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(s)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,i,s,o,a,l,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},(t,n)=>getLocaleWeekday(e,n,e.locale)),Array.from({length:12},(t,n)=>getLocaleMonth(e,n,e.locale))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(s=null==(i=e.locale)?void 0:i.weekdays)?void 0:s.long[6])&&(null==(a=null==(o=e.locale)?void 0:o.months)?void 0:a.short[11])&&(null==(r=null==(l=e.locale)?void 0:l.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const i=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==i.localName)return;const s=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=s.indexOf(i);if(-1===o)return;const a=(l=s[o]).hasAttribute("data-vc-date-btn")?7:l.hasAttribute("data-vc-months-month")?4:l.hasAttribute("data-vc-years-year")?5:1;var l;const r=(0,{ArrowUp:()=>Math.max(0,o-a),ArrowDown:()=>Math.min(s.length-1,o+a),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(s.length-1,o+1)}[t.key])();null==(n=s[r])||n.focus()};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const i={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+i),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||("function"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const i=t.dataset.vcDate,s=t.closest("[data-vc-date][data-vc-date-selected]"),o=canToggleSelection(e);if(s&&!o)return;const a=s?e.context.selectedDates.filter(e=>e!==i):n?[...e.context.selectedDates,i]:[i];setContext(e,"selectedDates",a)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const i=e.context.mainElement.getBoundingClientRect(),s=n.getBoundingClientRect();t.style.left=s.left-i.left+s.width/2+"px",t.style.top=s.bottom-i.top-s.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,s,i))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var i,s,o;if(!(null==(s=null==(i=state.self)?void 0:i.context)?void 0:s.selectedDates[0]))return;const a=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(a))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${a}"]`).forEach(e=>e.dataset.vcDateHover=""),t.forEach(e=>e.dataset.vcDateHover="first"),n.forEach(e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last"}))},removeHoverEffect=()=>{var e,t;(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement)&&state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(e=>e.removeAttribute("data-vc-date-hover"))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const i=e.closest("[data-vc-date]");if(!i||state.lastDateEl===i)return;state.lastDateEl=i,createDateRangeTooltip(state.self,state.tooltipEl,i),removeHoverEffect();const s=i.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),a=getDate(s),l=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`),[c,d]=o<a?[l,r]:[r,l],[u,h]=o<a?[o,a]:[a,o];for(let e=new Date(u);e<=h;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame(()=>{e(n),state.isHovering=!1}))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout(()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()},50)},updateDisabledDates=()=>{var e,t,n,i;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(i=state.self.context.disableDates)?void 0:i[0]))return;const s=getDate(state.self.context.selectedDates[0]),[o,a]=state.self.context.disableDates.map(e=>getDate(e)).reduce(([e,t],n)=>[s>=n?n:e,s<n&&null===t?n:t],[null,null]);o&&setContext(state.self,"displayDateMin",getDateString(new Date(o.setDate(o.getDate()+1)))),a&&setContext(state.self,"displayDateMax",getDateString(new Date(a.setDate(a.getDate()-1)))),state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,"displayDateMin",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),i=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",i),e.context.selectedDates.length>1&&e.context.selectedDates.sort((e,t)=>+new Date(e)-+new Date(t))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates)}),reset:()=>{const[n,i]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],s=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${i}`]).filter(t=>!e.context.disableDates.includes(t)),a=s?e.enableEdgeDatesOnly?[n,i]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",a),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave)}}})[1===e.context.selectedDates.length?"set":"reset"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(t=>{const n=t.querySelector("[data-vc-date-btn]"),i=t.dataset.vcDate,s=getDate(i).getDay();setDateModifier(e,e.context.selectedYear,t,n,s,i,"current")})},handleClickDate=(e,t)=>{var n;const i=t.target,s=i.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!s)return;const o=s.closest("[data-vc-date]");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),"multiple-ranged":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort((e,t)=>+new Date(e)-+new Date(t)),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const a=i.closest('[data-vc-date-month="prev"]'),l=i.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[a?"prev":l?"next":"current"]()},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:i,columnID:s}=getColumnID(e,t);return"month"===e.context.currentType&&s>=0?n-s:"year"===e.context.currentType&&e.context.selectedYear!==i?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:a}=getColumnID(e,"year"),l=e.context.selectedMonth<i.getMonth()&&n<=i.getFullYear(),r=e.context.selectedMonth>s.getMonth()-o+a&&n>=s.getFullYear(),c=n<i.getFullYear(),d=n>s.getFullYear(),u=l||c?i.getFullYear():r||d?s.getFullYear():n,h=l||c?i.getMonth():r||d?s.getMonth()-o+a:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",h)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),i=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),s=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=i<o.getMonth()&&s<=o.getFullYear(),r=i>a.getMonth()&&s>=a.getFullYear();setContext(e,"selectedYear",s),setContext(e,"selectedMonth",l?o.getMonth():r?a.getMonth():i)},handleItemClick=(e,t,n,i)=>{var s;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,i);setContext(e,"selectedYear",Number(i.dataset.vcYearsYear))},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,i);setContext(e,"selectedMonth",Number(i.dataset.vcMonthsMonth))}})[n](),{year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(s=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||s.focus()):setYearModifier(e,i,n,!0,!0)},handleClickType=(e,t,n)=>{var i;const s=t.target,o=s.closest(`[data-vc="${n}"]`),a={year:()=>createYears(e,s),month:()=>createMonths(e,s)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return a[n]();const l=s.closest(`[data-vc-${n}s-${n}]`);if(l)return handleItemClick(e,t,n,l);const r=s.closest('[data-vc="grid"]'),c=s.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(i=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||i.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach(i=>{n[i]&&t.target&&handleClickType(e,t,i)})},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),i=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!i[0])return;const s=Number(n.innerText),o=Number(n.dataset.vcWeekYear),a=Array.from(i).filter(e=>Number(e.dataset.vcDateWeekNumber)===s);e.onClickWeekNumber(e,s,o,a,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),i=t.target.closest('[data-vc="column"]'),s=i?i.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!s[0])return;const o=Number(n.dataset.vcWeekDay),a=Array.from(s).filter(e=>Number(e.dataset.vcDateWeekDay)===o);e.onClickWeekDay(e,o,a,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,i;const s=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),a=resolveDate(e.displayDateMin,s),l=resolveDate(e.displayDateMax,o);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",a?getDate(s)>=getDate(a)?s:a:s),setContext(e,"displayDateMax",l?getDate(o)<=getDate(l)?o:l:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(a)<getDate(e.context.dateToday);setContext(e,"displayDateMin",r||e.disableAllDates?e.context.dateToday:a),setContext(e,"displayDateMax",e.disableAllDates?e.context.dateToday:l),setContext(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort((e,t)=>+new Date(e)-+new Date(t)),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter(t=>!e.context.enableDates.includes(t))),e.context.enableDates.length>1&&e.context.enableDates.sort((e,t)=>+new Date(e)-+new Date(t)),(null==(i=e.context.enableDates)?void 0:i[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?s:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,i=new Date,new Date(n).getTime()>i.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,i;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,i=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),i?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,i;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const s=12===e.selectionTimeMode,o=s?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[a,l,r]=null!=(i=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?i:[];a?s&&!r&&(r="AM"):(a=s?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),l=String(e.timeMinMinute),r=s?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",a.padStart(2,"0")),setContext(e,"selectedMinutes",l.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`)},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:i,time:s,locale:o},a=!0)=>{var l;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=s?r.time:e.context.selectedTime,e.selectedDates="only-first"===i&&(null==(l=e.context.selectedDates)?void 0:l[0])?[e.context.selectedDates[0]]:!0===i?r.dates:e.context.selectedDates,o&&setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}}),initAllVariables(e),a&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&i&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",!0),setContext(e,"isShowInInputMode",!1),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout(()=>show(e)),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout(()=>show(e)):createToInput(e)};e.context.inputElement.addEventListener("click",t);const n="function"==typeof e.openOnFocus||!0===e.openOnFocus,i=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener("focus",i);const s=t=>{const n="Tab"===t.key&&!t.shiftKey,i=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key);(n||i)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const i=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),s=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>i(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:i(e.context.mainElement)?e.context.mainElement:null;!s||s.tabIndex<0||(t.preventDefault(),s.focus())})(t)};return e.context.inputElement.addEventListener("keydown",s),()=>{e.context.inputElement.removeEventListener("click",t),n&&e.context.inputElement.removeEventListener("focus",i),e.context.inputElement.removeEventListener("keydown",s)}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(!0)),setContext(e,"isInit",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let i=0;i<n.length;i++){const s=n[i];"object"!=typeof e[s]||"object"!=typeof t[s]||t[s]instanceof Date||Array.isArray(t[s])?void 0!==t[s]&&(e[s]=t[s]):replaceProperties(e[s],t[s])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:i,parentPositions:s}=getAvailablePosition(e,t),o=i.left&&i.right;return(o&&i.bottom?"center":o&&i.top?["top","center"]:Array.isArray(s)?["bottom"===s[0]?"top":"bottom",...s.slice(1)]:s)||n}const setPosition=(e,t,n)=>{if(!e)return;const i="auto"===n?findBestPickerPosition(e,t):n,s={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(i)?i[0]:"bottom",a=Array.isArray(i)?i[1]:i;t.dataset.vcPosition=o;const{top:l,left:r}=getOffset(e),c=l+s[o];let d=r+s[a];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener("resize",t),e.context.cleanupHandlers.push(()=>window.removeEventListener("resize",t));const n=t=>{"Escape"===t.key&&hide(e)};document.addEventListener("keydown",n),e.context.cleanupHandlers.push(()=>document.removeEventListener("keydown",n));const i=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener("click",i,{capture:!0}),e.context.cleanupHandlers.push(()=>document.removeEventListener("click",i,{capture:!0})),e.onShow&&e.onShow(e)},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",datesRow:"vc-dates__row",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",!1),__publicField(this,"openOnFocus",!0),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",!0),__publicField(this,"displayDisabledDates",!1),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",!1),__publicField(this,"disableDatesPast",!1),__publicField(this,"disableDatesGaps",!1),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",!1),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",!0),__publicField(this,"enableDateToggle",!0),__publicField(this,"enableWeekNumbers",!1),__publicField(this,"enableMonthChangeOnDayClick",!0),__publicField(this,"enableJumpToSelectedDate",!1),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",!0),__publicField(this,"selectionYearsMode",!0),__publicField(this,"selectionTimeMode",!1),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",e=>e),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var i;super(),__publicField(this,"init",()=>init(this)),__publicField(this,"update",e=>update(this,e)),__publicField(this,"destroy",()=>destroy(this)),__publicField(this,"show",()=>show(this)),__publicField(this,"hide",()=>hide(this)),__publicField(this,"set",(e,t)=>set(this,e,t)),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(i=e.memoizedElements.get(t))?i:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar;const NAME$d="datepicker",DATA_KEY$a="bs.datepicker",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$6=".data-api",EVENT_CHANGE$1=`change${EVENT_KEY$a}`,EVENT_SHOW$5=`show${EVENT_KEY$a}`,EVENT_SHOWN$5=`shown${EVENT_KEY$a}`,EVENT_HIDE$5=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$a}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$a}.data-api`,SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$c={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$c={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$5).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$5))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$5)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE$1,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,i]=e.split("-");return new Date(t,n-1,i)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:i}=this._config;return"function"==typeof i?i(t,n):i&&"object"==typeof i?new Intl.DateTimeFormat(n,i).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" – ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$6,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$a}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$6}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const CLASS_NAME_OPEN="dialog-open";class DialogBase extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._openedAsModal=!1,this._addDialogListeners()}static get NAME(){return"dialogbase"}_showElement({modal:e=!0,preventBodyScroll:t=!0}={}){this._openedAsModal=e,e?this._element.showModal():this._element.show(),t&&document.body.classList.add("dialog-open")}_hideElement(){this._hideChildComponents(),this._element.close(),this._openedAsModal=!1,document.querySelector("dialog[open]:modal")||document.body.classList.remove("dialog-open")}_hideChildComponents(){for(const e of SelectorEngine.find('[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]',this._element)){const t=BaseComponent.getInstance(e);t&&"function"==typeof t.hide&&t.hide()}for(const e of SelectorEngine.find(".toast.show",this._element)){const t=BaseComponent.getInstance(e);t&&"function"==typeof t.hide&&t.hide()}}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,this.constructor.eventName("hidePrevented")).defaultPrevented)return;const e=this._getStaticClassName();this._element.classList.add(e),this._queueCallback(()=>{this._element.classList.remove(e)},this._element)}_getStaticClassName(){return"dialog-static"}_addDialogListeners(){const e=this.constructor.EVENT_KEY;EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(this._onCancel(),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,`keydown${e}`,e=>{"Escape"!==e.key||this._openedAsModal||(e.preventDefault(),this._config.keyboard&&(this._onCancel(),this.hide()))}),EventHandler.on(this._element,`click${e}`,e=>{e.target===this._element&&this._openedAsModal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}_onCancel(){}}const NAME$c="dialog",DATA_KEY$9="bs.dialog",EVENT_KEY$9=`.${DATA_KEY$9}`,DATA_API_KEY$5=".data-api",EVENT_SHOW$4=`show${EVENT_KEY$9}`,EVENT_SHOWN$4=`shown${EVENT_KEY$9}`,EVENT_HIDE$4=`hide${EVENT_KEY$9}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$9}`,EVENT_CANCEL=`cancel${EVENT_KEY$9}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$9}.data-api`,CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',Default$b={backdrop:!0,keyboard:!0,modal:!0},DefaultType$b={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends DialogBase{static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal||this._element.classList.add("dialog-nonmodal"),this._showElement({modal:this._config.modal,preventBodyScroll:this._config.modal}),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})},this._element,!0))}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isTransitioning=!0,this._hideElement(),this._element.classList.remove("dialog-nonmodal"),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$4)},this._element,!0)))}handleUpdate(){}_onCancel(){EventHandler.trigger(this._element,EVENT_CANCEL)}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(i);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const NAME$b="navoverflow",DATA_KEY$8="bs.navoverflow",EVENT_KEY$8=`.${DATA_KEY$8}`,EVENT_UPDATE=`update${EVENT_KEY$8}`,EVENT_OVERFLOW=`overflow${EVENT_KEY$8}`,CLASS_NAME_OVERFLOW="nav-overflow",CLASS_NAME_OVERFLOW_MENU="nav-overflow-menu",CLASS_NAME_HIDDEN="d-none",SELECTOR_NAV_ITEM=".nav-item",SELECTOR_NAV_LINK=".nav-link",SELECTOR_OVERFLOW_TOGGLE=".nav-overflow-toggle",SELECTOR_OVERFLOW_MENU=".nav-overflow-menu",CLASS_NAME_KEEP="nav-overflow-keep",Default$a={moreText:"More",moreIcon:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',threshold:0},DefaultType$a={moreText:"string",moreIcon:"string",threshold:"number"};class NavOverflow extends BaseComponent{constructor(e,t){super(e,t),this._items=[],this._overflowItems=[],this._overflowMenu=null,this._overflowToggle=null,this._resizeObserver=null,this._isInitialized=!1,this._init()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}update(){this._calculateOverflow(),EventHandler.trigger(this._element,EVENT_UPDATE)}dispose(){this._resizeObserver&&this._resizeObserver.disconnect(),this._restoreItems(),this._overflowToggle&&this._overflowToggle.parentElement&&this._overflowToggle.parentElement.remove(),super.dispose()}_init(){this._element.classList.add("nav-overflow"),this._items=[...SelectorEngine.find(".nav-item",this._element)];for(const[e,t]of this._items.entries())t.dataset.bsNavOrder=e;this._createOverflowMenu(),this._setupResizeObserver(),this._calculateOverflow(),this._isInitialized=!0}_createOverflowMenu(){if(this._overflowToggle=SelectorEngine.findOne(".nav-overflow-toggle",this._element),this._overflowToggle)return void(this._overflowMenu=SelectorEngine.findOne(".nav-overflow-menu",this._element));const e=document.createElement("li");e.className="nav-item nav-overflow-item",e.innerHTML=`\n      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">\n        <span class="nav-overflow-icon">${this._config.moreIcon}</span>\n        <span class="nav-overflow-text">${this._config.moreText}</span>\n      </button>\n      <div class="nav-overflow-menu menu"></div>\n    `,this._element.append(e),this._overflowToggle=e.querySelector(".nav-overflow-toggle"),this._overflowMenu=e.querySelector(".nav-overflow-menu")}_setupResizeObserver(){"undefined"!=typeof ResizeObserver?(this._resizeObserver=new ResizeObserver(()=>{this._calculateOverflow()}),this._resizeObserver.observe(this._element)):EventHandler.on(window,"resize",()=>this._calculateOverflow())}_calculateOverflow(){this._restoreItems();const e=this._element.offsetWidth,t=this._overflowToggle?.closest(".nav-item");let n=0;const i=[],s=e-(t?.offsetWidth||0)-10;for(const e of this._items)n+=e.offsetWidth,e.classList.contains(CLASS_NAME_KEEP)||n>s&&i.push(e);if(this._items.length-i.length<this._config.threshold&&this._items.length>this._config.threshold){const e=this._items.slice(this._config.threshold).filter(e=>!e.classList.contains(CLASS_NAME_KEEP));i.length=0,i.push(...e)}this._moveToOverflow(i),t&&(i.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),i.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:i.length,visibleCount:this._items.length-i.length})}_moveToOverflow(e){if(this._overflowMenu){this._overflowMenu.innerHTML="",this._overflowItems=[];for(const t of e){const e=SelectorEngine.findOne(".nav-link",t);if(!e)continue;const n=e.cloneNode(!0);n.className="menu-item",e.classList.contains("active")&&n.classList.add("active"),(e.classList.contains("disabled")||e.hasAttribute("disabled"))&&n.classList.add("disabled"),this._overflowMenu.append(n),t.classList.add("d-none"),t.dataset.bsNavOverflow="true",this._overflowItems.push(t)}}}_restoreItems(){for(const e of this._items)e.classList.remove("d-none"),delete e.dataset.bsNavOverflow;this._overflowMenu&&(this._overflowMenu.innerHTML=""),this._overflowItems=[]}}EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find('[data-bs-toggle="nav-overflow"]'))NavOverflow.getOrCreateInstance(e)});const NAME$a="offcanvas",DATA_KEY$7="bs.offcanvas",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$7}.data-api`,EVENT_SHOW$3=`show${EVENT_KEY$7}`,EVENT_SHOWN$3=`shown${EVENT_KEY$7}`,EVENT_HIDE$3=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$7}`,EVENT_RESIZE=`resize${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$7}.data-api`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="offcanvas"]',Default$9={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$9={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends DialogBase{static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){if(this._element.open||this._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented)return;this._isTransitioning=!0;const t=Boolean(this._config.backdrop)||!this._config.scroll;this._showElement({modal:t,preventBodyScroll:!this._config.scroll}),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})},this._element,!0)}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._isTransitioning=!0,this._hideElement(),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$3)},this._element,!0)))}_getStaticClassName(){return"offcanvas-static"}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne("dialog.offcanvas[open]");n&&n!==t&&Offcanvas.getInstance(n).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find("dialog.offcanvas[open]"))Offcanvas.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find('dialog[open][class*="\\:offcanvas"]'))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()}),enableDismissTrigger(Offcanvas);const NAME$9="strength",DATA_KEY$6="bs.strength",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$6}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$8={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$8={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,i]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=i?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$6}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$8="otpInput",DATA_KEY$5="bs.otp-input",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$5}`,EVENT_INPUT=`input${EVENT_KEY$5}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$7={length:6,mask:!1},DefaultType$7={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:i}=n;if(i.length>1){const e=i.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const s=Math.min(t+e.length,this._inputs.length-1);this._inputs[s].focus()}else i&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const NAME$7="chipInput",DATA_KEY$4="bs.chip-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_ADD=`add${EVENT_KEY$4}`,EVENT_REMOVE=`remove${EVENT_KEY$4}`,EVENT_CHANGE=`change${EVENT_KEY$4}`,EVENT_SELECT=`select${EVENT_KEY$4}`,SELECTOR_DATA_CHIP_INPUT="[data-bs-chip-input]",SELECTOR_GHOST_INPUT=".form-ghost",SELECTOR_CHIP=".chip",SELECTOR_CHIP_DISMISS=".chip-dismiss",CLASS_NAME_CHIP="chip",CLASS_NAME_CHIP_DISMISS="chip-dismiss",CLASS_NAME_ACTIVE$2="active",DEFAULT_DISMISS_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>',Default$6={separator:",",allowDuplicates:!1,maxChips:null,placeholder:"",dismissible:!0,dismissIcon:DEFAULT_DISMISS_ICON,createOnBlur:!0},DefaultType$6={separator:"(string|null)",allowDuplicates:"boolean",maxChips:"(number|null)",placeholder:"string",dismissible:"boolean",dismissIcon:"string",createOnBlur:"boolean"};class ChipInput extends BaseComponent{constructor(e,t){super(e,t),this._input=SelectorEngine.findOne(".form-ghost",this._element),this._chips=[],this._selectedChips=new Set,this._anchorChip=null,this._input||this._createInput(),this._initializeExistingChips(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}add(e){const t=String(e).trim();if(!t)return null;if(!this._config.allowDuplicates&&this._chips.includes(t))return null;if(null!==this._config.maxChips&&this._chips.length>=this._config.maxChips)return null;if(EventHandler.trigger(this._element,EVENT_ADD,{value:t,relatedTarget:this._input}).defaultPrevented)return null;const n=this._createChip(t);return this._element.insertBefore(n,this._input),this._chips.push(t),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),n}remove(e){let t,n;return"string"==typeof e?(n=e,t=this._findChipByValue(n)):(t=e,n=this._getChipValue(t)),!(!t||!n)&&(!EventHandler.trigger(this._element,EVENT_REMOVE,{value:n,chip:t,relatedTarget:this._input}).defaultPrevented&&(this._selectedChips.delete(t),this._anchorChip===t&&(this._anchorChip=null),t.remove(),this._chips=this._chips.filter(e=>e!==n),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),!0))}removeSelected(){const e=[...this._selectedChips];for(const t of e)this.remove(t);this._input?.focus()}getValues(){return[...this._chips]}getSelectedValues(){return[...this._selectedChips].map(e=>this._getChipValue(e))}clear(){const e=SelectorEngine.find(".chip",this._element);for(const t of e)t.remove();this._chips=[],this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_CHANGE,{values:[]})}clearSelection(){for(const e of this._selectedChips)e.classList.remove("active");this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_SELECT,{selected:[]})}selectChip(e,t={}){const{addToSelection:n=!1,rangeSelect:i=!1}=t,s=this._getChipElements();if(s.includes(e)){if(i&&this._anchorChip){const t=s.indexOf(this._anchorChip),i=s.indexOf(e),o=Math.min(t,i),a=Math.max(t,i);n||this.clearSelection();for(let e=o;e<=a;e++)this._selectedChips.add(s[e]),s[e].classList.add("active")}else n?this._selectedChips.has(e)?(this._selectedChips.delete(e),e.classList.remove("active")):(this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e):(this.clearSelection(),this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e);EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}focus(){this._input?.focus()}_getChipElements(){return SelectorEngine.find(".chip",this._element)}_createInput(){const e=document.createElement("input");e.type="text",e.className="form-ghost",this._config.placeholder&&(e.placeholder=this._config.placeholder),this._element.append(e),this._input=e}_initializeExistingChips(){const e=SelectorEngine.find(".chip",this._element);for(const t of e){const e=this._getChipValue(t);e&&(this._chips.push(e),this._setupChip(t))}}_setupChip(e){e.setAttribute("tabindex","0"),this._config.dismissible&&!SelectorEngine.findOne(".chip-dismiss",e)&&e.append(this._createDismissButton())}_createChip(e){const t=document.createElement("span");return t.className="chip",t.dataset.bsChipValue=e,t.append(document.createTextNode(e)),this._setupChip(t),t}_createDismissButton(){const e=document.createElement("button");return e.type="button",e.className="chip-dismiss",e.setAttribute("aria-label","Remove"),e.setAttribute("tabindex","-1"),e.innerHTML=this._config.dismissIcon,e}_findChipByValue(e){return this._getChipElements().find(t=>this._getChipValue(t)===e)}_getChipValue(e){if(e.dataset.bsChipValue)return e.dataset.bsChipValue;const t=e.cloneNode(!0),n=SelectorEngine.findOne(".chip-dismiss",t);return n&&n.remove(),t.textContent?.trim()||""}_addEventListeners(){EventHandler.on(this._input,"keydown",e=>this._handleInputKeydown(e)),EventHandler.on(this._input,"input",e=>this._handleInput(e)),EventHandler.on(this._input,"paste",e=>this._handlePaste(e)),EventHandler.on(this._input,"focus",()=>this.clearSelection()),this._config.createOnBlur&&EventHandler.on(this._input,"blur",e=>{e.relatedTarget?.closest(".chip")||this._createChipFromInput()}),EventHandler.on(this._element,"click",".chip",e=>{if(e.target.closest(".chip-dismiss"))return;const t=e.target.closest(".chip");t&&(e.preventDefault(),this.selectChip(t,{addToSelection:e.metaKey||e.ctrlKey,rangeSelect:e.shiftKey}),t.focus())}),EventHandler.on(this._element,"click",".chip-dismiss",e=>{e.stopPropagation();const t=e.target.closest(".chip");t&&(this.remove(t),this._input?.focus())}),EventHandler.on(this._element,"keydown",".chip",e=>{this._handleChipKeydown(e)}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&(this.clearSelection(),this._input?.focus())})}_handleInputKeydown(e){const{key:t}=e;switch(t){case"Enter":e.preventDefault(),this._createChipFromInput();break;case"Backspace":case"Delete":if(""===this._input.value){e.preventDefault();const t=this._getChipElements();if(t.length>0){const e=t.at(-1);this.selectChip(e),e.focus()}}break;case"ArrowLeft":if(0===this._input.selectionStart&&0===this._input.selectionEnd){e.preventDefault();const t=this._getChipElements();if(t.length>0){const n=t.at(-1);e.shiftKey?this.selectChip(n,{addToSelection:!0}):this.selectChip(n),n.focus()}}break;case"Escape":this._input.value="",this.clearSelection(),this._input.blur()}}_handleChipKeydown(e){const{key:t}=e,n=e.target.closest(".chip");if(!n)return;const i=this._getChipElements(),s=i.indexOf(n);switch(t){case"Backspace":case"Delete":e.preventDefault(),this._handleChipDelete(s,i);break;case"ArrowLeft":e.preventDefault(),this._navigateChip(i,s,-1,e.shiftKey);break;case"ArrowRight":e.preventDefault(),this._navigateChip(i,s,1,e.shiftKey);break;case"Home":e.preventDefault(),this._navigateToEdge(i,0,e.shiftKey);break;case"End":case"Escape":e.preventDefault(),this.clearSelection(),this._input?.focus();break;case"a":this._handleSelectAll(e,i)}}_handleChipDelete(e,t){if(0===this._selectedChips.size)return;const n=Math.min(e,t.length-this._selectedChips.size-1);this.removeSelected();const i=this._getChipElements();if(i.length>0){const e=Math.max(0,Math.min(n,i.length-1));i[e].focus(),this.selectChip(i[e])}else this._input?.focus()}_navigateChip(e,t,n,i){const s=t+n;if(n<0&&s>=0){const t=e[s];this.selectChip(t,i?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else if(n>0&&s<e.length){const t=e[s];this.selectChip(t,i?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else n>0&&(this.clearSelection(),this._input?.focus())}_navigateToEdge(e,t,n){if(0===e.length)return;const i=e[t];this.selectChip(i,n?{rangeSelect:!0}:{}),i.focus()}_handleSelectAll(e,t){if(e.metaKey||e.ctrlKey){e.preventDefault();for(const e of t)this._selectedChips.add(e),e.classList.add("active");EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}_handleInput(e){const{value:t}=e.target,{separator:n}=this._config;if(n&&t.includes(n)){const e=t.split(n);for(const t of e.slice(0,-1))this.add(t.trim());this._input.value=e.at(-1)}}_handlePaste(e){const{separator:t}=this._config;if(!t)return;const n=(e.clipboardData||window.clipboardData).getData("text");if(n.includes(t)){e.preventDefault();const i=n.split(t);for(const e of i)this.add(e.trim())}}_createChipFromInput(){const e=this._input.value.trim();e&&(this.add(e),this._input.value="")}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-chip-input]"))ChipInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement$1(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL$1()?"left":"right",BOTTOM:"bottom",LEFT:isRTL$1()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));let{container:i}=this._config;const s=this._element.closest("dialog[open]");if(s&&i===document.body&&(i=s),this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(t,i),{x:o,y:a,placement:l,middlewareData:r}=await computePosition(this._element,e,s);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",l),n&&r.arrow){const{x:e,y:t}=r.arrow,i=l.startsWith("top")||l.startsWith("bottom");Object.assign(n.style,{left:i&&null!==e?`${e}px`:"",top:i||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_MENU_ITEM="menu-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_MENU_TOGGLE$1='[data-bs-toggle="menu"]',Default$2={rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("menu-item")){const t=e.closest(".menu")?.previousElementSibling;return void(t?.matches(SELECTOR_MENU_TOGGLE$1)&&t.classList.add("active"))}for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",SELECTOR_MENU_TOGGLE='[data-bs-toggle="menu"]',SELECTOR_MENU=".menu",NOT_SELECTOR_MENU_TOGGLE=`:not(${SELECTOR_MENU_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role="tab"]${NOT_SELECTOR_MENU_TOGGLE}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleMenu(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleMenu(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleMenu(e,t){const n=this._getOuterElement(e),i=SelectorEngine.findOne(SELECTOR_MENU_TOGGLE,n);if(!i)return;const s=SelectorEngine.findOne(".menu",n);i.classList.toggle("active",t),s&&s.classList.toggle("show",t),i.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,ChipInput,Collapse,Combobox,Datepicker,Dialog,Menu,NavOverflow,Offcanvas,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
+var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the "init()" method first.',notLocale:"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».",incorrectTime:"The value of the time property can be: false, 12 or 24.",incorrectMonthsCount:"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1."},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,i,s,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(i=null==(n=e.context.inputElement)?void 0:n.replaceWith)||i.call(n,e.context.originalElement),setContext(e,"inputElement",void 0)):null==(o=(s=e.context.mainElement).replaceWith)||o.call(s,e.context.originalElement),setContext(e,"mainElement",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR="data-vc-prev-tabindex",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute("tabindex");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:"")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);""===t||null===t?e.removeAttribute("tabindex"):e.setAttribute("tabindex",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden="",setContext(e,"isShowInInputMode",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach(e=>e()),setContext(e,"cleanupHandlers",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)&&(("function"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:i,left:s}=getOffset(e),{vh:o,vw:a}=getViewportDimensions(),l=i-t,r=s-n;return{top:l,bottom:o-(l+e.clientHeight),left:r,right:a-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const i={top:!0,bottom:!0,left:!0,right:!0},s=[];if(!t||!e)return{canShow:i,parentPositions:s};const{bottom:o,top:a}=calculateAvailableSpace(e),{top:l,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:h}=getViewportDimensions(),m=h/2,_=u/2;return[{condition:l<_,position:"top"},{condition:l>_,position:"bottom"},{condition:r<m,position:"left"},{condition:r>m,position:"right"}].forEach(({condition:e,position:t})=>{e&&s.push(t)}),Object.assign(i,{top:c<=a-n,bottom:c<=o-n,left:d<=r,right:d<=h-r}),{canShow:i,parentPositions:s}}const handleDay=(e,t,n,i)=>{var s;const o=i.querySelector(`[data-vc-date="${t}"]`),a=null==o?void 0:o.querySelector("[data-vc-date-btn]");if(!o||!a)return;if((null==n?void 0:n.modifier)&&a.classList.add(...n.modifier.trim().split(" ")),!(null==n?void 0:n.html))return;const l=document.createElement("div");l.className=e.styles.datePopup,l.dataset.vcDatePopup="",l.innerHTML=e.sanitizerHTML(n.html),a.ariaExpanded="true",a.ariaLabel=`${a.ariaLabel}, ${null==(s=null==l?void 0:l.textContent)?void 0:s.replace(/^\s+|\s+(?=\s)|\s+$/g,"").replace(/&nbsp;/g," ")}`,o.appendChild(l),requestAnimationFrame(()=>{if(!l)return;const{canShow:e}=getAvailablePosition(o,l),t=e.bottom?o.offsetHeight:-l.offsetHeight,n=e.left&&!e.right?o.offsetWidth-l.offsetWidth/2:!e.left&&e.right?l.offsetWidth/2:0;Object.assign(l.style,{left:`${n}px`,top:`${t}px`})})},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach(([n,i])=>handleDay(e,n,i,t)))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,parseDates=e=>e.reduce((e,t)=>{if(t instanceof Date||"number"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\d{4}-\d{2}-\d{2})$/g)?e.push(t):t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(t,n,i)=>{const s=getDate(n),o=getDate(i),a=new Date(s.getTime());for(;a<=o;a.setDate(a.getDate()+1))e.push(getDateString(a));return t});return e},[]),updateAttribute=(e,t,n,i="")=>{t?e.setAttribute(n,i):e.getAttribute(n)===i&&e.removeAttribute(n)},setDateModifier=(e,t,n,i,s,o,a)=>{var l,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(l=e.context.disableDates)?void 0:l.includes(o))||!e.selectionMonthsMode&&"current"!==a||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,"data-vc-date-disabled"),i&&updateAttribute(i,u,"aria-disabled","true"),i&&updateAttribute(i,u,"tabindex","-1"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"data-vc-date-today"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,"aria-current","date"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(s),"data-vc-date-weekend");const h=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,h.includes(o),"data-vc-date-holiday"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute("data-vc-date-selected",""),i&&i.setAttribute("aria-selected","true"),e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute("data-vc-date-selected","first-and-last"):e.context.selectedDates[0]===o?n.setAttribute("data-vc-date-selected","first"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute("data-vc-date-selected","last"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute("data-vc-date-selected","middle"))):n.hasAttribute("data-vc-date-selected")&&(n.removeAttribute("data-vc-date-selected"),i&&i.removeAttribute("aria-selected")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&"multiple-ranged"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),i=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),s=getDate(o);updateAttribute(n,s>t&&s<i,"data-vc-date-selected","middle")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),i=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-i);const s=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+s)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const i=getWeekNumber(n,e.firstWeekday);i&&(t.dataset.vcDateWeekNumber=String(i.week))},setDaysAsDisabled=(e,t,n)=>{var i,s,o,a,l;const r=null==(i=e.disableWeekdays)?void 0:i.includes(n),c=e.disableAllDates&&!!(null==(s=e.context.enableDates)?void 0:s[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(a=e.context.disableDates)?void 0:a.includes(t))||(e.context.disableDates.push(t),null==(l=e.context.disableDates)||l.sort((e,t)=>+new Date(e)-+new Date(t)))},createDate=(e,t,n,i,s,o)=>{const a=getDate(s).getDay(),l="string"==typeof e.locale&&e.locale.length?e.locale:"en",r=document.createElement("div");let c;r.className=e.styles.date,r.dataset.vcDate=s,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(a),r.role="gridcell",("current"===o||e.displayDatesOutside)&&(c=document.createElement("button"),c.className=e.styles.dateBtn,c.type="button",c.ariaLabel=getLocaleString(s,l,{dateStyle:"long",timeZone:"UTC"}),c.dataset.vcDateBtn="",c.innerText=String(i),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,s),setDaysAsDisabled(e,s,a),setDateModifier(e,t,r,c,a,s,o),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,i,s)=>{for(let o=1;o<=n;o++){const n=new Date(i,s,o);createDate(e,i,t,o,getDateString(n),"current")}},createDatesFromNextMonth=(e,t,n,i,s)=>{const o=s+1===12?i+1:i,a=s+1===12?"01":s+2<10?`0${s+2}`:s+2;for(let s=1;s<=n;s++){const n=s<10?`0${s}`:String(s);createDate(e,i,t,s,`${o}-${a}-${n}`,"next")}},createDatesFromPrevMonth=(e,t,n,i,s)=>{let o=new Date(n,i,0).getDate()-(s-1);const a=0===i?n-1:n,l=0===i?12:i<10?`0${i}`:i;for(let i=s;i>0;i--,o++)createDate(e,n,t,o,`${a}-${l}-${o}`,"prev")},createWeekNumbers=(e,t,n,i,s)=>{if(!e.enableWeekNumbers)return;i.textContent="";const o=document.createElement("b");o.className=e.styles.weekNumbersTitle,o.innerText="#",o.dataset.vcWeekNumbers="title",i.appendChild(o);const a=document.createElement("div");a.className=e.styles.weekNumbersContent,a.dataset.vcWeekNumbers="content",i.appendChild(a);const l=document.createElement("button");l.type="button",l.className=e.styles.weekNumber;const r=s.querySelectorAll("[data-vc-date]"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,i=getWeekNumber(n,e.firstWeekday);if(!i)return;const s=l.cloneNode(!0);s.innerText=String(i.week),s.dataset.vcWeekNumber=String(i.week),s.dataset.vcWeekYear=String(i.year),s.role="rowheader",s.ariaLabel=`${i.week}`,a.appendChild(s)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc="dates"]'),i=e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');n.forEach((n,s)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=""),n.textContent="";const o=new Date(t);o.setMonth(o.getMonth()+s);const a=o.getMonth(),l=o.getFullYear(),r=(new Date(l,a,1).getDay()-e.firstWeekday+7)%7,c=new Date(l,a+1,0).getDate(),d=r+c,u=Math.ceil(d/7),h=7*u-d,m=[];for(let t=0;t<u;t++){const t=document.createElement("div");t.className=e.styles.datesRow,t.setAttribute("data-vc-dates","row"),t.setAttribute("role","row"),m.push(t)}let _=0,g=0;const p={addDate:e=>{m[_].appendChild(e),g++,g>=7&&(_++,g=0)}};createDatesFromPrevMonth(e,p,l,a,r),createDatesFromCurrentMonth(e,p,c,l,a),createDatesFromNextMonth(e,p,h,l,a);for(const e of m)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,i[s],n)})},layoutDefault=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <#WeekNumbers />\n    <div class="${e.styles.content}" data-vc="content" role="grid">\n      <#Week />\n      <#Dates />\n      <#DateRangeTooltip />\n    </div>\n  </div>\n  <#ControlTime />\n`,layoutMonths=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Months />\n    </div>\n  </div>\n`,layoutMultiple=e=>`\n  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [month] />\n    <#ArrowNext [month] />\n  </div>\n  <div class="${e.styles.grid}" data-vc="grid">\n    <#Multiple>\n      <div class="${e.styles.column}" data-vc="column" role="region">\n        <div class="${e.styles.header}" data-vc="header">\n          <div class="${e.styles.headerContent}" data-vc-header="content">\n            <#Month />\n            <#Year />\n          </div>\n        </div>\n        <div class="${e.styles.wrapper}" data-vc="wrapper">\n          <#WeekNumbers />\n          <div class="${e.styles.content}" data-vc="content" role="grid">\n            <#Week />\n            <#Dates />\n          </div>\n        </div>\n      </div>\n    <#/Multiple>\n    <#DateRangeTooltip />\n  </div>\n  <#ControlTime />\n`,layoutYears=e=>`\n  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">\n    <#ArrowPrev [year] />\n    <div class="${e.styles.headerContent}" data-vc-header="content">\n      <#Month />\n      <#Year />\n    </div>\n    <#ArrowNext [year] />\n  </div>\n  <div class="${e.styles.wrapper}" data-vc="wrapper">\n    <div class="${e.styles.content}" data-vc="content">\n      <#Years />\n    </div>\n  </div>\n`,ArrowNext=(e,t)=>`<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`,ArrowPrev=(e,t)=>`<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>`:"",Dates=e=>`<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple"===e.type?"aria-multiselectable":""}></div>`,Month=e=>`<button type="button" class="${e.styles.month}" data-vc="month"></button>`,Months=e=>`<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`,Week=e=>`<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>`:"",Year=e=>`<button type="button" class="${e.styles.year}" data-vc="year"></button>`,Years=e=>`<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(t,n)=>{const i=(n.match(/\[(.*?)\]/)||[])[1],s=n.replace(/[/\s\n\t]|\[(.*?)\]/g,""),o=getComponent(s),a=o?o(e,null!=i?i:null):"";return e.sanitizerHTML(a)}).replace(/[\n\t]/g,""),parseMultipleLayout=(e,t)=>t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>","gs"),(t,n)=>{const i=Array(e.context.displayMonthsCount).fill(n).join("");return e.sanitizerHTML(i)}).replace(/[\n\t]/g,""),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach(t=>{const i=t;e.layouts[i].length||(e.layouts[i]=n[i](e))}),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc="calendar",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role="application",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,"multiple"!==e.context.currentType){if("multiple"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc="controls"]'),i=e.context.mainElement.querySelector('[data-vc="grid"]'),s=t.closest('[data-vc="column"]');return n&&n.remove(),i&&(i.dataset.vcGrid="hidden"),s&&(s.dataset.vcColumn=e.context.currentType),void(s&&(s.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,i)=>{e.style.visibility=n?"hidden":"",t.style.visibility=i?"hidden":""},handleDefaultType=(e,t,n)=>{const i=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),s=new Date(i.getTime()),o=new Date(i.getTime());s.setMonth(s.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax);e.selectionYearsMode||(a.setFullYear(i.getFullYear()),l.setFullYear(i.getFullYear()));const r=!e.selectionMonthsMode||s.getFullYear()<a.getFullYear()||s.getFullYear()===a.getFullYear()&&s.getMonth()<a.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>l.getFullYear()||o.getFullYear()===l.getFullYear()&&o.getMonth()>l.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=!!(i.getFullYear()&&e.context.displayYear-7<=i.getFullYear()),a=!!(s.getFullYear()&&e.context.displayYear+7>=s.getFullYear());setVisibilityArrows(t,n,o,a)},visibilityArrows=e=>{if("month"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow="prev"]'),n=e.context.mainElement.querySelector('[data-vc-arrow="next"]');t&&n&&{default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)}["multiple"===e.context.currentType?"default":e.context.currentType]()},visibilityHandler=(e,t,n,i,s)=>{const o=new Date(i.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),a=new Date(i.setMonth(e.context.selectedMonth+n)).getMonth(),l=e.context.locale.months.long[a],r=t.closest('[data-vc="column"]');r&&(r.ariaLabel=`${l} ${o}`);const c={month:{id:a,label:l},year:{id:o,label:o}};t.innerText=String(c[s].label),t.dataset[`vc${s.charAt(0).toUpperCase()+s.slice(1)}`]=String(c[s].id),t.ariaLabel=`${e.labels[s]} ${c[s].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[s]||"only-arrows"===d[s];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc="month"]'),n=e.context.mainElement.querySelectorAll('[data-vc="year"]'),i=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach(t=>null==t?void 0:t.forEach((t,n)=>visibilityHandler(e,t,n,i,t.dataset.vc)))},setYearModifier=(e,t,n,i,s)=>{var o;const a={month:{selected:"data-vc-months-month-selected",aria:"aria-selected",value:"vcMonthsMonth",selectedProperty:"selectedMonth"},year:{selected:"data-vc-years-year-selected",aria:"aria-selected",value:"vcYearsYear",selectedProperty:"selectedYear"}};s&&(null==(o=e.context.mainElement.querySelectorAll({month:"[data-vc-months-month]",year:"[data-vc-years-year]"}[n]))||o.forEach(e=>{e.removeAttribute(a[n].selected),e.removeAttribute(a[n].aria)}),setContext(e,a[n].selectedProperty,Number(t.dataset[a[n].value])),visibilityTitle(e),"year"===n&&visibilityArrows(e)),i&&(t.setAttribute(a[n].selected,""),t.setAttribute(a[n].aria,"true"))},getColumnID=(e,t)=>{var n;if("multiple"!==e.type)return{currentValue:null,columnID:0};const i=e.context.mainElement.querySelectorAll('[data-vc="column"]'),s=Array.from(i).findIndex(e=>e.closest(`[data-vc-column="${t}"]`));return{currentValue:s>=0?Number(null==(n=i[s].querySelector(`[data-vc="${t}"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(s,0)}},createMonthEl=(e,t,n,i,s,o,a)=>{const l=t.cloneNode(!1);return l.className=e.styles.monthsMonth,l.innerText=i,l.ariaLabel=s,l.role="gridcell",l.dataset.vcMonthsMonth=`${a}`,o&&(l.ariaDisabled="true"),o&&(l.tabIndex=-1),l.disabled=o,setYearModifier(e,l,"month",n===a,!1),l},createMonths=(e,t)=>{var n,i;const s=null==(n=null==t?void 0:t.closest('[data-vc="header"]'))?void 0:n.querySelector('[data-vc="year"]'),o=s?Number(s.dataset.vcYear):e.context.selectedYear,a=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,"currentType","month"),createLayouts(e,t),visibilityTitle(e);const l=e.context.mainElement.querySelector('[data-vc="months"]');if(!e.selectionMonthsMode||!l)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map((t,n)=>a-e.monthsToSwitch*n).concat(e.context.locale.months.long.map((t,n)=>a+e.monthsToSwitch*n)).filter(e=>e>=0&&e<=12):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),i=getDate(e.context.dateMax),s=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,"month"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=i.getFullYear()&&t>i.getMonth()-s+d||o>i.getFullYear()||t!==a&&!r.includes(t),h=createMonthEl(e,c,a,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);l.appendChild(h),e.onCreateMonthEls&&e.onCreateMonthEls(e,h)}null==(i=e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])"))||i.focus()},TimeInput=(e,t,n,i,s)=>`\n  <label class="${t}" data-vc-time-input="${e}">\n    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${i}" ${s?"disabled":""}>\n  </label>\n`,TimeRange=(e,t,n,i,s,o,a)=>`\n  <label class="${t}" data-vc-time-range="${e}">\n    <input type="range" name="${e}" min="${i}" max="${s}" step="${o}" aria-label="${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}" value="${a}">\n  </label>\n`,handleActions=(e,t,n,i)=>{({hour:()=>setContext(e,"selectedHours",n),minute:()=>setContext(e,"selectedMinutes",n)})[i](),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:""}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"00",PM:"12"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,i,s)=>{const o=o=>{const a="AM"===e.context.selectedKeeping?"PM":"AM",l=transformTime24(e.context.selectedHours,a);Number(l)<=i&&Number(l)>=s?(setContext(e,"selectedKeeping",a),n.value=l,handleActions(e,o,e.context.selectedHours,"hour"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener("click",o),()=>{t.removeEventListener("click",o)}},transformTime12=e=>({0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,i)=>{e.value=n,t.value=i},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleInput$1=(e,t,n,i,s,o,a)=>{const l={hour:(l,r,c)=>{e.selectionTimeMode&&{12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),l>12&&updateKeepingTime$1(e,i,"PM"),handleActions(e,c,transformTime12(r),s)},24:()=>{if(!(l<=o&&l>=a))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,s)}}[e.selectionTimeMode]()},minute:(i,l,r)=>{if(!(i<=o&&i>=a))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=l,t.value=l,handleActions(e,r,l,s)}},r=e=>{const t=Number(n.value),i=n.value.padStart(2,"0");l[s]&&l[s](t,i,e)};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r)}},updateInputAndTime=(e,t,n,i,s)=>{t.value=s,handleActions(e,n,s,i)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,"selectedKeeping",n),t.innerText=n)},handleRange=(e,t,n,i,s)=>{const o=o=>{const a=Number(t.value),l=t.value.padStart(2,"0"),r="hour"===s,c=24===e.selectionTimeMode,d=a>0&&a<12;r&&!c&&updateKeepingTime(e,i,0===a||d?"AM":"PM"),updateInputAndTime(e,n,o,s,!r||c||d?l:transformTime12(t.value))};return t.addEventListener("input",o),()=>{t.removeEventListener("input",o)}},handleMouseOver=e=>e.setAttribute("data-vc-input-focus",""),handleMouseOut=e=>e.removeAttribute("data-vc-input-focus"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'),i=t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'),s=t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'),o=t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'),a=t.querySelector('[data-vc-time="keeping"]');if(!(n&&i&&s&&o))return;const l=e=>{e.target===n&&handleMouseOver(s),e.target===i&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(s),e.target===i&&handleMouseOut(o)};return t.addEventListener("mouseover",l),t.addEventListener("mouseout",r),handleInput$1(e,n,s,a,"hour",e.timeMaxHour,e.timeMinHour),handleInput$1(e,i,o,a,"minute",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,s,a,"hour"),handleRange(e,i,o,a,"minute"),a&&handleClickKeepingTime(e,a,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener("mouseover",l),t.removeEventListener("mouseout",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc="time"]');if(!e.selectionTimeMode||!t)return;const[n,i]=[e.timeMinHour,e.timeMaxHour],[s,o]=[e.timeMinMinute,e.timeMaxMinute],a=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,l="range"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\n    <div class="${e.styles.timeContent}" data-vc-time="content">\n      ${TimeInput("hour",e.styles.timeHour,e.labels,e.context.selectedHours,l)}\n      ${TimeInput("minute",e.styles.timeMinute,e.labels,e.context.selectedMinutes,l)}\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${l?"disabled":""}>${r}</button>`):""}\n    </div>\n    <div class="${e.styles.timeRanges}" data-vc-time="ranges">\n      ${TimeRange("hour",e.styles.timeRange,e.labels,n,i,e.timeStepHour,a)}\n      ${TimeRange("minute",e.styles.timeRange,e.labels,s,o,e.timeStepMinute,e.context.selectedMinutes)}\n    </div>\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce((n,i,s)=>[...n,{id:s,titleShort:e.context.locale.weekdays.short[s],titleLong:i,isWeekend:t.includes(s)}],[]),i=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(t=>{const n=e.onClickWeekDay?document.createElement("button"):document.createElement("b");e.onClickWeekDay&&(n.type="button"),i.forEach(i=>{const s=n.cloneNode(!0);s.innerText=i.titleShort,s.className=e.styles.weekDay,s.role="columnheader",s.ariaLabel=i.titleLong,s.dataset.vcWeekDay=String(i.id),i.isWeekend&&(s.dataset.vcWeekDayOff=""),t.appendChild(s)})})},createYearEl=(e,t,n,i,s)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(s),o.ariaLabel=String(s),o.role="gridcell",o.dataset.vcYearsYear=`${s}`,i&&(o.ariaDisabled="true"),i&&(o.tabIndex=-1),o.disabled=i,setYearModifier(e,o,"year",n===s,!1),o},createYears=(e,t)=>{var n;const i=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,"currentType","year"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const s=e.context.mainElement.querySelector('[data-vc="years"]');if(!e.selectionYearsMode||!s)return;const o="multiple"!==e.type||e.context.selectedYear===i?0:1,a=document.createElement("button");a.type="button";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),l=createYearEl(e,a,i,n,t);s.appendChild(l),e.onCreateYearEls&&e.onCreateYearEls(e,l)}null==(n=e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver(e=>{for(let i=0;i<e.length;i++)if(e[i].attributeName===t){n();break}}).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?"dark":"light"),"system"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc="calendar"]');null==t||t.forEach(t=>setTheme(t,e.matches?"dark":"light"))};t.addEventListener?t.addEventListener("change",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,i=e.themeAttrDetect.replace(/^.*\[(.+)\]/g,(e,t)=>t);if(!n||"system"===n.getAttribute(i))return void trackChangesThemeInSystemSettings(e,t);const s=n.getAttribute(i);s?(setTheme(e.context.mainElement,s),trackChangesHTMLElement(n,i,()=>{const t=n.getAttribute(i);t&&setTheme(e.context.mainElement,t)})):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{"not all"!==window.matchMedia("(prefers-color-scheme)").media?"system"===e.selectedTheme?detectTheme(e,window.matchMedia("(prefers-color-scheme: dark)")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,"light")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\./,""),getLocaleWeekday=(e,t,n)=>{const i=new Date(`1978-01-0${t+1}T00:00:00.000Z`),s=i.toLocaleString(n,{weekday:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{weekday:"long",timeZone:"UTC"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(s)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const i=new Date(`1978-${String(t+1).padStart(2,"0")}-01T00:00:00.000Z`),s=i.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=i.toLocaleString(n,{month:"long",timeZone:"UTC"});e.context.locale.months.short.push(capitalizeFirstLetter(s)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,i,s,o,a,l,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if("string"==typeof e.locale){if("string"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},(t,n)=>getLocaleWeekday(e,n,e.locale)),Array.from({length:12},(t,n)=>getLocaleMonth(e,n,e.locale))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(s=null==(i=e.locale)?void 0:i.weekdays)?void 0:s.long[6])&&(null==(a=null==(o=e.locale)?void 0:o.months)?void 0:a.short[11])&&(null==(r=null==(l=e.locale)?void 0:l.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,"locale",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const i=t.target;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)||"button"!==i.localName)return;const s=Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')),o=s.indexOf(i);if(-1===o)return;const a=(l=s[o]).hasAttribute("data-vc-date-btn")?7:l.hasAttribute("data-vc-months-month")?4:l.hasAttribute("data-vc-years-year")?5:1;var l;const r=(0,{ArrowUp:()=>Math.max(0,o-a),ArrowDown:()=>Math.min(s.length-1,o+a),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(s.length-1,o+1)}[t.key])();null==(n=s[r])||n.focus()};return e.context.mainElement.addEventListener("keydown",t),()=>e.context.mainElement.removeEventListener("keydown",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,"selectedMonth",n.getMonth()),setContext(e,"selectedYear",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest("[data-vc-arrow]");if(n){if(["default","multiple"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if("year"===e.context.currentType&&void 0!==e.context.displayYear){const i={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,"displayYear",e.context.displayYear+i),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||("function"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const i=t.dataset.vcDate,s=t.closest("[data-vc-date][data-vc-date-selected]"),o=canToggleSelection(e);if(s&&!o)return;const a=s?e.context.selectedDates.filter(e=>e!==i):n?[...e.context.selectedDates,i]:[i];setContext(e,"selectedDates",a)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip="hidden",void(t.textContent="");const i=e.context.mainElement.getBoundingClientRect(),s=n.getBoundingClientRect();t.style.left=s.left-i.left+s.width/2+"px",t.style.top=s.bottom-i.top-s.height+"px",t.dataset.vcDateRangeTooltip="visible",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,s,i))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var i,s,o;if(!(null==(s=null==(i=state.self)?void 0:i.context)?void 0:s.selectedDates[0]))return;const a=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(a))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date="${a}"]`).forEach(e=>e.dataset.vcDateHover=""),t.forEach(e=>e.dataset.vcDateHover="first"),n.forEach(e=>{"first"===e.dataset.vcDateHover?e.dataset.vcDateHover="first-and-last":e.dataset.vcDateHover="last"}))},removeHoverEffect=()=>{var e,t;(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement)&&state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(e=>e.removeAttribute("data-vc-date-hover"))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc="dates"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const i=e.closest("[data-vc-date]");if(!i||state.lastDateEl===i)return;state.lastDateEl=i,createDateRangeTooltip(state.self,state.tooltipEl,i),removeHoverEffect();const s=i.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),a=getDate(s),l=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`),[c,d]=o<a?[l,r]:[r,l],[u,h]=o<a?[o,a]:[a,o];for(let e=new Date(u);e<=h;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest("[data-vc-date-selected]");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame(()=>{e(n),state.isHovering=!1}))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&"Escape"===e.key&&(state.lastDateEl=null,setContext(state.self,"selectedDates",[]),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout(()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()},50)},updateDisabledDates=()=>{var e,t,n,i;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(i=state.self.context.disableDates)?void 0:i[0]))return;const s=getDate(state.self.context.selectedDates[0]),[o,a]=state.self.context.disableDates.map(e=>getDate(e)).reduce(([e,t],n)=>[s>=n?n:e,s<n&&null===t?n:t],[null,null]);o&&setContext(state.self,"displayDateMin",getDateString(new Date(o.setDate(o.getDate()+1)))),a&&setContext(state.self,"displayDateMax",getDateString(new Date(a.setDate(a.getDate()-1)))),state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,"displayDateMin",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),i=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,"selectedDates",i),e.context.selectedDates.length>1&&e.context.selectedDates.sort((e,t)=>+new Date(e)-+new Date(t))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.addEventListener("keydown",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates)}),reset:()=>{const[n,i]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],s=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${i}`]).filter(t=>!e.context.disableDates.includes(t)),a=s?e.enableEdgeDatesOnly?[n,i]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,"selectedDates",a),e.disableDatesGaps&&(setContext(e,"displayDateMin",state.rangeMin),setContext(e,"displayDateMax",state.rangeMax)),state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),state.self.context.mainElement.removeEventListener("keydown",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener("mouseleave",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener("mousemove",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener("mouseleave",handleMouseLeave)}}})[1===e.context.selectedDates.length?"set":"reset"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(t=>{const n=t.querySelector("[data-vc-date-btn]"),i=t.dataset.vcDate,s=getDate(i).getDay();setDateModifier(e,e.context.selectedYear,t,n,s,i,"current")})},handleClickDate=(e,t)=>{var n;const i=t.target,s=i.closest("[data-vc-date-btn]");if(!e.selectionDatesMode||!["single","multiple","multiple-ranged"].includes(e.selectionDatesMode)||!s)return;const o=s.closest("[data-vc-date]");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),"multiple-ranged":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort((e,t)=>+new Date(e)-+new Date(t)),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const a=i.closest('[data-vc-date-month="prev"]'),l=i.closest('[data-vc-date-month="next"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"prev"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,"next"):updateDateModifier(e),current:()=>updateDateModifier(e)})[a?"prev":l?"next":"current"]()},typeClick=["month","year"],getValue=(e,t,n)=>{const{currentValue:i,columnID:s}=getColumnID(e,t);return"month"===e.context.currentType&&s>=0?n-s:"year"===e.context.currentType&&e.context.selectedYear!==i?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,"year",Number(t.dataset.vcYearsYear)),i=getDate(e.context.dateMin),s=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:a}=getColumnID(e,"year"),l=e.context.selectedMonth<i.getMonth()&&n<=i.getFullYear(),r=e.context.selectedMonth>s.getMonth()-o+a&&n>=s.getFullYear(),c=n<i.getFullYear(),d=n>s.getFullYear(),u=l||c?i.getFullYear():r||d?s.getFullYear():n,h=l||c?i.getMonth():r||d?s.getMonth()-o+a:e.context.selectedMonth;setContext(e,"selectedYear",u),setContext(e,"selectedMonth",h)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'),i=getValue(e,"month",Number(t.dataset.vcMonthsMonth)),s=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=i<o.getMonth()&&s<=o.getFullYear(),r=i>a.getMonth()&&s>=a.getFullYear();setContext(e,"selectedYear",s),setContext(e,"selectedMonth",l?o.getMonth():r?a.getMonth():i)},handleItemClick=(e,t,n,i)=>{var s;({year:()=>{if("multiple"===e.type)return handleMultipleYearSelection(e,i);setContext(e,"selectedYear",Number(i.dataset.vcYearsYear))},month:()=>{if("multiple"===e.type)return handleMultipleMonthSelection(e,i);setContext(e,"selectedMonth",Number(i.dataset.vcMonthsMonth))}})[n](),{year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}}[n](),e.context.currentType!==e.type?(setContext(e,"currentType",e.type),create(e),null==(s=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||s.focus()):setYearModifier(e,i,n,!0,!0)},handleClickType=(e,t,n)=>{var i;const s=t.target,o=s.closest(`[data-vc="${n}"]`),a={year:()=>createYears(e,s),month:()=>createMonths(e,s)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return a[n]();const l=s.closest(`[data-vc-${n}s-${n}]`);if(l)return handleItemClick(e,t,n,l);const r=s.closest('[data-vc="grid"]'),c=s.closest('[data-vc="column"]');(e.context.currentType===n&&o||"multiple"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,"currentType",e.type),create(e),null==(i=e.context.mainElement.querySelector(`[data-vc="${n}"]`))||i.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach(i=>{n[i]&&t.target&&handleClickType(e,t,i)})},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest("[data-vc-week-number]"),i=e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");if(!n||!i[0])return;const s=Number(n.innerText),o=Number(n.dataset.vcWeekYear),a=Array.from(i).filter(e=>Number(e.dataset.vcDateWeekNumber)===s);e.onClickWeekNumber(e,s,o,a,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest("[data-vc-week-day]"),i=t.target.closest('[data-vc="column"]'),s=i?i.querySelectorAll("[data-vc-date-week-day]"):e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");if(!n||!s[0])return;const o=Number(n.dataset.vcWeekDay),a=Array.from(s).filter(e=>Number(e.dataset.vcDateWeekDay)===o);e.onClickWeekDay(e,o,a,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener("click",t),()=>e.context.mainElement.removeEventListener("click",t)},initMonthsCount=e=>{if("multiple"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if("multiple"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,"displayMonthsCount",e.displayMonthsCount?e.displayMonthsCount:"multiple"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>"today"===e?getLocalDate():e instanceof Date||"number"==typeof e||"string"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,i;const s=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),a=resolveDate(e.displayDateMin,s),l=resolveDate(e.displayDateMax,o);setContext(e,"dateToday",resolveDate(e.dateToday,e.dateToday)),setContext(e,"displayDateMin",a?getDate(s)>=getDate(a)?s:a:s),setContext(e,"displayDateMax",l?getDate(o)<=getDate(l)?o:l:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(a)<getDate(e.context.dateToday);setContext(e,"displayDateMin",r||e.disableAllDates?e.context.dateToday:a),setContext(e,"displayDateMax",e.disableAllDates?e.context.dateToday:l),setContext(e,"disableDates",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort((e,t)=>+new Date(e)-+new Date(t)),setContext(e,"enableDates",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,"disableDates",e.context.disableDates.filter(t=>!e.context.enableDates.includes(t))),e.context.enableDates.length>1&&e.context.enableDates.sort((e,t)=>+new Date(e)-+new Date(t)),(null==(i=e.context.enableDates)?void 0:i[0])&&e.disableAllDates&&(setContext(e,"displayDateMin",e.context.enableDates[0]),setContext(e,"displayDateMax",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,"dateMin",e.displayDisabledDates?s:e.context.displayDateMin),setContext(e,"dateMax",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,"selectedDates",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&"today"!==e.displayDateMin&&(n=e.displayDateMin,i=new Date,new Date(n).getTime()>i.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,i;if(e.displayDateMax&&"today"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,"selectedMonth",t),setContext(e,"selectedYear",n),setContext(e,"displayYear",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,i=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),i?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,i;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const s=12===e.selectionTimeMode,o=s?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[a,l,r]=null!=(i=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?i:[];a?s&&!r&&(r="AM"):(a=s?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),l=String(e.timeMinMinute),r=s?Number(transformTime12(String(e.timeMinHour)))>=12?"PM":"AM":null),setContext(e,"selectedHours",a.padStart(2,"0")),setContext(e,"selectedMinutes",l.padStart(2,"0")),setContext(e,"selectedKeeping",r),setContext(e,"selectedTime",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:""}`)},initAllVariables=e=>{setContext(e,"currentType",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:i,time:s,locale:o},a=!0)=>{var l;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=s?r.time:e.context.selectedTime,e.selectedDates="only-first"===i&&(null==(l=e.context.selectedDates)?void 0:l[0])?[e.context.selectedDates[0]]:!0===i?r.dates:e.context.selectedDates,o&&setContext(e,"locale",{months:{short:[],long:[]},weekdays:{short:[],long:[]}}),initAllVariables(e),a&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,"multiple-ranged"===e.selectionDatesMode&&i&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement("div");return t.className=e.styles.calendar,t.dataset.vc="calendar",t.dataset.vcInput="",t.dataset.vcCalendarHidden="",setContext(e,"inputModeInit",!0),setContext(e,"isShowInInputMode",!1),setContext(e,"mainElement",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout(()=>show(e)),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,"inputElement",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout(()=>show(e)):createToInput(e)};e.context.inputElement.addEventListener("click",t);const n="function"==typeof e.openOnFocus||!0===e.openOnFocus,i=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener("focus",i);const s=t=>{const n="Tab"===t.key&&!t.shiftKey,i=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key);(n||i)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const i=e=>e.tabIndex>=0&&!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"),s=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>i(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:i(e.context.mainElement)?e.context.mainElement:null;!s||s.tabIndex<0||(t.preventDefault(),s.focus())})(t)};return e.context.inputElement.addEventListener("keydown",s),()=>{e.context.inputElement.removeEventListener("click",t),n&&e.context.inputElement.removeEventListener("focus",i),e.context.inputElement.removeEventListener("keydown",s)}},init=e=>(setContext(e,"originalElement",e.context.mainElement.cloneNode(!0)),setContext(e,"isInit",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let i=0;i<n.length;i++){const s=n[i];"object"!=typeof e[s]||"object"!=typeof t[s]||t[s]instanceof Date||Array.isArray(t[s])?void 0!==t[s]&&(e[s]=t[s]):replaceProperties(e[s],t[s])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n="left";if(!t||!e)return n;const{canShow:i,parentPositions:s}=getAvailablePosition(e,t),o=i.left&&i.right;return(o&&i.bottom?"center":o&&i.top?["top","center"]:Array.isArray(s)?["bottom"===s[0]?"top":"bottom",...s.slice(1)]:s)||n}const setPosition=(e,t,n)=>{if(!e)return;const i="auto"===n?findBestPickerPosition(e,t):n,s={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(i)?i[0]:"bottom",a=Array.isArray(i)?i[1]:i;t.dataset.vcPosition=o;const{top:l,left:r}=getOffset(e),c=l+s[o];let d=r+s[a];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,"cleanupHandlers",[]),setContext(e,"isShowInInputMode",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute("data-vc-calendar-hidden");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener("resize",t),e.context.cleanupHandlers.push(()=>window.removeEventListener("resize",t));const n=t=>{"Escape"===t.key&&hide(e)};document.addEventListener("keydown",n),e.context.cleanupHandlers.push(()=>document.removeEventListener("keydown",n));const i=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener("click",i,{capture:!0}),e.context.cleanupHandlers.push(()=>document.removeEventListener("click",i,{capture:!0})),e.onShow&&e.onShow(e)},labels={application:"Calendar",navigation:"Calendar Navigation",arrowNext:{month:"Next month",year:"Next list of years"},arrowPrev:{month:"Previous month",year:"Previous list of years"},month:"Select month, current selected month:",months:"List of months",year:"Select year, current selected year:",years:"List of years",week:"Days of the week",weekNumber:"Numbers of weeks in a year",dates:"Dates in the current month",selectingTime:"Selecting a time ",inputHour:"Hours",inputMinute:"Minutes",rangeHour:"Slider for selecting hours",rangeMinute:"Slider for selecting minutes",btnKeeping:"Switch AM/PM, current position:"},styles={calendar:"vc",controls:"vc-controls",grid:"vc-grid",column:"vc-column",header:"vc-header",headerContent:"vc-header__content",month:"vc-month",year:"vc-year",arrowPrev:"vc-arrow vc-arrow_prev",arrowNext:"vc-arrow vc-arrow_next",wrapper:"vc-wrapper",content:"vc-content",months:"vc-months",monthsMonth:"vc-months__month",years:"vc-years",yearsYear:"vc-years__year",week:"vc-week",weekDay:"vc-week__day",weekNumbers:"vc-week-numbers",weekNumbersTitle:"vc-week-numbers__title",weekNumbersContent:"vc-week-numbers__content",weekNumber:"vc-week-number",dates:"vc-dates",datesRow:"vc-dates__row",date:"vc-date",dateBtn:"vc-date__btn",datePopup:"vc-date__popup",dateRangeTooltip:"vc-date-range-tooltip",time:"vc-time",timeContent:"vc-time__content",timeHour:"vc-time__hour",timeMinute:"vc-time__minute",timeKeeping:"vc-time__keeping",timeRanges:"vc-time__ranges",timeRange:"vc-time__range"};class OptionsCalendar{constructor(){__publicField(this,"type","default"),__publicField(this,"inputMode",!1),__publicField(this,"openOnFocus",!0),__publicField(this,"positionToInput","left"),__publicField(this,"firstWeekday",1),__publicField(this,"monthsToSwitch",1),__publicField(this,"themeAttrDetect","html[data-theme]"),__publicField(this,"locale","en"),__publicField(this,"dateToday","today"),__publicField(this,"dateMin","1970-01-01"),__publicField(this,"dateMax","2470-12-31"),__publicField(this,"displayDateMin"),__publicField(this,"displayDateMax"),__publicField(this,"displayDatesOutside",!0),__publicField(this,"displayDisabledDates",!1),__publicField(this,"displayMonthsCount"),__publicField(this,"disableDates",[]),__publicField(this,"disableAllDates",!1),__publicField(this,"disableDatesPast",!1),__publicField(this,"disableDatesGaps",!1),__publicField(this,"disableWeekdays",[]),__publicField(this,"disableToday",!1),__publicField(this,"enableDates",[]),__publicField(this,"enableEdgeDatesOnly",!0),__publicField(this,"enableDateToggle",!0),__publicField(this,"enableWeekNumbers",!1),__publicField(this,"enableMonthChangeOnDayClick",!0),__publicField(this,"enableJumpToSelectedDate",!1),__publicField(this,"selectionDatesMode","single"),__publicField(this,"selectionMonthsMode",!0),__publicField(this,"selectionYearsMode",!0),__publicField(this,"selectionTimeMode",!1),__publicField(this,"selectedDates",[]),__publicField(this,"selectedMonth"),__publicField(this,"selectedYear"),__publicField(this,"selectedHolidays",[]),__publicField(this,"selectedWeekends",[0,6]),__publicField(this,"selectedTime"),__publicField(this,"selectedTheme","system"),__publicField(this,"timeMinHour",0),__publicField(this,"timeMaxHour",23),__publicField(this,"timeMinMinute",0),__publicField(this,"timeMaxMinute",59),__publicField(this,"timeControls","all"),__publicField(this,"timeStepHour",1),__publicField(this,"timeStepMinute",1),__publicField(this,"sanitizerHTML",e=>e),__publicField(this,"onClickDate"),__publicField(this,"onClickWeekDay"),__publicField(this,"onClickWeekNumber"),__publicField(this,"onClickTitle"),__publicField(this,"onClickMonth"),__publicField(this,"onClickYear"),__publicField(this,"onClickArrow"),__publicField(this,"onChangeTime"),__publicField(this,"onChangeToInput"),__publicField(this,"onCreateDateRangeTooltip"),__publicField(this,"onCreateDateEls"),__publicField(this,"onCreateMonthEls"),__publicField(this,"onCreateYearEls"),__publicField(this,"onInit"),__publicField(this,"onUpdate"),__publicField(this,"onDestroy"),__publicField(this,"onShow"),__publicField(this,"onHide"),__publicField(this,"popups",{}),__publicField(this,"labels",__spreadValues({},labels)),__publicField(this,"layouts",{default:"",multiple:"",month:"",year:""}),__publicField(this,"styles",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var i;super(),__publicField(this,"init",()=>init(this)),__publicField(this,"update",e=>update(this,e)),__publicField(this,"destroy",()=>destroy(this)),__publicField(this,"show",()=>show(this)),__publicField(this,"hide",()=>hide(this)),__publicField(this,"set",(e,t)=>set(this,e,t)),__publicField(this,"context"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,"mainElement","string"==typeof t?null!=(i=e.memoizedElements.get(t))?i:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,"memoizedElements",new Map);let Calendar=_Calendar;const NAME$d="datepicker",DATA_KEY$a="bs.datepicker",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$6=".data-api",EVENT_CHANGE$1=`change${EVENT_KEY$a}`,EVENT_SHOW$4=`show${EVENT_KEY$a}`,EVENT_SHOWN$3=`shown${EVENT_KEY$a}`,EVENT_HIDE$3=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$a}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$a}.data-api`,SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$c={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$c={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$4).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$3))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$5)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE$1,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,i]=e.split("-");return new Date(t,n-1,i)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:i}=this._config;return"function"==typeof i?i(t,n):i&&"object"==typeof i?new Intl.DateTimeFormat(n,i).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" – ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$6,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$a}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$6}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const CLASS_NAME_OPEN="dialog-open";class DialogBase extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._openedAsModal=!1,this._addDialogListeners()}static get NAME(){return"dialogbase"}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){if(this._element.open||this._isTransitioning)return;if(EventHandler.trigger(this._element,this.constructor.eventName("show"),{relatedTarget:e}).defaultPrevented)return;this._isTransitioning=!0,this._onBeforeShow();const{modal:t,preventBodyScroll:n}=this._getShowOptions();this._showElement({modal:t,preventBodyScroll:n}),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,this.constructor.eventName("shown"),{relatedTarget:e})},this._element,this._isAnimated())}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented||(this._isTransitioning=!0,this._hideElement(),this._onAfterHide(),this._queueCallback(()=>{this._element.classList.remove("hiding"),this._isTransitioning=!1,EventHandler.trigger(this._element,this.constructor.eventName("hidden"))},this._element,this._isAnimated())))}_getShowOptions(){return{modal:!0,preventBodyScroll:!0}}_onBeforeShow(){}_onAfterHide(){}_isAnimated(){return!this._element.classList.contains(this._getInstantClassName())}_getInstantClassName(){return"dialog-instant"}_getStaticClassName(){return"dialog-static"}_onCancel(){}_showElement({modal:e=!0,preventBodyScroll:t=!0}={}){this._openedAsModal=e,e?this._element.showModal():this._element.show(),t&&document.body.classList.add("dialog-open")}_hideElement(){this._hideChildComponents(),this._element.classList.add("hiding"),this._element.close(),this._openedAsModal=!1,document.querySelector("dialog[open]:modal")||document.body.classList.remove("dialog-open")}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,this.constructor.eventName("hidePrevented")).defaultPrevented)return;const e=this._getStaticClassName();this._element.classList.add(e),this._queueCallback(()=>{this._element.classList.remove(e)},this._element)}_hideChildComponents(){for(const e of SelectorEngine.find('[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]',this._element)){const t=Data.getAny(e);t&&"function"==typeof t.hide&&t.hide()}for(const e of SelectorEngine.find(".toast.show",this._element)){const t=Data.getAny(e);t&&"function"==typeof t.hide&&t.hide()}}_addDialogListeners(){const e=this.constructor.EVENT_KEY;EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(this._onCancel(),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,`keydown${e}`,e=>{"Escape"!==e.key||this._openedAsModal||(e.preventDefault(),this._config.keyboard&&(this._onCancel(),this.hide()))}),EventHandler.on(this._element,`click${e}`,e=>{e.target===this._element&&this._openedAsModal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}const NAME$c="dialog",DATA_KEY$9="bs.dialog",EVENT_KEY$9=`.${DATA_KEY$9}`,DATA_API_KEY$5=".data-api",EVENT_SHOW$3=`show${EVENT_KEY$9}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$9}`,EVENT_CANCEL=`cancel${EVENT_KEY$9}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$9}.data-api`,CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',Default$b={backdrop:!0,keyboard:!0,modal:!0},DefaultType$b={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends DialogBase{static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}handleUpdate(){}_getShowOptions(){return{modal:this._config.modal,preventBodyScroll:this._config.modal}}_onBeforeShow(){this._config.modal||this._element.classList.add("dialog-nonmodal")}_onAfterHide(){this._element.classList.remove("dialog-nonmodal")}_onCancel(){EventHandler.trigger(this._element,EVENT_CANCEL)}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$3,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),i=this.closest("dialog[open]");if(i&&i!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(i);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const NAME$b="navoverflow",DATA_KEY$8="bs.navoverflow",EVENT_KEY$8=`.${DATA_KEY$8}`,EVENT_UPDATE=`update${EVENT_KEY$8}`,EVENT_OVERFLOW=`overflow${EVENT_KEY$8}`,CLASS_NAME_OVERFLOW="nav-overflow",CLASS_NAME_OVERFLOW_MENU="nav-overflow-menu",CLASS_NAME_HIDDEN="d-none",SELECTOR_NAV_ITEM=".nav-item",SELECTOR_NAV_LINK=".nav-link",SELECTOR_OVERFLOW_TOGGLE=".nav-overflow-toggle",SELECTOR_OVERFLOW_MENU=".nav-overflow-menu",SELECTOR_CUSTOM_ICON="[data-bs-overflow-icon]",CLASS_NAME_KEEP="nav-overflow-keep",Default$a={collapseBelow:0,iconPlacement:"start",menuPlacement:"bottom-end",moreText:"More",moreIcon:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',threshold:0},DefaultType$a={collapseBelow:"(number|string)",iconPlacement:"string",menuPlacement:"string",moreText:"string",moreIcon:"string",threshold:"number"};class NavOverflow extends BaseComponent{constructor(e,t){super(e,t),this._items=[],this._overflowItems=[],this._overflowMenu=null,this._overflowToggle=null,this._resizeObserver=null,this._collapseBelow=0,this._isInitialized=!1,this._init()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}update(){this._calculateOverflow(),EventHandler.trigger(this._element,EVENT_UPDATE)}dispose(){this._resizeObserver&&this._resizeObserver.disconnect(),this._restoreItems(),this._overflowToggle&&this._overflowToggle.parentElement&&this._overflowToggle.parentElement.remove(),super.dispose()}_init(){this._element.classList.add("nav-overflow"),this._items=[...SelectorEngine.find(".nav-item",this._element)];for(const[e,t]of this._items.entries())t.dataset.bsNavOrder=e;this._collapseBelow=this._resolveCollapseBelow(),this._createOverflowMenu(),this._setupResizeObserver(),this._calculateOverflow(),this._isInitialized=!0}_createOverflowMenu(){if(this._overflowToggle=SelectorEngine.findOne(".nav-overflow-toggle",this._element),this._overflowToggle)return void(this._overflowMenu=SelectorEngine.findOne(".nav-overflow-menu",this._element));const e=`<span class="nav-overflow-icon">${this._resolveIcon()}</span>`,t=`<span class="nav-overflow-text">${this._config.moreText}</span>`,n="end"===this._config.iconPlacement?`${t}${e}`:`${e}${t}`,i=document.createElement("li");i.className="nav-item nav-overflow-item",i.innerHTML=`\n      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="${this._config.menuPlacement}" aria-expanded="false">\n        ${n}\n      </button>\n      <div class="nav-overflow-menu menu"></div>\n    `,this._element.append(i),this._overflowToggle=i.querySelector(".nav-overflow-toggle"),this._overflowMenu=i.querySelector(".nav-overflow-menu")}_resolveIcon(){const e=SelectorEngine.findOne(SELECTOR_CUSTOM_ICON,this._element);if(!e)return this._config.moreIcon;const t=e.cloneNode(!0);t.removeAttribute("data-bs-overflow-icon");const n=t.outerHTML;return e.remove(),n}_resolveCollapseBelow(){const e=this._config.collapseBelow;if("number"==typeof e)return e;if("string"==typeof e&&""!==e){const t=getComputedStyle(document.documentElement).getPropertyValue(`--bs-breakpoint-${e}`);return Number.parseFloat(t)||0}return 0}_setupResizeObserver(){"undefined"!=typeof ResizeObserver?(this._resizeObserver=new ResizeObserver(()=>{this._calculateOverflow()}),this._resizeObserver.observe(this._element)):EventHandler.on(window,"resize",()=>this._calculateOverflow())}_calculateOverflow(){this._restoreItems();const e=this._element.offsetWidth,t=this._overflowToggle?.closest(".nav-item");if(this._collapseBelow>0&&e<this._collapseBelow){const e=this._items.filter(e=>!e.classList.contains(CLASS_NAME_KEEP));return this._moveToOverflow(e),t&&(e.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),void(e.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:e.length,visibleCount:this._items.length-e.length}))}let n=0;const i=[],s=e-(t?.offsetWidth||0)-10;for(const e of this._items)n+=e.offsetWidth,e.classList.contains(CLASS_NAME_KEEP)||n>s&&i.push(e);if(this._items.length-i.length<this._config.threshold&&this._items.length>this._config.threshold){const e=this._items.slice(this._config.threshold).filter(e=>!e.classList.contains(CLASS_NAME_KEEP));i.length=0,i.push(...e)}this._moveToOverflow(i),t&&(i.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),i.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:i.length,visibleCount:this._items.length-i.length})}_moveToOverflow(e){if(this._overflowMenu){this._overflowMenu.innerHTML="",this._overflowItems=[];for(const t of e){const e=SelectorEngine.findOne(".nav-link",t);if(!e)continue;const n=e.cloneNode(!0);n.className="menu-item",e.classList.contains("active")&&n.classList.add("active"),(e.classList.contains("disabled")||e.hasAttribute("disabled"))&&n.classList.add("disabled"),this._overflowMenu.append(n),t.classList.add("d-none"),t.dataset.bsNavOverflow="true",this._overflowItems.push(t)}}}_restoreItems(){for(const e of this._items)e.classList.remove("d-none"),delete e.dataset.bsNavOverflow;this._overflowMenu&&(this._overflowMenu.innerHTML=""),this._overflowItems=[]}}EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find('[data-bs-toggle="nav-overflow"]'))NavOverflow.getOrCreateInstance(e)});const NAME$a="drawer",DATA_KEY$7="bs.drawer",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$7}.data-api`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$7}`,EVENT_RESIZE=`resize${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$7}.data-api`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="drawer"]',Default$9={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$9={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Drawer extends DialogBase{constructor(e,t){super(e,t),this._swipeHelper=null}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_getShowOptions(){return{modal:Boolean(this._config.backdrop)||!this._config.scroll,preventBodyScroll:!this._config.scroll}}_onBeforeShow(){this._initSwipe()}_getInstantClassName(){return"drawer-instant"}_getStaticClassName(){return"drawer-static"}_initSwipe(){if(this._swipeHelper||!Swipe.isSupported())return;const e={},t=this._element;t.classList.contains("drawer-bottom")?e.downCallback=()=>this.hide():t.classList.contains("drawer-top")?e.upCallback=()=>this.hide():t.classList.contains("drawer-end")?isRTL$1()?e.leftCallback=()=>this.hide():e.rightCallback=()=>this.hide():isRTL$1()?e.rightCallback=()=>this.hide():e.leftCallback=()=>this.hide(),this._swipeHelper=new Swipe(t,e)}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne("dialog.drawer[open]");n&&n!==t&&Drawer.getInstance(n).hide(),Drawer.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find("dialog.drawer[open]"))Drawer.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find('dialog[open][class*="\\:drawer"]'))"fixed"!==getComputedStyle(e).position&&Drawer.getOrCreateInstance(e).hide()}),enableDismissTrigger(Drawer);const NAME$9="strength",DATA_KEY$6="bs.strength",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$6}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$8={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$8={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,i]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=i?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$6}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$8="otpInput",DATA_KEY$5="bs.otp-input",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$5}`,EVENT_INPUT=`input${EVENT_KEY$5}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$7={length:6,mask:!1},DefaultType$7={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:i}=n;if(i.length>1){const e=i.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const s=Math.min(t+e.length,this._inputs.length-1);this._inputs[s].focus()}else i&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const NAME$7="chipInput",DATA_KEY$4="bs.chip-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_ADD=`add${EVENT_KEY$4}`,EVENT_REMOVE=`remove${EVENT_KEY$4}`,EVENT_CHANGE=`change${EVENT_KEY$4}`,EVENT_SELECT=`select${EVENT_KEY$4}`,SELECTOR_DATA_CHIP_INPUT="[data-bs-chip-input]",SELECTOR_GHOST_INPUT=".form-ghost",SELECTOR_CHIP=".chip",SELECTOR_CHIP_DISMISS=".chip-dismiss",CLASS_NAME_CHIP="chip",CLASS_NAME_CHIP_DISMISS="chip-dismiss",CLASS_NAME_ACTIVE$2="active",DEFAULT_DISMISS_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>',Default$6={separator:",",allowDuplicates:!1,maxChips:null,placeholder:"",dismissible:!0,dismissIcon:DEFAULT_DISMISS_ICON,createOnBlur:!0},DefaultType$6={separator:"(string|null)",allowDuplicates:"boolean",maxChips:"(number|null)",placeholder:"string",dismissible:"boolean",dismissIcon:"string",createOnBlur:"boolean"};class ChipInput extends BaseComponent{constructor(e,t){super(e,t),this._input=SelectorEngine.findOne(".form-ghost",this._element),this._chips=[],this._selectedChips=new Set,this._anchorChip=null,this._input||this._createInput(),this._initializeExistingChips(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}add(e){const t=String(e).trim();if(!t)return null;if(!this._config.allowDuplicates&&this._chips.includes(t))return null;if(null!==this._config.maxChips&&this._chips.length>=this._config.maxChips)return null;if(EventHandler.trigger(this._element,EVENT_ADD,{value:t,relatedTarget:this._input}).defaultPrevented)return null;const n=this._createChip(t);return this._element.insertBefore(n,this._input),this._chips.push(t),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),n}remove(e){let t,n;return"string"==typeof e?(n=e,t=this._findChipByValue(n)):(t=e,n=this._getChipValue(t)),!(!t||!n)&&(!EventHandler.trigger(this._element,EVENT_REMOVE,{value:n,chip:t,relatedTarget:this._input}).defaultPrevented&&(this._selectedChips.delete(t),this._anchorChip===t&&(this._anchorChip=null),t.remove(),this._chips=this._chips.filter(e=>e!==n),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),!0))}removeSelected(){const e=[...this._selectedChips];for(const t of e)this.remove(t);this._input?.focus()}getValues(){return[...this._chips]}getSelectedValues(){return[...this._selectedChips].map(e=>this._getChipValue(e))}clear(){const e=SelectorEngine.find(".chip",this._element);for(const t of e)t.remove();this._chips=[],this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_CHANGE,{values:[]})}clearSelection(){for(const e of this._selectedChips)e.classList.remove("active");this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_SELECT,{selected:[]})}selectChip(e,t={}){const{addToSelection:n=!1,rangeSelect:i=!1}=t,s=this._getChipElements();if(s.includes(e)){if(i&&this._anchorChip){const t=s.indexOf(this._anchorChip),i=s.indexOf(e),o=Math.min(t,i),a=Math.max(t,i);n||this.clearSelection();for(let e=o;e<=a;e++)this._selectedChips.add(s[e]),s[e].classList.add("active")}else n?this._selectedChips.has(e)?(this._selectedChips.delete(e),e.classList.remove("active")):(this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e):(this.clearSelection(),this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e);EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}focus(){this._input?.focus()}_getChipElements(){return SelectorEngine.find(".chip",this._element)}_createInput(){const e=document.createElement("input");e.type="text",e.className="form-ghost",this._config.placeholder&&(e.placeholder=this._config.placeholder),this._element.append(e),this._input=e}_initializeExistingChips(){const e=SelectorEngine.find(".chip",this._element);for(const t of e){const e=this._getChipValue(t);e&&(this._chips.push(e),this._setupChip(t))}}_setupChip(e){e.setAttribute("tabindex","0"),this._config.dismissible&&!SelectorEngine.findOne(".chip-dismiss",e)&&e.append(this._createDismissButton())}_createChip(e){const t=document.createElement("span");return t.className="chip",t.dataset.bsChipValue=e,t.append(document.createTextNode(e)),this._setupChip(t),t}_createDismissButton(){const e=document.createElement("button");return e.type="button",e.className="chip-dismiss",e.setAttribute("aria-label","Remove"),e.setAttribute("tabindex","-1"),e.innerHTML=this._config.dismissIcon,e}_findChipByValue(e){return this._getChipElements().find(t=>this._getChipValue(t)===e)}_getChipValue(e){if(e.dataset.bsChipValue)return e.dataset.bsChipValue;const t=e.cloneNode(!0),n=SelectorEngine.findOne(".chip-dismiss",t);return n&&n.remove(),t.textContent?.trim()||""}_addEventListeners(){EventHandler.on(this._input,"keydown",e=>this._handleInputKeydown(e)),EventHandler.on(this._input,"input",e=>this._handleInput(e)),EventHandler.on(this._input,"paste",e=>this._handlePaste(e)),EventHandler.on(this._input,"focus",()=>this.clearSelection()),this._config.createOnBlur&&EventHandler.on(this._input,"blur",e=>{e.relatedTarget?.closest(".chip")||this._createChipFromInput()}),EventHandler.on(this._element,"click",".chip",e=>{if(e.target.closest(".chip-dismiss"))return;const t=e.target.closest(".chip");t&&(e.preventDefault(),this.selectChip(t,{addToSelection:e.metaKey||e.ctrlKey,rangeSelect:e.shiftKey}),t.focus())}),EventHandler.on(this._element,"click",".chip-dismiss",e=>{e.stopPropagation();const t=e.target.closest(".chip");t&&(this.remove(t),this._input?.focus())}),EventHandler.on(this._element,"keydown",".chip",e=>{this._handleChipKeydown(e)}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&(this.clearSelection(),this._input?.focus())})}_handleInputKeydown(e){const{key:t}=e;switch(t){case"Enter":e.preventDefault(),this._createChipFromInput();break;case"Backspace":case"Delete":if(""===this._input.value){e.preventDefault();const t=this._getChipElements();if(t.length>0){const e=t.at(-1);this.selectChip(e),e.focus()}}break;case"ArrowLeft":if(0===this._input.selectionStart&&0===this._input.selectionEnd){e.preventDefault();const t=this._getChipElements();if(t.length>0){const n=t.at(-1);e.shiftKey?this.selectChip(n,{addToSelection:!0}):this.selectChip(n),n.focus()}}break;case"Escape":this._input.value="",this.clearSelection(),this._input.blur()}}_handleChipKeydown(e){const{key:t}=e,n=e.target.closest(".chip");if(!n)return;const i=this._getChipElements(),s=i.indexOf(n);switch(t){case"Backspace":case"Delete":e.preventDefault(),this._handleChipDelete(s,i);break;case"ArrowLeft":e.preventDefault(),this._navigateChip(i,s,-1,e.shiftKey);break;case"ArrowRight":e.preventDefault(),this._navigateChip(i,s,1,e.shiftKey);break;case"Home":e.preventDefault(),this._navigateToEdge(i,0,e.shiftKey);break;case"End":case"Escape":e.preventDefault(),this.clearSelection(),this._input?.focus();break;case"a":this._handleSelectAll(e,i)}}_handleChipDelete(e,t){if(0===this._selectedChips.size)return;const n=Math.min(e,t.length-this._selectedChips.size-1);this.removeSelected();const i=this._getChipElements();if(i.length>0){const e=Math.max(0,Math.min(n,i.length-1));i[e].focus(),this.selectChip(i[e])}else this._input?.focus()}_navigateChip(e,t,n,i){const s=t+n;if(n<0&&s>=0){const t=e[s];this.selectChip(t,i?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else if(n>0&&s<e.length){const t=e[s];this.selectChip(t,i?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else n>0&&(this.clearSelection(),this._input?.focus())}_navigateToEdge(e,t,n){if(0===e.length)return;const i=e[t];this.selectChip(i,n?{rangeSelect:!0}:{}),i.focus()}_handleSelectAll(e,t){if(e.metaKey||e.ctrlKey){e.preventDefault();for(const e of t)this._selectedChips.add(e),e.classList.add("active");EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}_handleInput(e){const{value:t}=e.target,{separator:n}=this._config;if(n&&t.includes(n)){const e=t.split(n);for(const t of e.slice(0,-1))this.add(t.trim());this._input.value=e.at(-1)}}_handlePaste(e){const{separator:t}=this._config;if(!t)return;const n=(e.clipboardData||window.clipboardData).getData("text");if(n.includes(t)){e.preventDefault();const i=n.split(t);for(const e of i)this.add(e.trim())}}_createChipFromInput(){const e=this._input.value.trim();e&&(this.add(e),this._input.value="")}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-chip-input]"))ChipInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement$1(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL$1()?"left":"right",BOTTOM:"bottom",LEFT:isRTL$1()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));let{container:i}=this._config;const s=this._element.closest("dialog[open]");if(s&&i===document.body&&(i=s),this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const i=this._getFloatingMiddleware(n),s=this._getFloatingConfig(t,i),{x:o,y:a,placement:l,middlewareData:r}=await computePosition(this._element,e,s);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",l),n&&r.arrow){const{x:e,y:t}=r.arrow,i=l.startsWith("top")||l.startsWith("bottom");Object.assign(n.style,{left:i&&null!==e?`${e}px`:"",top:i||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_MENU_ITEM="menu-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_MENU_TOGGLE$1='[data-bs-toggle="menu"]',Default$2={rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("menu-item")){const t=e.closest(".menu")?.previousElementSibling;return void(t?.matches(SELECTOR_MENU_TOGGLE$1)&&t.classList.add("active"))}for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",SELECTOR_MENU_TOGGLE='[data-bs-toggle="menu"]',SELECTOR_MENU=".menu",NOT_SELECTOR_MENU_TOGGLE=`:not(${SELECTOR_MENU_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role="tab"]${NOT_SELECTOR_MENU_TOGGLE}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleMenu(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleMenu(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleMenu(e,t){const n=this._getOuterElement(e),i=SelectorEngine.findOne(SELECTOR_MENU_TOGGLE,n);if(!i)return;const s=SelectorEngine.findOne(".menu",n);i.classList.toggle("active",t),s&&s.classList.toggle("show",t),i.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,ChipInput,Collapse,Combobox,Datepicker,Dialog,Drawer,Menu,NavOverflow,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
 //# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
index e8b479e723e520a5f3c981077c0d9aee63f85595..42a4109a2e4b82e0e79701651a7abc3dc762fc85 100644 (file)
@@ -1 +1 @@
-{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","this","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","round","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","MAX_RESET_COUNT","computePosition","middleware","platformWithDetectOverflow","getElementRects","statefulPlacement","resetCount","middlewareData","i","currentMiddleware","nextX","nextY","reset","initialPlacement","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","resetPlacement","sort","a","b","_overflowsData$filter2","currentSideAxis","reduce","acc","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","display","isTableElement","isTopLayer","_e","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","css","transform","translate","scale","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","supports","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","result","assignedSlot","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","SCROLLBAR_MAX","getViewportRect","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","clippingAncestors","_c","firstRect","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","observeMove","onMove","timeoutId","io","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","IntersectionObserver","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","arrow$1","mergedOptions","platformWithCache","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","autoClose","container","floatingConfig","menu","submenuTrigger","submenuDelay","Menu","static","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","_moveMenuToContainer","_createFloating","focus","focusVisible","_openInstances","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","_updateFloatingPosition","referenceElement","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","offsetValue","_getFallbackPlacements","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","updatePosition","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","selectedItems","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","e","t","n","enumerable","writable","__spreadValues","__spreadProps","__publicField","errorMessages","notFoundSelector","notInit","notLocale","incorrectTime","incorrectMonthsCount","setContext","context","destroy","o","l","isInit","inputMode","mainElement","parentElement","removeChild","inputElement","replaceWith","originalElement","onDestroy","skipOpenOnFocus","WeakSet","shouldSkipOpenOnFocus","setSkipOpenOnFocus","clearSkipOpenOnFocus","PREV_TABINDEX_ATTR","isFocusable","tabIndex","storePrevTabIndex","restorePrevTabIndex","disableTabbing","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","nextNode","restoreTabbing","isShowInInputMode","currentType","vcCalendarHidden","cleanupHandlers","openOnFocus","onHide","getOffset","getViewportDimensions","vw","vh","innerHeight","getWindowScrollPosition","calculateAvailableSpace","s","r","getAvailablePosition","canShow","parentPositions","c","u","m","p","h","condition","handleDay","modifier","className","styles","datePopup","vcDatePopup","innerHTML","sanitizerHTML","ariaExpanded","ariaLabel","appendChild","createDatePopup","popups","getDate","getDateString","getFullYear","String","getMonth","padStart","parseDates","toISOString","substring","getTime","setDate","updateAttribute","setDateModifier","displayDateMin","displayDateMax","disableDates","selectionMonthsMode","selectionYearsMode","disableToday","dateToday","selectedWeekends","selectedHolidays","selectedDates","selectionDatesMode","enableEdgeDatesOnly","getLocaleString","toLocaleString","getWeekNumber","getDay","ceil","year","week","addWeekNumberForDate","firstWeekday","vcDateWeekNumber","setDaysAsDisabled","disableWeekdays","disableAllDates","enableDates","createDate","locale","date","vcDate","vcDateMonth","vcDateWeekDay","role","displayDatesOutside","dateBtn","dateStyle","timeZone","vcDateBtn","innerText","enableWeekNumbers","addDate","onCreateDateEls","createDatesFromCurrentMonth","createDatesFromNextMonth","createDatesFromPrevMonth","createWeekNumbers","weekNumbersTitle","vcWeekNumbers","weekNumbersContent","weekNumber","cloneNode","vcWeekNumber","vcWeekYear","createDates","selectedYear","selectedMonth","vcDatesDisabled","setMonth","datesRow","g","layoutDefault","header","labels","navigation","headerContent","wrapper","content","layoutMonths","layoutMultiple","controls","grid","column","layoutYears","ArrowNext","arrowNext","ArrowPrev","arrowPrev","ControlTime","selectionTimeMode","time","selectingTime","DateRangeTooltip","onCreateDateRangeTooltip","dateRangeTooltip","Dates","dates","Month","month","Months","months","Week","WeekNumbers","weekNumbers","Year","Years","years","components","getComponent","parseLayout","parseMultipleLayout","displayMonthsCount","fill","createLayouts","default","layouts","calendar","vc","vcType","application","vcGrid","vcColumn","setVisibilityArrows","visibility","handleDefaultType","monthsToSwitch","dateMin","dateMax","setFullYear","handleYearType","displayYear","visibilityArrows","visibilityHandler","long","visibilityTitle","setYearModifier","aria","selectedProperty","getColumnID","currentValue","columnID","findIndex","createMonthEl","monthsMonth","vcMonthsMonth","ariaDisabled","createMonths","vcYear","vcMonth","short","onCreateMonthEls","TimeInput","TimeRange","handleActions","hour","minute","selectedHours","selectedMinutes","selectedKeeping","onChangeTime","onChangeToInput","transformTime24","AM","PM","handleClickKeepingTime","btnKeeping","transformTime12","updateInputAndRange","updateKeepingTime$1","handleInput$1","updateInputAndTime","updateKeepingTime","handleRange","handleMouseOver","handleMouseOut","handleTime","timeMaxHour","timeMinHour","timeMaxMinute","timeMinMinute","createTime","timeControls","timeContent","timeHour","timeMinute","timeKeeping","timeRanges","timeRange","timeStepHour","timeStepMinute","createWeek","weekdays","titleShort","titleLong","isWeekend","onClickWeekDay","weekDay","vcWeekDay","vcWeekDayOff","createYearEl","yearsYear","vcYearsYear","createYears","onCreateYearEls","trackChangesHTMLElement","MutationObserver","attributeName","haveListener","check","setTheme","vcTheme","trackChangesThemeInSystemSettings","selectedTheme","addListener","detectTheme","themeAttrDetect","handleTheme","media","capitalizeFirstLetter","getLocaleWeekday","weekday","getLocaleMonth","getLocale","create","handleArrowKeys","localName","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","handleMonth","handleClickArrow","vcArrow","onClickArrow","resolveToggle","canToggleSelection","enableDateToggle","handleSelectDate","createDateRangeTooltip","vcDateRangeTooltip","self","lastDateEl","isHovering","rangeMin","rangeMax","tooltipEl","addHoverEffect","vcDateHover","removeHoverEffect","handleHoverDatesEvent","handleHoverSelectedDatesRangeEvent","optimizedHoverHandler","optimizedHandleHoverDatesEvent","optimizedHandleHoverSelectedDatesRangeEvent","handleCancelSelectionDates","handleMouseLeave","updateDisabledDates","disableDatesPast","handleSelectDateRange","disableDatesGaps","updateDateModifier","handleClickDate","single","multiple-ranged","onClickDate","enableMonthChangeOnDayClick","current","typeClick","getValue","handleMultipleYearSelection","handleMultipleMonthSelection","handleItemClick","onClickYear","onClickMonth","handleClickType","onClickTitle","handleClickMonthOrYear","handleClickWeekNumber","onClickWeekNumber","handleClickWeekDay","handleClick","initMonthsCount","getLocalDate","getTimezoneOffset","resolveDate","initRange","displayDisabledDates","initSelectedDates","displayClosestValidDate","setInitialContext","initSelectedMonthYear","enableJumpToSelectedDate","initTime","selectedTime","initAllVariables","createToInput","vcInput","onInit","canOpenOnFocus","handleInput","inputModeInit","shiftKey","init","onUpdate","replaceProperties","isArray","findBestPickerPosition","setPosition","vcPosition","click","positionToInput","capture","onShow","inputHour","inputMinute","rangeHour","rangeMinute","OptionsCalendar","_Calendar","memoizedElements","queryAndMemoize","Calendar","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateFormat","displayElement","inline","positionElement","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","getSelectedDates","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","attributeFilter","vcpTheme","_handleDateClick","firstDate","_parseDate","_maybeHideAfterSelection","dateStr","day","_formatDate","Intl","DateTimeFormat","format","toLocaleDateString","separator","isNaN","formatted","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","_showElement","modal","preventBodyScroll","showModal","_hideElement","_hideChildComponents","_triggerBackdropTransition","staticClass","_getStaticClassName","eventKey","_onCancel","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","open","handleUpdate","showEvent","currentDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_isInitialized","_init","_calculateOverflow","_restoreItems","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","navWidth","usedWidth","itemsToOverflow","overflowThreshold","toMove","_moveToOverflow","overflowCount","link","clonedLink","bsNavOverflow","EVENT_RESIZE","Offcanvas","useModal","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","digits","clipboardData","getData","lastIndex","select","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","pastedData","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../../../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Offcanvas components that use\n * the native <dialog> element. Provides common behavior for:\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  // This base name is only used if DialogBase is instantiated directly.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Protected - subclasses use these to implement show()/hide()\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Overrideable by subclasses for component-specific class names\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    // Note: 'cancel' is not in EventHandler's nativeEvents set, so we must\n    // register it without namespace to properly bind to the native event.\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior — we handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    // Native <dialog> fires click on the dialog element itself when backdrop is clicked\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      // Only handle clicks directly on the dialog (backdrop area), not child content\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n\n  // Hook for subclasses to fire component-specific cancel events\n  _onCancel() {\n    // No-op by default — Dialog overrides this to fire its cancel event\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n\n    this._showElement({\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay.\n    this._hideElement()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n        <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n        <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Determine modal mode:\n    // - Use showModal() (modal) when backdrop is enabled or scroll is disabled\n    // - Use show() (non-modal) when backdrop is false AND scroll is true\n    //   (matches behavior where focus trap is skipped for this combo)\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n\n    this._showElement({\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    // Wait for the transform transition to complete, then fire shown.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay,\n    // keeping the element visible and in the top layer until complete.\n    this._hideElement()\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  // Private\n  _getStaticClassName() {\n    return 'offcanvas-static'\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // Focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.offcanvas[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.offcanvas[open]')) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:offcanvas\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":";;;;;AAWA,MAAMA,WAAa,IAAIC,IAEvBC,KAAe,CACbC,IAAIC,EAASC,EAAKC,GACXN,WAAWO,IAAIH,IAClBJ,WAAWG,IAAIC,EAAS,IAAIH,KAG9B,MAAMO,EAAcR,WAAWS,IAAIL,GAI9BI,EAAYD,IAAIF,IAA6B,IAArBG,EAAYE,KAMzCF,EAAYL,IAAIE,EAAKC,GAJnBK,QAAQC,MAAM,+EAA+EC,MAAMC,KAAKN,EAAYO,QAAQ,MAKhI,EAEAN,IAAGA,CAACL,EAASC,IACPL,WAAWO,IAAIH,IACVJ,WAAWS,IAAIL,GAASK,IAAIJ,IAG9B,KAGTW,OAAOZ,EAASC,GACd,IAAKL,WAAWO,IAAIH,GAClB,OAGF,MAAMI,EAAcR,WAAWS,IAAIL,GAEnCI,EAAYS,OAAOZ,GAGM,IAArBG,EAAYE,MACdV,WAAWiB,OAAOb,EAEtB,GC1CIc,eAAiB,qBACjBC,eAAiB,OACjBC,cAAgB,SAChBC,cAAgB,GACtB,IAAIC,SAAW,EACf,MAAMC,aAAe,CACnBC,WAAY,YACZC,WAAY,YAGRC,aAAe,IAAIC,IAAI,CAC3B,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,WAOF,SAASC,aAAaxB,EAASyB,GAC7B,OAAQA,GAAO,GAAGA,MAAQP,cAAiBlB,EAAQkB,UAAYA,UACjE,CAEA,SAASQ,iBAAiB1B,GACxB,MAAMyB,EAAMD,aAAaxB,GAKzB,OAHAA,EAAQkB,SAAWO,EACnBR,cAAcQ,GAAOR,cAAcQ,IAAQ,GAEpCR,cAAcQ,EACvB,CAEA,SAASE,iBAAiB3B,EAAS4B,GACjC,OAAO,SAASC,EAAQC,GAOtB,OANAC,WAAWD,EAAO,CAAEE,eAAgBhC,IAEhC6B,EAAQI,QACVC,aAAaC,IAAInC,EAAS8B,EAAMM,KAAMR,GAGjCA,EAAGS,MAAMrC,EAAS,CAAC8B,GAC5B,CACF,CAEA,SAASQ,2BAA2BtC,EAASuC,EAAUX,GACrD,OAAO,SAASC,EAAQC,GACtB,MAAMU,EAAcxC,EAAQyC,iBAAiBF,GAE7C,IAAK,IAAIG,OAAEA,GAAWZ,EAAOY,GAAUA,IAAWC,KAAMD,EAASA,EAAOE,WACtE,IAAK,MAAMC,KAAcL,EACvB,GAAIK,IAAeH,EAUnB,OANAX,WAAWD,EAAO,CAAEE,eAAgBU,IAEhCb,EAAQI,QACVC,aAAaC,IAAInC,EAAS8B,EAAMM,KAAMG,EAAUX,GAG3CA,EAAGS,MAAMK,EAAQ,CAACZ,GAG/B,CACF,CAEA,SAASgB,YAAYC,EAAQC,EAAUC,EAAqB,MAC1D,OAAOC,OAAOC,OAAOJ,GAClBK,KAAKtB,GAASA,EAAMkB,WAAaA,GAAYlB,EAAMmB,qBAAuBA,EAC/E,CAEA,SAASI,oBAAoBC,EAAmBzB,EAAS0B,GACvD,MAAMC,EAAiC,iBAAZ3B,EACrBmB,EAAWQ,EAAcD,EAAsB1B,GAAW0B,EAChE,IAAIE,EAAYC,aAAaJ,GAM7B,OAJKhC,aAAanB,IAAIsD,KACpBA,EAAYH,GAGP,CAACE,EAAaR,EAAUS,EACjC,CAEA,SAASE,WAAW3D,EAASsD,EAAmBzB,EAAS0B,EAAoBtB,GAC3E,GAAiC,iBAAtBqB,IAAmCtD,EAC5C,OAGF,IAAKwD,EAAaR,EAAUS,GAAaJ,oBAAoBC,EAAmBzB,EAAS0B,GAIzF,GAAID,KAAqBnC,aAAc,CACrC,MAAMyC,EAAehC,GACZ,SAAUE,GACf,IAAKA,EAAM+B,eAAkB/B,EAAM+B,gBAAkB/B,EAAME,iBAAmBF,EAAME,eAAe8B,SAAShC,EAAM+B,eAChH,OAAOjC,EAAGmC,KAAKpB,KAAMb,EAEzB,EAGFkB,EAAWY,EAAaZ,EAC1B,CAEA,MAAMD,EAASrB,iBAAiB1B,GAC1BgE,EAAWjB,EAAOU,KAAeV,EAAOU,GAAa,IACrDQ,EAAmBnB,YAAYkB,EAAUhB,EAAUQ,EAAc3B,EAAU,MAEjF,GAAIoC,EAGF,YAFAA,EAAiBhC,OAASgC,EAAiBhC,QAAUA,GAKvD,MAAMR,EAAMD,aAAawB,EAAUM,EAAkBY,QAAQpD,eAAgB,KACvEc,EAAK4B,EACTlB,2BAA2BtC,EAAS6B,EAASmB,GAC7CrB,iBAAiB3B,EAASgD,GAE5BpB,EAAGqB,mBAAqBO,EAAc3B,EAAU,KAChDD,EAAGoB,SAAWA,EACdpB,EAAGK,OAASA,EACZL,EAAGV,SAAWO,EACduC,EAASvC,GAAOG,EAEhB5B,EAAQmE,iBAAiBV,EAAW7B,EAAI4B,EAC1C,CAEA,SAASY,cAAcpE,EAAS+C,EAAQU,EAAW5B,EAASoB,GAC1D,MAAMrB,EAAKkB,YAAYC,EAAOU,GAAY5B,EAASoB,GAE9CrB,IAIL5B,EAAQqE,oBAAoBZ,EAAW7B,EAAI0C,QAAQrB,WAC5CF,EAAOU,GAAW7B,EAAGV,UAC9B,CAEA,SAASqD,yBAAyBvE,EAAS+C,EAAQU,EAAWe,GAC5D,MAAMC,EAAoB1B,EAAOU,IAAc,GAE/C,IAAK,MAAOiB,EAAY5C,KAAUoB,OAAOyB,QAAQF,GAC3CC,EAAWE,SAASJ,IACtBJ,cAAcpE,EAAS+C,EAAQU,EAAW3B,EAAMkB,SAAUlB,EAAMmB,mBAGtE,CAEA,SAASS,aAAa5B,GAGpB,OADAA,EAAQA,EAAMoC,QAAQnD,eAAgB,IAC/BI,aAAaW,IAAUA,CAChC,CAEA,MAAMI,aAAe,CACnB2C,GAAG7E,EAAS8B,EAAOD,EAAS0B,GAC1BI,WAAW3D,EAAS8B,EAAOD,EAAS0B,GAAoB,EAC1D,EAEAuB,IAAI9E,EAAS8B,EAAOD,EAAS0B,GAC3BI,WAAW3D,EAAS8B,EAAOD,EAAS0B,GAAoB,EAC1D,EAEApB,IAAInC,EAASsD,EAAmBzB,EAAS0B,GACvC,GAAiC,iBAAtBD,IAAmCtD,EAC5C,OAGF,MAAOwD,EAAaR,EAAUS,GAAaJ,oBAAoBC,EAAmBzB,EAAS0B,GACrFwB,EAActB,IAAcH,EAC5BP,EAASrB,iBAAiB1B,GAC1ByE,EAAoB1B,EAAOU,IAAc,GACzCuB,EAAc1B,EAAkB2B,WAAW,KAEjD,QAAwB,IAAbjC,EAAX,CAUA,GAAIgC,EACF,IAAK,MAAME,KAAgBhC,OAAOvC,KAAKoC,GACrCwB,yBAAyBvE,EAAS+C,EAAQmC,EAAc5B,EAAkB6B,MAAM,IAIpF,IAAK,MAAOC,EAAatD,KAAUoB,OAAOyB,QAAQF,GAAoB,CACpE,MAAMC,EAAaU,EAAYlB,QAAQlD,cAAe,IAEjD+D,IAAezB,EAAkBsB,SAASF,IAC7CN,cAAcpE,EAAS+C,EAAQU,EAAW3B,EAAMkB,SAAUlB,EAAMmB,mBAEpE,CAdA,KARA,CAEE,IAAKC,OAAOvC,KAAK8D,GAAmBY,OAClC,OAGFjB,cAAcpE,EAAS+C,EAAQU,EAAWT,EAAUQ,EAAc3B,EAAU,KAE9E,CAeF,EAEAyD,QAAQtF,EAAS8B,EAAOyD,GACtB,GAAqB,iBAAVzD,IAAuB9B,EAChC,OAAO,KAGT,MAAMwF,EAAMzD,WAAW,IAAI0D,MAAM3D,EAAO,CAAE4D,SAAS,EAAMC,YAAY,IAASJ,GAE9E,OADAvF,EAAQ4F,cAAcJ,GACfA,CACT,GAGF,SAASzD,WAAW8D,EAAKC,EAAO,IAC9B,IAAK,MAAO7F,EAAK8F,KAAU7C,OAAOyB,QAAQmB,GACxC,IACED,EAAI5F,GAAO8F,CACb,CAAE,MACA7C,OAAO8C,eAAeH,EAAK5F,EAAK,CAC9BgG,cAAc,EACd5F,IAAGA,IACM0F,GAGb,CAGF,OAAOF,CACT,CClRA,SAASK,cAAcH,GACrB,GAAc,SAAVA,EACF,OAAO,EAGT,GAAc,UAAVA,EACF,OAAO,EAGT,GAAIA,IAAUI,OAAOJ,GAAOK,WAC1B,OAAOD,OAAOJ,GAGhB,GAAc,KAAVA,GAA0B,SAAVA,EAClB,OAAO,KAGT,GAAqB,iBAAVA,EACT,OAAOA,EAGT,IACE,OAAOM,KAAKC,MAAMC,mBAAmBR,GACvC,CAAE,MACA,OAAOA,CACT,CACF,CAEA,SAASS,iBAAiBvG,GACxB,OAAOA,EAAIiE,QAAQ,SAAUuC,GAAO,IAAIA,EAAIC,gBAC9C,CAEA,MAAMC,YAAc,CAClBC,iBAAiB5G,EAASC,EAAK8F,GAC7B/F,EAAQ6G,aAAa,WAAWL,iBAAiBvG,KAAQ8F,EAC3D,EAEAe,oBAAoB9G,EAASC,GAC3BD,EAAQ+G,gBAAgB,WAAWP,iBAAiBvG,KACtD,EAEA+G,kBAAkBhH,GAChB,IAAKA,EACH,MAAO,GAGT,MAAMiH,EAAa,GACbC,EAAShE,OAAOvC,KAAKX,EAAQmH,SAASC,OAAOnH,GAAOA,EAAIgF,WAAW,QAAUhF,EAAIgF,WAAW,aAElG,IAAK,MAAMhF,KAAOiH,EAAQ,CACxB,IAAIG,EAAUpH,EAAIiE,QAAQ,MAAO,IACjCmD,EAAUA,EAAQC,OAAO,GAAGZ,cAAgBW,EAAQlC,MAAM,GAC1D8B,EAAWI,GAAWnB,cAAclG,EAAQmH,QAAQlH,GACtD,CAEA,OAAOgH,CACT,EAEAM,iBAAgBA,CAACvH,EAASC,IACjBiG,cAAclG,EAAQwH,aAAa,WAAWhB,iBAAiBvG,QC3DpEwH,QAAU,IACVC,wBAA0B,IAC1BC,eAAiB,gBAOjBC,cAAgBrF,IAChBA,GAAYsF,OAAOC,KAAOD,OAAOC,IAAIC,SAEvCxF,EAAWA,EAAS2B,QAAQ,gBAAiB,CAAC8D,EAAOC,IAAO,IAAIH,IAAIC,OAAOE,OAGtE1F,GAIH2F,OAASC,GACTA,QACK,GAAGA,IAGLjF,OAAOkF,UAAUhC,SAASrC,KAAKoE,GAAQH,MAAM,eAAe,GAAGtB,cAOlE2B,OAASC,IACb,GACEA,GAAUC,KAAKC,MAjCH,IAiCSD,KAAKE,gBACnBC,SAASC,eAAeL,IAEjC,OAAOA,GAGHM,iCAAmC5I,IACvC,IAAKA,EACH,OAAO,EAIT,IAAI6I,mBAAEA,EAAkBC,gBAAEA,GAAoBjB,OAAOkB,iBAAiB/I,GAEtE,MAAMgJ,EAA0B7C,OAAO8C,WAAWJ,GAC5CK,EAAuB/C,OAAO8C,WAAWH,GAG/C,OAAKE,GAA4BE,GAKjCL,EAAqBA,EAAmBM,MAAM,KAAK,GACnDL,EAAkBA,EAAgBK,MAAM,KAAK,GAxDf,KA0DtBhD,OAAO8C,WAAWJ,GAAsB1C,OAAO8C,WAAWH,KAPzD,GAULM,qBAAuBpJ,IAC3BA,EAAQ4F,cAAc,IAAIH,MAAMkC,kBAG5B0B,YAAYlB,MACXA,GAA4B,iBAAXA,SAIY,IAApBA,EAAOmB,SAGjBC,WAAapB,GACbkB,YAAUlB,GACLA,EAGa,iBAAXA,GAAuBA,EAAO9C,OAAS,EACzCqD,SAASc,cAAc5B,cAAcO,IAGvC,KAGHsB,UAAYzJ,IAChB,IAAKqJ,YAAUrJ,IAAgD,IAApCA,EAAQ0J,iBAAiBrE,OAClD,OAAO,EAGT,MAAMsE,EAAgF,YAA7DZ,iBAAiB/I,GAAS4J,iBAAiB,cAE9DC,EAAgB7J,EAAQ8J,QAAQ,uBAEtC,IAAKD,EACH,OAAOF,EAGT,GAAIE,IAAkB7J,EAAS,CAC7B,MAAM+J,EAAU/J,EAAQ8J,QAAQ,WAChC,GAAIC,GAAWA,EAAQnH,aAAeiH,EACpC,OAAO,EAGT,GAAgB,OAAZE,EACF,OAAO,CAEX,CAEA,OAAOJ,GAGHK,WAAahK,IACZA,GAAWA,EAAQsJ,WAAaW,KAAKC,gBAItClK,EAAQmK,UAAUrG,SAAS,mBAIC,IAArB9D,EAAQoK,SACVpK,EAAQoK,SAGVpK,EAAQqK,aAAa,aAAoD,UAArCrK,EAAQwH,aAAa,aAG5D8C,eAAiBtK,IACrB,IAAK0I,SAAS6B,gBAAgBC,aAC5B,OAAO,KAIT,GAAmC,mBAAxBxK,EAAQyK,YAA4B,CAC7C,MAAMC,EAAO1K,EAAQyK,cACrB,OAAOC,aAAgBC,WAAaD,EAAO,IAC7C,CAEA,OAAI1K,aAAmB2K,WACd3K,EAIJA,EAAQ4C,WAIN0H,eAAetK,EAAQ4C,YAHrB,MAMLgI,KAAOA,OAUPC,OAAS7K,IACbA,EAAQ8K,cAsBJC,QAAQA,IAAuC,QAAjCrC,SAAS6B,gBAAgBS,IAEvCC,QAAUA,CAACC,EAAkB3F,EAAO,GAAI4F,EAAeD,IACxB,mBAArBA,EAAkCA,EAAiBnH,QAAQwB,GAAQ4F,EAG7EC,uBAAyBA,CAACC,EAAUC,EAAmBC,GAAoB,KAC/E,IAAKA,EAEH,YADAN,QAAQI,GAIV,MACMG,EAAmB5C,iCAAiC0C,GADlC,EAGxB,IAAIG,GAAS,EAEb,MAAM5J,EAAUA,EAAGa,aACbA,IAAW4I,IAIfG,GAAS,EACTH,EAAkBjH,oBAAoBsD,eAAgB9F,GACtDoJ,QAAQI,KAGVC,EAAkBnH,iBAAiBwD,eAAgB9F,GACnD6J,WAAW,KACJD,GACHrC,qBAAqBkC,IAEtBE,IAYCG,qBAAuBA,CAACC,EAAMC,EAAeC,EAAeC,KAChE,MAAMC,EAAaJ,EAAKvG,OACxB,IAAI4G,EAAQL,EAAKM,QAAQL,GAIzB,OAAc,IAAVI,GACMH,GAAiBC,EAAiBH,EAAKI,EAAa,GAAKJ,EAAK,IAGxEK,GAASH,EAAgB,GAAI,EAEzBC,IACFE,GAASA,EAAQD,GAAcA,GAG1BJ,EAAKrD,KAAK4D,IAAI,EAAG5D,KAAK6D,IAAIH,EAAOD,EAAa,OC9OvD,MAAMK,OAEJ,kBAAWC,GACT,MAAO,EACT,CAEA,sBAAWC,GACT,MAAO,EACT,CAEA,eAAWC,GACT,MAAM,IAAIC,MAAM,sEAClB,CAEAC,WAAWC,GAIT,OAHAA,EAAShK,KAAKiK,gBAAgBD,GAC9BA,EAAShK,KAAKkK,kBAAkBF,GAChChK,KAAKmK,iBAAiBH,GACfA,CACT,CAEAE,kBAAkBF,GAChB,OAAOA,CACT,CAEAC,gBAAgBD,EAAQ3M,GACtB,MAAM+M,EAAa1D,YAAUrJ,GAAW2G,YAAYY,iBAAiBvH,EAAS,UAAY,GAE1F,MAAO,IACF2C,KAAKqK,YAAYV,WACM,iBAAfS,EAA0BA,EAAa,MAC9C1D,YAAUrJ,GAAW2G,YAAYK,kBAAkBhH,GAAW,MAC5C,iBAAX2M,EAAsBA,EAAS,GAE9C,CAEAG,iBAAiBH,EAAQM,EAActK,KAAKqK,YAAYT,aACtD,IAAK,MAAOW,EAAUC,KAAkBjK,OAAOyB,QAAQsI,GAAc,CACnE,MAAMlH,EAAQ4G,EAAOO,GACfE,EAAY/D,YAAUtD,GAAS,UAAYmC,OAAOnC,GAExD,IAAK,IAAIsH,OAAOF,GAAeG,KAAKF,GAClC,MAAM,IAAIG,UACR,GAAG5K,KAAKqK,YAAYR,KAAKgB,0BAA0BN,qBAA4BE,yBAAiCD,MAGtH,CACF,EC7CF,MAAMM,QAAU,eAMhB,MAAMC,sBAAsBrB,OAC1BW,YAAYhN,EAAS2M,GACnBgB,SAEA3N,EAAUuJ,WAAWvJ,MAKrB2C,KAAKiL,SAAW5N,EAChB2C,KAAKkL,QAAUlL,KAAK+J,WAAWC,GAE/B7M,KAAKC,IAAI4C,KAAKiL,SAAUjL,KAAKqK,YAAYc,SAAUnL,MACrD,CAGAoL,UACEjO,KAAKc,OAAO+B,KAAKiL,SAAUjL,KAAKqK,YAAYc,UAC5C5L,aAAaC,IAAIQ,KAAKiL,SAAUjL,KAAKqK,YAAYgB,WAEjD,IAAK,MAAMC,KAAgB/K,OAAOgL,oBAAoBvL,MACpDA,KAAKsL,GAAgB,IAEzB,CAGAE,eAAe9C,EAAUrL,EAASoO,GAAa,GAC7ChD,uBAAuBC,EAAUrL,EAASoO,EAC5C,CAEA1B,WAAWC,GAIT,OAHAA,EAAShK,KAAKiK,gBAAgBD,EAAQhK,KAAKiL,UAC3CjB,EAAShK,KAAKkK,kBAAkBF,GAChChK,KAAKmK,iBAAiBH,GACfA,CACT,CAGA,kBAAO0B,CAAYrO,GACjB,OAAOF,KAAKO,IAAIkJ,WAAWvJ,GAAU2C,KAAKmL,SAC5C,CAEA,0BAAOQ,CAAoBtO,EAAS2M,EAAS,IAC3C,OAAOhK,KAAK0L,YAAYrO,IAAY,IAAI2C,KAAK3C,EAA2B,iBAAX2M,EAAsBA,EAAS,KAC9F,CAEA,kBAAWc,GACT,OAAOA,OACT,CAEA,mBAAWK,GACT,MAAO,MAAMnL,KAAK6J,MACpB,CAEA,oBAAWwB,GACT,MAAO,IAAIrL,KAAKmL,UAClB,CAEA,gBAAOS,CAAUC,GACf,MAAO,GAAGA,IAAO7L,KAAKqL,WACxB,ECzEF,MAAMS,YAAczO,IAClB,IAAIuC,EAAWvC,EAAQwH,aAAa,kBAEpC,IAAKjF,GAAyB,MAAbA,EAAkB,CACjC,IAAImM,EAAgB1O,EAAQwH,aAAa,QAMzC,IAAKkH,IAAmBA,EAAc9J,SAAS,OAAS8J,EAAczJ,WAAW,KAC/E,OAAO,KAILyJ,EAAc9J,SAAS,OAAS8J,EAAczJ,WAAW,OAC3DyJ,EAAgB,IAAIA,EAAcvF,MAAM,KAAK,MAG/C5G,EAAWmM,GAAmC,MAAlBA,EAAwBA,EAAcC,OAAS,IAC7E,CAEA,OAAOpM,EAAWA,EAAS4G,MAAM,KAAKyF,IAAIC,GAAOjH,cAAciH,IAAMC,KAAK,KAAO,MAG7EC,eAAiB,CACrB3L,KAAIA,CAACb,EAAUvC,EAAU0I,SAAS6B,kBACzB,GAAGyE,UAAUC,QAAQ7G,UAAU3F,iBAAiBsB,KAAK/D,EAASuC,IAGvE2M,QAAOA,CAAC3M,EAAUvC,EAAU0I,SAAS6B,kBAC5B0E,QAAQ7G,UAAUoB,cAAczF,KAAK/D,EAASuC,GAGvD4M,SAAQA,CAACnP,EAASuC,IACT,GAAGyM,UAAUhP,EAAQmP,UAAU/H,OAAOgI,GAASA,EAAMC,QAAQ9M,IAGtE+M,QAAQtP,EAASuC,GACf,MAAM+M,EAAU,GAChB,IAAIC,EAAWvP,EAAQ4C,WAAWkH,QAAQvH,GAE1C,KAAOgN,GACLD,EAAQE,KAAKD,GACbA,EAAWA,EAAS3M,WAAWkH,QAAQvH,GAGzC,OAAO+M,CACT,EAEAG,KAAKzP,EAASuC,GACZ,IAAImN,EAAW1P,EAAQ2P,uBAEvB,KAAOD,GAAU,CACf,GAAIA,EAASL,QAAQ9M,GACnB,MAAO,CAACmN,GAGVA,EAAWA,EAASC,sBACtB,CAEA,MAAO,EACT,EAGAC,KAAK5P,EAASuC,GACZ,IAAIqN,EAAO5P,EAAQ6P,mBAEnB,KAAOD,GAAM,CACX,GAAIA,EAAKP,QAAQ9M,GACf,MAAO,CAACqN,GAGVA,EAAOA,EAAKC,kBACd,CAEA,MAAO,EACT,EAEAC,kBAAkB9P,GAChB,MAAM+P,EAAa,CACjB,IACA,SACA,QACA,WACA,SACA,UACA,aACA,4BACAnB,IAAIrM,GAAY,GAAGA,0BAAiCuM,KAAK,KAE3D,OAAOnM,KAAKS,KAAK2M,EAAY/P,GAASoH,OAAO4I,IAAOhG,WAAWgG,IAAOvG,UAAUuG,GAClF,EAEAC,uBAAuBjQ,GACrB,MAAMuC,EAAWkM,YAAYzO,GAE7B,OAAIuC,GACKwM,eAAeG,QAAQ3M,GAAYA,EAGrC,IACT,EAEA2N,uBAAuBlQ,GACrB,MAAMuC,EAAWkM,YAAYzO,GAE7B,OAAOuC,EAAWwM,eAAeG,QAAQ3M,GAAY,IACvD,EAEA4N,gCAAgCnQ,GAC9B,MAAMuC,EAAWkM,YAAYzO,GAE7B,OAAOuC,EAAWwM,eAAe3L,KAAKb,GAAY,EACpD,GChHI6N,qBAAuBA,CAACC,EAAWC,EAAS,UAChD,MAAMC,EAAa,gBAAgBF,EAAUrC,YACvCQ,EAAO6B,EAAU7D,KAEvBtK,aAAa2C,GAAG6D,SAAU6H,EAAY,qBAAqB/B,MAAU,SAAU1M,GAK7E,GAJI,CAAC,IAAK,QAAQ8C,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGJzG,WAAWrH,MACb,OAGF,MAAMD,EAASqM,eAAemB,uBAAuBvN,OAASA,KAAKmH,QAAQ,IAAI0E,KAC9D6B,EAAU/B,oBAAoB5L,GAGtC4N,IACX,IAGII,oBAAsBA,CAACC,EAAQC,EAASC,EAAgBP,EAAQjF,EAAW,QAC/EyF,YAAY,GAAGF,KAAWD,EAAOnE,OAAQqE,EAAgBE,IACvD,MAAMC,EAAYD,EAAKE,QAAQ7J,OAAO9C,SAASsK,IAAI5O,GAAW2Q,EAAOrC,oBAAoBtO,IACjE,mBAAbqL,GACTA,EAAS,IAAK0F,EAAMC,cAGtB,IAAK,MAAM9Q,KAAY8Q,EACrB9Q,EAASoQ,QAKTQ,YAAcA,CAACF,EAASC,EAAgBxF,KAC5C,MAAM9I,EAAW,GAAGsO,kCACpB3O,aAAa2C,GAAG6D,SAAUkI,EAASrO,EAAU,SAAUT,GACjD,CAAC,IAAK,QAAQ8C,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGR,MAAMlO,EAAWwM,eAAekB,uBAAuBtN,MACjDsO,EAAU1O,EAAWwM,eAAe3L,KAAKb,GAAY,CAACI,MAE5D0I,EAAS,CAAE4F,UAASnP,SACtB,ICzCI0K,OAAO,QACPsB,WAAW,WACXE,YAAY,YAEZkD,YAAc,iBACdC,aAAe,kBACfC,kBAAkB,OAClBC,kBAAkB,OAMxB,MAAMC,cAAc5D,cAElB,eAAWlB,GACT,OAAOA,MACT,CAGA+E,QAGE,GAFmBrP,aAAaoD,QAAQ3C,KAAKiL,SAAUsD,aAExCM,iBACb,OAGF7O,KAAKiL,SAASzD,UAAUvJ,OApBJ,QAsBpB,MAAMwN,EAAazL,KAAKiL,SAASzD,UAAUrG,SAvBvB,QAwBpBnB,KAAKwL,eAAe,IAAMxL,KAAK8O,kBAAmB9O,KAAKiL,SAAUQ,EACnE,CAGAqD,kBACE9O,KAAKiL,SAAShN,SACdsB,aAAaoD,QAAQ3C,KAAKiL,SAAUuD,cACpCxO,KAAKoL,SACP,EAOFqC,qBAAqBkB,MAAO,SC9C5B,MAAM9E,OAAO,SACPsB,WAAW,YACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfC,oBAAoB,SACpBC,uBAAuB,4BACvBC,uBAAuB,QAAQ7D,uBAMrC,MAAM8D,eAAepE,cAEnB,eAAWlB,GACT,OAAOA,MACT,CAGAuF,SAEEpP,KAAKiL,SAAS/G,aAAa,eAAgBlE,KAAKiL,SAASzD,UAAU4H,OAjB7C,UAkBxB,EAOF7P,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB9P,IACpEA,EAAM2O,iBAEN,MAAMuB,EAASlQ,EAAMY,OAAOoH,QAAQ8H,wBACvBE,OAAOxD,oBAAoB0D,GAEnCD,WCnCP,MAAMvF,OAAO,QACPwB,YAAY,YACZiE,iBAAmB,sBACnBC,gBAAkB,qBAClBC,eAAiB,oBACjBC,kBAAoB,uBACpBC,gBAAkB,qBAClBC,mBAAqB,QACrBC,iBAAmB,MACnBC,yBAA2B,gBAC3BC,gBAAkB,GAElBnG,UAAU,CACdoG,YAAa,KACbC,aAAc,KACdC,cAAe,MAGXrG,cAAc,CAClBmG,YAAa,kBACbC,aAAc,kBACdC,cAAe,mBAOjB,MAAMC,cAAcxG,OAClBW,YAAYhN,EAAS2M,GACnBgB,QACAhL,KAAKiL,SAAW5N,EAEXA,GAAY6S,MAAMC,gBAIvBnQ,KAAKkL,QAAUlL,KAAK+J,WAAWC,GAC/BhK,KAAKoQ,QAAU,EACfpQ,KAAKqQ,sBAAwB1O,QAAQuD,OAAOoL,cAC5CtQ,KAAKuQ,cACP,CAGA,kBAAW5G,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuB,UACE7L,aAAaC,IAAIQ,KAAKiL,SAzDR,YA0DhB,CAGAuF,OAAOrR,GACAa,KAAKqQ,sBAMNrQ,KAAKyQ,wBAAwBtR,KAC/Ba,KAAKoQ,QAAUjR,EAAMuR,SANrB1Q,KAAKoQ,QAAUjR,EAAMwR,QAAQ,GAAGD,OAQpC,CAEAE,KAAKzR,GACCa,KAAKyQ,wBAAwBtR,KAC/Ba,KAAKoQ,QAAUjR,EAAMuR,QAAU1Q,KAAKoQ,SAGtCpQ,KAAK6Q,eACLvI,QAAQtI,KAAKkL,QAAQ6E,YACvB,CAEAe,MAAM3R,GACJa,KAAKoQ,QAAUjR,EAAMwR,SAAWxR,EAAMwR,QAAQjO,OAAS,EACrD,EACAvD,EAAMwR,QAAQ,GAAGD,QAAU1Q,KAAKoQ,OACpC,CAEAS,eACE,MAAME,EAAYnL,KAAKoL,IAAIhR,KAAKoQ,SAEhC,GAAIW,GAlFgB,GAmFlB,OAGF,MAAME,EAAYF,EAAY/Q,KAAKoQ,QAEnCpQ,KAAKoQ,QAAU,EAEVa,GAIL3I,QAAQ2I,EAAY,EAAIjR,KAAKkL,QAAQ+E,cAAgBjQ,KAAKkL,QAAQ8E,aACpE,CAEAO,cACMvQ,KAAKqQ,uBACP9Q,aAAa2C,GAAGlC,KAAKiL,SAAUwE,kBAAmBtQ,GAASa,KAAKwQ,OAAOrR,IACvEI,aAAa2C,GAAGlC,KAAKiL,SAAUyE,gBAAiBvQ,GAASa,KAAK4Q,KAAKzR,IAEnEa,KAAKiL,SAASzD,UAAU0J,IAvGG,mBAyG3B3R,aAAa2C,GAAGlC,KAAKiL,SAAUqE,iBAAkBnQ,GAASa,KAAKwQ,OAAOrR,IACtEI,aAAa2C,GAAGlC,KAAKiL,SAAUsE,gBAAiBpQ,GAASa,KAAK8Q,MAAM3R,IACpEI,aAAa2C,GAAGlC,KAAKiL,SAAUuE,eAAgBrQ,GAASa,KAAK4Q,KAAKzR,IAEtE,CAEAsR,wBAAwBtR,GACtB,OAAOa,KAAKqQ,wBAjHS,QAiHiBlR,EAAMgS,aAlHrB,UAkHyDhS,EAAMgS,YACxF,CAGA,kBAAOhB,GACL,MAAO,iBAAkBpK,SAAS6B,iBAAmBwJ,UAAUC,eAAiB,CAClF,ECtHF,MAAMxH,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfuC,iBAAiB,YACjBC,kBAAkB,aAClBC,uBAAyB,IAEzBC,WAAa,OACbC,WAAa,OACbC,eAAiB,OACjBC,gBAAkB,QAElBC,YAAc,QAAQxG,cACtByG,WAAa,OAAOzG,cACpB0G,gBAAgB,UAAU1G,cAC1B2G,mBAAmB,aAAa3G,cAChC4G,mBAAmB,aAAa5G,cAChC6G,iBAAmB,YAAY7G,cAC/B8G,sBAAsB,OAAO9G,uBAC7B6D,uBAAuB,QAAQ7D,uBAE/B+G,oBAAsB,WACtBpD,oBAAoB,SACpBqD,iBAAmB,QACnBC,eAAiB,oBACjBC,iBAAmB,sBACnBC,gBAAkB,qBAClBC,gBAAkB,qBAElBC,gBAAkB,UAClBC,cAAgB,iBAChBC,qBAAuBF,wBACvBG,kBAAoB,qBACpBC,oBAAsB,uBACtBC,oBAAsB,sCACtBC,mBAAqB,4BAErBC,iBAAmB,CACvBC,CAAC5B,kBA5BqB,QA6BtB6B,CAAC5B,mBA9BoB,QAiCjB5H,UAAU,CACdyJ,SAAU,IACVC,UAAU,EACVC,MAAO,QACPC,MAAM,EACNC,OAAO,EACPC,MAAM,GAGF7J,cAAc,CAClBwJ,SAAU,SACVC,SAAU,UACVC,MAAO,mBACPC,KAAM,mBACNC,MAAO,UACPC,KAAM,WAOR,MAAMC,iBAAiB3I,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK2T,UAAY,KACjB3T,KAAK4T,eAAiB,KACtB5T,KAAK6T,YAAa,EAClB7T,KAAK8T,aAAe,KACpB9T,KAAK+T,aAAe,KAEpB/T,KAAKgU,mBAAqB5H,eAAeG,QAAQuG,oBAAqB9S,KAAKiL,UAC3EjL,KAAKiU,qBAtDmB,aAwDpBjU,KAAKkL,QAAQqI,MACfvT,KAAKkU,OAET,CAGA,kBAAWvK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAoD,OACEjN,KAAKmU,OA1FU,OA2FjB,CAEAC,kBAGmC,YAA7BrO,SAASsO,iBAAiCvN,UAAU9G,KAAKiL,WAC3DjL,KAAKiN,MAET,CAEAH,OACE9M,KAAKmU,OArGU,OAsGjB,CAEAb,QACMtT,KAAK6T,YACPpN,qBAAqBzG,KAAKiL,UAG5BjL,KAAKsU,gBACP,CAEAJ,QACElU,KAAKsU,iBACLtU,KAAKuU,kBAELvU,KAAK2T,UAAYa,YAAY,IAAMxU,KAAKoU,kBAAmBpU,KAAKkL,QAAQkI,SAC1E,CAEAqB,oBACOzU,KAAKkL,QAAQqI,OAIdvT,KAAK6T,WACPtU,aAAa4C,IAAInC,KAAKiL,SAAU6G,WAAY,IAAM9R,KAAKkU,SAIzDlU,KAAKkU,QACP,CAEAQ,GAAGpL,GACD,MAAMqL,EAAQ3U,KAAK4U,YACnB,GAAItL,EAAQqL,EAAMjS,OAAS,GAAK4G,EAAQ,EACtC,OAGF,GAAItJ,KAAK6T,WAEP,YADAtU,aAAa4C,IAAInC,KAAKiL,SAAU6G,WAAY,IAAM9R,KAAK0U,GAAGpL,IAI5D,MAAMuL,EAAc7U,KAAK8U,cAAc9U,KAAK+U,cAC5C,GAAIF,IAAgBvL,EAClB,OAGF,MAAM0L,EAAQ1L,EAAQuL,EArJP,OACA,OAsJf7U,KAAKmU,OAAOa,EAAOL,EAAMrL,GAC3B,CAEA8B,UACMpL,KAAK+T,cACP/T,KAAK+T,aAAa3I,UAGpBJ,MAAMI,SACR,CAGAlB,kBAAkBF,GAEhB,OADAA,EAAOiL,gBAAkBjL,EAAOoJ,SACzBpJ,CACT,CAEAiK,qBACMjU,KAAKkL,QAAQmI,UACf9T,aAAa2C,GAAGlC,KAAKiL,SAAU8G,gBAAe5S,GAASa,KAAKkV,SAAS/V,IAG5C,UAAvBa,KAAKkL,QAAQoI,QACf/T,aAAa2C,GAAGlC,KAAKiL,SAAU+G,mBAAkB,IAAMhS,KAAKsT,SAC5D/T,aAAa2C,GAAGlC,KAAKiL,SAAUgH,mBAAkB,IAAMjS,KAAKyU,sBAG1DzU,KAAKkL,QAAQsI,OAAStD,MAAMC,eAC9BnQ,KAAKmV,yBAET,CAEAA,0BACE,IAAK,MAAMC,KAAOhJ,eAAe3L,KAAKoS,kBAAmB7S,KAAKiL,UAC5D1L,aAAa2C,GAAGkT,EAAKlD,iBAAkB/S,GAASA,EAAM2O,kBAGxD,MAqBMuH,EAAc,CAClBrF,aAAcA,IAAMhQ,KAAKmU,OAAOnU,KAAKsV,kBAhNpB,SAiNjBrF,cAAeA,IAAMjQ,KAAKmU,OAAOnU,KAAKsV,kBAhNpB,UAiNlBvF,YAxBkBwF,KACS,UAAvBvV,KAAKkL,QAAQoI,QAYjBtT,KAAKsT,QACDtT,KAAK8T,cACP0B,aAAaxV,KAAK8T,cAGpB9T,KAAK8T,aAAe/K,WAAW,IAAM/I,KAAKyU,oBAhNjB,IAgN+DzU,KAAKkL,QAAQkI,aASvGpT,KAAK+T,aAAe,IAAI7D,MAAMlQ,KAAKiL,SAAUoK,EAC/C,CAEAH,SAAS/V,GACP,GAAI,kBAAkBwL,KAAKxL,EAAMY,OAAO8N,SACtC,OAGF,MAAMoD,EAAYgC,iBAAiB9T,EAAM7B,KACrC2T,IACF9R,EAAM2O,iBACN9N,KAAKmU,OAAOnU,KAAKsV,kBAAkBrE,IAEvC,CAEA6D,cAAczX,GACZ,OAAO2C,KAAK4U,YAAYrL,QAAQlM,EAClC,CAEAoY,2BAA2BnM,GACzB,IAAKtJ,KAAKgU,mBACR,OAGF,MAAM0B,EAAkBtJ,eAAeG,QAzNnB,UAyN4CvM,KAAKgU,oBAErE0B,EAAgBlO,UAAUvJ,OAlOJ,UAmOtByX,EAAgBtR,gBAAgB,gBAEhC,MAAMuR,EAAqBvJ,eAAeG,QAAQ,sBAAsBjD,MAAWtJ,KAAKgU,oBAEpF2B,IACFA,EAAmBnO,UAAU0J,IAxOT,UAyOpByE,EAAmBzR,aAAa,eAAgB,QAEpD,CAEAqQ,kBACE,MAAMlX,EAAU2C,KAAK4T,gBAAkB5T,KAAK+U,aAE5C,IAAK1X,EACH,OAGF,MAAMuY,EAAkBpS,OAAOqS,SAASxY,EAAQwH,aAAa,oBAAqB,IAElF7E,KAAKkL,QAAQkI,SAAWwC,GAAmB5V,KAAKkL,QAAQ+J,eAC1D,CAEAd,OAAOa,EAAO3X,EAAU,MACtB,GAAI2C,KAAK6T,WACP,OAGF,MAAM3K,EAAgBlJ,KAAK+U,aACrBe,EA9QS,SA8QAd,EACTe,EAAc1Y,GAAW2L,qBAAqBhJ,KAAK4U,YAAa1L,EAAe4M,EAAQ9V,KAAKkL,QAAQuI,MAE1G,GAAIsC,IAAgB7M,EAClB,OAGF,MAAM8M,EAAmBhW,KAAK8U,cAAciB,GAEtCE,EAAerK,GACZrM,aAAaoD,QAAQ3C,KAAKiL,SAAUW,EAAW,CACpD1K,cAAe6U,EACf9E,UAAWjR,KAAKkW,kBAAkBlB,GAClCjX,KAAMiC,KAAK8U,cAAc5L,GACzBwL,GAAIsB,IAMR,GAFmBC,EAAapE,aAEjBhD,iBACb,OAGF,IAAK3F,IAAkB6M,EAErB,OAGF,MAAMI,EAAYxU,QAAQ3B,KAAK2T,WAC/B3T,KAAKsT,QAELtT,KAAK6T,YAAa,EAElB7T,KAAKyV,2BAA2BO,GAChChW,KAAK4T,eAAiBmC,EAEtB,MAAMK,EAAuBN,EAASvD,iBAAmBD,eACnD+D,EAAiBP,EAAStD,gBAAkBC,gBAElDsD,EAAYvO,UAAU0J,IAAImF,GAE1BnO,OAAO6N,GAEP7M,EAAc1B,UAAU0J,IAAIkF,GAC5BL,EAAYvO,UAAU0J,IAAIkF,GAa1BpW,KAAKwL,eAXoB8K,KACvBP,EAAYvO,UAAUvJ,OAAOmY,EAAsBC,GACnDN,EAAYvO,UAAU0J,IAhTF,UAkTpBhI,EAAc1B,UAAUvJ,OAlTJ,SAkT8BoY,EAAgBD,GAElEpW,KAAK6T,YAAa,EAElBoC,EAAanE,aAGuB5I,EAAelJ,KAAKuW,eAEtDJ,GACFnW,KAAKkU,OAET,CAEAqC,cACE,OAAOvW,KAAKiL,SAASzD,UAAUrG,SAhUV,QAiUvB,CAEA4T,aACE,OAAO3I,eAAeG,QAAQqG,qBAAsB5S,KAAKiL,SAC3D,CAEA2J,YACE,OAAOxI,eAAe3L,KAAKkS,cAAe3S,KAAKiL,SACjD,CAEAqJ,iBACMtU,KAAK2T,YACP6C,cAAcxW,KAAK2T,WACnB3T,KAAK2T,UAAY,KAErB,CAEA2B,kBAAkBrE,GAChB,OAAI7I,UAjWe,SAkWV6I,EAnWM,OADA,OAEI,SAqWZA,EAvWQ,OACA,MAuWjB,CAEAiF,kBAAkBlB,GAChB,OAAI5M,UA1WW,SA2WN4M,EA1WU,OACC,QAFL,SA8WRA,EA5Wa,QADD,MA8WrB,EAOFzV,aAAa2C,GAAG6D,SAAUmJ,uBAAsB6D,oBAAqB,SAAU5T,GAC7E,MAAMY,EAASqM,eAAemB,uBAAuBvN,MAErD,IAAKD,IAAWA,EAAOyH,UAAUrG,SA5WP,YA6WxB,OAGFhC,EAAM2O,iBAEN,MAAM2I,EAAW/C,SAAS/H,oBAAoB5L,GACxC2W,EAAa1W,KAAK6E,aAAa,oBAErC,OAAI6R,GACFD,EAAS/B,GAAGgC,QACZD,EAAShC,qBAIyC,SAAhDzQ,YAAYY,iBAAiB5E,KAAM,UACrCyW,EAASxJ,YACTwJ,EAAShC,sBAIXgC,EAAS3J,YACT2J,EAAShC,oBACX,GAEAlV,aAAa2C,GAAGgD,OAAQiN,sBAAqB,KAC3C,MAAMwE,EAAYvK,eAAe3L,KAAKuS,oBAEtC,IAAK,MAAMyD,KAAYE,EACrBjD,SAAS/H,oBAAoB8K,KCrajC,MAAM5M,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf6H,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxB6D,uBAAuB,QAAQ7D,uBAE/BqD,kBAAkB,OAClBsI,oBAAsB,WACtBC,sBAAwB,aACxBC,qBAAuB,YACvBC,2BAA6B,6BAC7BC,sBAAwB,sBAExBC,MAAQ,QACRC,OAAS,SAETC,iBAAmB,uCACnBtI,uBAAuB,8BAEvBtF,UAAU,CACd6N,OAAQ,KACRpI,QAAQ,GAGJxF,cAAc,CAClB4N,OAAQ,iBACRpI,OAAQ,WAOV,MAAMqI,iBAAiB1M,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK0X,kBAAmB,EACxB1X,KAAK2X,cAAgB,GAErB,MAAMC,EAAaxL,eAAe3L,KAAKwO,wBAEvC,IAAK,MAAM4I,KAAQD,EAAY,CAC7B,MAAMhY,EAAWwM,eAAekB,uBAAuBuK,GACjDC,EAAgB1L,eAAe3L,KAAKb,GACvC6E,OAAOsT,GAAgBA,IAAiB/X,KAAKiL,UAE/B,OAAbrL,GAAqBkY,EAAcpV,QACrC1C,KAAK2X,cAAc9K,KAAKgL,EAE5B,CAEA7X,KAAKgY,sBAEAhY,KAAKkL,QAAQsM,QAChBxX,KAAKiY,0BAA0BjY,KAAK2X,cAAe3X,KAAKkY,YAGtDlY,KAAKkL,QAAQkE,QACfpP,KAAKoP,QAET,CAGA,kBAAWzF,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,SACMpP,KAAKkY,WACPlY,KAAKmY,OAELnY,KAAKoY,MAET,CAEAA,OACE,GAAIpY,KAAK0X,kBAAoB1X,KAAKkY,WAChC,OAGF,IAAIG,EAAiB,GASrB,GANIrY,KAAKkL,QAAQsM,SACfa,EAAiBrY,KAAKsY,uBAAuBf,kBAC1C9S,OAAOpH,GAAWA,IAAY2C,KAAKiL,UACnCgB,IAAI5O,GAAWoa,SAAS9L,oBAAoBtO,EAAS,CAAE+R,QAAQ,MAGhEiJ,EAAe3V,QAAU2V,EAAe,GAAGX,iBAC7C,OAIF,GADmBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,cACxC/H,iBACb,OAGF,IAAK,MAAM0J,KAAkBF,EAC3BE,EAAeJ,OAGjB,MAAMK,EAAYxY,KAAKyY,gBAEvBzY,KAAKiL,SAASzD,UAAUvJ,OA3GA,YA4GxB+B,KAAKiL,SAASzD,UAAU0J,IA3GE,cA6G1BlR,KAAKiL,SAASyN,MAAMF,GAAa,EAEjCxY,KAAKiY,0BAA0BjY,KAAK2X,eAAe,GACnD3X,KAAK0X,kBAAmB,EAExB,MAYMiB,EAAa,SADUH,EAAU,GAAG3N,cAAgB2N,EAAUhW,MAAM,KAG1ExC,KAAKwL,eAdYoN,KACf5Y,KAAK0X,kBAAmB,EAExB1X,KAAKiL,SAASzD,UAAUvJ,OArHA,cAsHxB+B,KAAKiL,SAASzD,UAAU0J,IAvHF,WADJ,QA0HlBlR,KAAKiL,SAASyN,MAAMF,GAAa,GAEjCjZ,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,gBAMR7W,KAAKiL,UAAU,GAC7CjL,KAAKiL,SAASyN,MAAMF,GAAa,GAAGxY,KAAKiL,SAAS0N,MACpD,CAEAR,OACE,GAAInY,KAAK0X,mBAAqB1X,KAAKkY,WACjC,OAIF,GADmB3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cACxCjI,iBACb,OAGF,MAAM2J,EAAYxY,KAAKyY,gBAEvBzY,KAAKiL,SAASyN,MAAMF,GAAa,GAAGxY,KAAKiL,SAAS4N,wBAAwBL,OAE1EtQ,OAAOlI,KAAKiL,UAEZjL,KAAKiL,SAASzD,UAAU0J,IApJE,cAqJ1BlR,KAAKiL,SAASzD,UAAUvJ,OAtJA,WADJ,QAyJpB,IAAK,MAAM0E,KAAW3C,KAAK2X,cAAe,CACxC,MAAMta,EAAU+O,eAAemB,uBAAuB5K,GAElDtF,IAAY2C,KAAKkY,SAAS7a,IAC5B2C,KAAKiY,0BAA0B,CAACtV,IAAU,EAE9C,CAEA3C,KAAK0X,kBAAmB,EASxB1X,KAAKiL,SAASyN,MAAMF,GAAa,GAEjCxY,KAAKwL,eATYoN,KACf5Y,KAAK0X,kBAAmB,EACxB1X,KAAKiL,SAASzD,UAAUvJ,OAnKA,cAoKxB+B,KAAKiL,SAASzD,UAAU0J,IArKF,YAsKtB3R,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBAKR/W,KAAKiL,UAAU,EAC/C,CAGAiN,SAAS7a,EAAU2C,KAAKiL,UACtB,OAAO5N,EAAQmK,UAAUrG,SAjLL,OAkLtB,CAEA+I,kBAAkBF,GAGhB,OAFAA,EAAOoF,OAASzN,QAAQqI,EAAOoF,QAC/BpF,EAAOwN,OAAS5Q,WAAWoD,EAAOwN,QAC3BxN,CACT,CAEAyO,gBACE,OAAOzY,KAAKiL,SAASzD,UAAUrG,SAtLL,uBAsLuCkW,MAAQC,MAC3E,CAEAU,sBACE,IAAKhY,KAAKkL,QAAQsM,OAChB,OAGF,MAAMhL,EAAWxM,KAAKsY,uBAAuBrJ,wBAE7C,IAAK,MAAM5R,KAAWmP,EAAU,CAC9B,MAAMsM,EAAW1M,eAAemB,uBAAuBlQ,GAEnDyb,GACF9Y,KAAKiY,0BAA0B,CAAC5a,GAAU2C,KAAKkY,SAASY,GAE5D,CACF,CAEAR,uBAAuB1Y,GACrB,MAAM4M,EAAWJ,eAAe3L,KAAK0W,2BAA4BnX,KAAKkL,QAAQsM,QAE9E,OAAOpL,eAAe3L,KAAKb,EAAUI,KAAKkL,QAAQsM,QAAQ/S,OAAOpH,IAAYmP,EAASvK,SAAS5E,GACjG,CAEA4a,0BAA0Bc,EAAcC,GACtC,GAAKD,EAAarW,OAIlB,IAAK,MAAMrF,KAAW0b,EACpB1b,EAAQmK,UAAU4H,OAvNK,aAuNyB4J,GAChD3b,EAAQ6G,aAAa,gBAAiB8U,EAE1C,EAOFzZ,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,IAEjD,MAAzBA,EAAMY,OAAO8N,SAAoB1O,EAAME,gBAAmD,MAAjCF,EAAME,eAAewO,UAChF1O,EAAM2O,iBAGR,IAAK,MAAMzQ,KAAW+O,eAAeoB,gCAAgCxN,MACnEyX,SAAS9L,oBAAoBtO,EAAS,CAAE+R,QAAQ,IAASA,QAE7D,GCnQA,MAAM3F,IAAM7D,KAAK6D,IACXD,IAAM5D,KAAK4D,IACXyP,MAAQrT,KAAKqT,MACbpT,MAAQD,KAAKC,MACbqT,aAAeC,IAAC,CACpBC,EAAGD,EACHE,EAAGF,IAECG,gBAAkB,CACtBC,KAAM,QACNC,MAAO,OACPC,OAAQ,MACRC,IAAK,UAEP,SAASC,MAAMC,EAAOxW,EAAOyW,GAC3B,OAAOrQ,IAAIoQ,EAAOnQ,IAAIrG,EAAOyW,GAC/B,CACA,SAASC,SAAS1W,EAAO2W,GACvB,MAAwB,mBAAV3W,EAAuBA,EAAM2W,GAAS3W,CACtD,CACA,SAAS4W,QAAQC,GACf,OAAOA,EAAUzT,MAAM,KAAK,EAC9B,CACA,SAAS0T,aAAaD,GACpB,OAAOA,EAAUzT,MAAM,KAAK,EAC9B,CACA,SAAS2T,gBAAgBC,GACvB,MAAgB,MAATA,EAAe,IAAM,GAC9B,CACA,SAASC,cAAcD,GACrB,MAAgB,MAATA,EAAe,SAAW,OACnC,CACA,SAASE,YAAYL,GACnB,MAAMM,EAAYN,EAAU,GAC5B,MAAqB,MAAdM,GAAmC,MAAdA,EAAoB,IAAM,GACxD,CACA,SAASC,iBAAiBP,GACxB,OAAOE,gBAAgBG,YAAYL,GACrC,CACA,SAASQ,kBAAkBR,EAAWS,EAAOC,QAC/B,IAARA,IACFA,GAAM,GAER,MAAMC,EAAYV,aAAaD,GACzBY,EAAgBL,iBAAiBP,GACjCvX,EAAS2X,cAAcQ,GAC7B,IAAIC,EAAsC,MAAlBD,EAAwBD,KAAeD,EAAM,MAAQ,SAAW,QAAU,OAAuB,UAAdC,EAAwB,SAAW,MAI9I,OAHIF,EAAMK,UAAUrY,GAAUgY,EAAMM,SAAStY,KAC3CoY,EAAoBG,qBAAqBH,IAEpC,CAACA,EAAmBG,qBAAqBH,GAClD,CACA,SAASI,sBAAsBjB,GAC7B,MAAMkB,EAAoBF,qBAAqBhB,GAC/C,MAAO,CAACmB,8BAA8BnB,GAAYkB,EAAmBC,8BAA8BD,GACrG,CACA,SAASC,8BAA8BnB,GACrC,OAAOA,EAAUhY,SAAS,SAAWgY,EAAU1Y,QAAQ,QAAS,OAAS0Y,EAAU1Y,QAAQ,MAAO,QACpG,CACA,MAAM8Z,YAAc,CAAC,OAAQ,SACvBC,YAAc,CAAC,QAAS,QACxBC,YAAc,CAAC,MAAO,UACtBC,YAAc,CAAC,SAAU,OAC/B,SAASC,YAAYC,EAAMC,EAAShB,GAClC,OAAQe,GACN,IAAK,MACL,IAAK,SACH,OAAIf,EAAYgB,EAAUL,YAAcD,YACjCM,EAAUN,YAAcC,YACjC,IAAK,OACL,IAAK,QACH,OAAOK,EAAUJ,YAAcC,YACjC,QACE,MAAO,GAEb,CACA,SAASI,0BAA0B3B,EAAW4B,EAAe5K,EAAW0J,GACtE,MAAMC,EAAYV,aAAaD,GAC/B,IAAIhR,EAAOwS,YAAYzB,QAAQC,GAA0B,UAAdhJ,EAAuB0J,GAOlE,OANIC,IACF3R,EAAOA,EAAKgD,IAAIyP,GAAQA,EAAO,IAAMd,GACjCiB,IACF5S,EAAOA,EAAKoD,OAAOpD,EAAKgD,IAAImP,kCAGzBnS,CACT,CACA,SAASgS,qBAAqBhB,GAC5B,MAAMyB,EAAO1B,QAAQC,GACrB,OAAOX,gBAAgBoC,GAAQzB,EAAUzX,MAAMkZ,EAAKhZ,OACtD,CACA,SAASoZ,oBAAoBC,GAC3B,MAAO,CACLrC,IAAK,EACLF,MAAO,EACPC,OAAQ,EACRF,KAAM,KACHwC,EAEP,CACA,SAASC,iBAAiBD,GACxB,MAA0B,iBAAZA,EAAuBD,oBAAoBC,GAAW,CAClErC,IAAKqC,EACLvC,MAAOuC,EACPtC,OAAQsC,EACRxC,KAAMwC,EAEV,CACA,SAASE,iBAAiBC,GACxB,MAAM9C,EACJA,EAACC,EACDA,EAAC8C,MACDA,EAAKC,OACLA,GACEF,EACJ,MAAO,CACLC,QACAC,SACA1C,IAAKL,EACLE,KAAMH,EACNI,MAAOJ,EAAI+C,EACX1C,OAAQJ,EAAI+C,EACZhD,IACAC,IAEJ,CClIA,SAASgD,2BAA2BC,EAAMrC,EAAWU,GACnD,IAAII,UACFA,EAASC,SACTA,GACEsB,EACJ,MAAMC,EAAWjC,YAAYL,GACvBY,EAAgBL,iBAAiBP,GACjCuC,EAAcnC,cAAcQ,GAC5Ba,EAAO1B,QAAQC,GACfwC,EAA0B,MAAbF,EACbG,EAAU3B,EAAU3B,EAAI2B,EAAUoB,MAAQ,EAAInB,EAASmB,MAAQ,EAC/DQ,EAAU5B,EAAU1B,EAAI0B,EAAUqB,OAAS,EAAIpB,EAASoB,OAAS,EACjEQ,EAAc7B,EAAUyB,GAAe,EAAIxB,EAASwB,GAAe,EACzE,IAAIK,EACJ,OAAQnB,GACN,IAAK,MACHmB,EAAS,CACPzD,EAAGsD,EACHrD,EAAG0B,EAAU1B,EAAI2B,EAASoB,QAE5B,MACF,IAAK,SACHS,EAAS,CACPzD,EAAGsD,EACHrD,EAAG0B,EAAU1B,EAAI0B,EAAUqB,QAE7B,MACF,IAAK,QACHS,EAAS,CACPzD,EAAG2B,EAAU3B,EAAI2B,EAAUoB,MAC3B9C,EAAGsD,GAEL,MACF,IAAK,OACHE,EAAS,CACPzD,EAAG2B,EAAU3B,EAAI4B,EAASmB,MAC1B9C,EAAGsD,GAEL,MACF,QACEE,EAAS,CACPzD,EAAG2B,EAAU3B,EACbC,EAAG0B,EAAU1B,GAGnB,OAAQa,aAAaD,IACnB,IAAK,QACH4C,EAAOhC,IAAkB+B,GAAejC,GAAO8B,GAAa,EAAK,GACjE,MACF,IAAK,MACHI,EAAOhC,IAAkB+B,GAAejC,GAAO8B,GAAa,EAAK,GAGrE,OAAOI,CACT,CAUAC,eAAeC,eAAeC,EAAOC,GACnC,IAAIC,OACY,IAAZD,IACFA,EAAU,IAEZ,MAAM7D,EACJA,EAACC,EACDA,EAAC8D,SACDA,EAAQzC,MACRA,EAAK0C,SACLA,EAAQC,SACRA,GACEL,GACEM,SACJA,EAAW,oBAAmBC,aAC9BA,EAAe,WAAUC,eACzBA,EAAiB,WAAUC,YAC3BA,GAAc,EAAK1B,QACnBA,EAAU,GACRjC,SAASmD,EAASD,GAChBU,EAAgB1B,iBAAiBD,GAEjC1e,EAAU+f,EAASK,EADa,aAAnBD,EAAgC,YAAc,WACbA,GAC9CG,EAAqB1B,uBAAuBkB,EAASS,gBAAgB,CACzEvgB,QAAiH,OAAtG6f,QAAqD,MAAtBC,EAASzW,eAAoB,EAASyW,EAASzW,UAAUrJ,MAAqB6f,EAAgC7f,EAAUA,EAAQwgB,sBAAyD,MAA/BV,EAASW,wBAA6B,EAASX,EAASW,mBAAmBV,EAASpC,WACxRsC,WACAC,eACAF,cAEInB,EAA0B,aAAnBsB,EAAgC,CAC3CpE,IACAC,IACA8C,MAAOzB,EAAMM,SAASmB,MACtBC,OAAQ1B,EAAMM,SAASoB,QACrB1B,EAAMK,UACJgD,QAAkD,MAA5BZ,EAASa,qBAA0B,EAASb,EAASa,gBAAgBZ,EAASpC,WACpGiD,QAA4C,MAAtBd,EAASzW,eAAoB,EAASyW,EAASzW,UAAUqX,WAA+C,MAArBZ,EAASe,cAAmB,EAASf,EAASe,SAASH,KAGlK,CACF3E,EAAG,EACHC,EAAG,GAEC8E,EAAoBlC,iBAAiBkB,EAASiB,4DAA8DjB,EAASiB,sDAAsD,CAC/KhB,WACAlB,OACA6B,eACAV,aACGnB,GACL,MAAO,CACLxC,KAAMiE,EAAmBjE,IAAMyE,EAAkBzE,IAAMgE,EAAchE,KAAOuE,EAAY5E,EACxFI,QAAS0E,EAAkB1E,OAASkE,EAAmBlE,OAASiE,EAAcjE,QAAUwE,EAAY5E,EACpGE,MAAOoE,EAAmBpE,KAAO4E,EAAkB5E,KAAOmE,EAAcnE,MAAQ0E,EAAY7E,EAC5FI,OAAQ2E,EAAkB3E,MAAQmE,EAAmBnE,MAAQkE,EAAclE,OAASyE,EAAY7E,EAEpG,CAGA,MAAMiF,gBAAkB,GASlBC,kBAAkBxB,MAAO/B,EAAWC,EAAUhR,KAClD,MAAMiQ,UACJA,EAAY,SAAQoD,SACpBA,EAAW,WAAUkB,WACrBA,EAAa,GAAEpB,SACfA,GACEnT,EACEwU,EAA6BrB,EAASJ,eAAiBI,EAAW,IACnEA,EACHJ,+BAEIpC,QAA+B,MAAlBwC,EAAS/U,WAAgB,EAAS+U,EAAS/U,MAAM4S,IACpE,IAAIN,QAAcyC,EAASsB,gBAAgB,CACzC1D,YACAC,WACAqC,cAEEjE,EACFA,EAACC,EACDA,GACEgD,2BAA2B3B,EAAOT,EAAWU,GAC7C+D,EAAoBzE,EACpB0E,EAAa,EACjB,MAAMC,EAAiB,GACvB,IAAK,IAAIC,EAAI,EAAGA,EAAIN,EAAW7b,OAAQmc,IAAK,CAC1C,MAAMC,EAAoBP,EAAWM,GACrC,IAAKC,EACH,SAEF,MAAMjT,KACJA,EAAI5M,GACJA,GACE6f,GAEF1F,EAAG2F,EACH1F,EAAG2F,EAAK5Q,KACRA,EAAI6Q,MACJA,SACQhgB,EAAG,CACXma,IACAC,IACA6F,iBAAkBjF,EAClBA,UAAWyE,EACXrB,WACAuB,iBACAlE,QACAyC,SAAUqB,EACVpB,SAAU,CACRrC,YACAC,cAGJ5B,EAAa,MAAT2F,EAAgBA,EAAQ3F,EAC5BC,EAAa,MAAT2F,EAAgBA,EAAQ3F,EAC5BuF,EAAe/S,GAAQ,IAClB+S,EAAe/S,MACfuC,GAED6Q,GAASN,EAnEO,KAoElBA,IACqB,iBAAVM,IACLA,EAAMhF,YACRyE,EAAoBO,EAAMhF,WAExBgF,EAAMvE,QACRA,GAAwB,IAAhBuE,EAAMvE,YAAuByC,EAASsB,gBAAgB,CAC5D1D,YACAC,WACAqC,aACG4B,EAAMvE,SAGXtB,IACAC,KACEgD,2BAA2B3B,EAAOgE,EAAmB/D,KAE3DkE,GAAI,EAER,CACA,MAAO,CACLzF,IACAC,IACAY,UAAWyE,EACXrB,WACAuB,mBASEO,QAAQlC,IAAO,CACnBpR,KAAM,QACNoR,UACA,QAAMhe,CAAG+d,GACP,MAAM5D,EACJA,EAACC,EACDA,EAACY,UACDA,EAASS,MACTA,EAAKyC,SACLA,EAAQC,SACRA,EAAQwB,eACRA,GACE5B,GAEE3f,QACJA,EAAO0e,QACPA,EAAU,GACRjC,SAASmD,EAASD,IAAU,GAChC,GAAe,MAAX3f,EACF,MAAO,GAET,MAAMqgB,EAAgB1B,iBAAiBD,GACjCc,EAAS,CACbzD,IACAC,KAEIe,EAAOI,iBAAiBP,GACxBvX,EAAS2X,cAAcD,GACvBgF,QAAwBjC,EAASkC,cAAchiB,GAC/CiiB,EAAmB,MAATlF,EACVmF,EAAUD,EAAU,MAAQ,OAC5BE,EAAUF,EAAU,SAAW,QAC/BG,EAAaH,EAAU,eAAiB,cACxCI,EAAUhF,EAAMK,UAAUrY,GAAUgY,EAAMK,UAAUX,GAAQyC,EAAOzC,GAAQM,EAAMM,SAAStY,GAC1Fid,EAAY9C,EAAOzC,GAAQM,EAAMK,UAAUX,GAC3CwF,QAAuD,MAA5BzC,EAASa,qBAA0B,EAASb,EAASa,gBAAgB3gB,IACtG,IAAIwiB,EAAaD,EAAoBA,EAAkBH,GAAc,EAGhEI,SAA6C,MAAtB1C,EAASzW,eAAoB,EAASyW,EAASzW,UAAUkZ,MACnFC,EAAazC,EAASpC,SAASyE,IAAe/E,EAAMM,SAAStY,IAE/D,MAAMod,EAAoBJ,EAAU,EAAIC,EAAY,EAI9CI,EAAyBF,EAAa,EAAIT,EAAgB1c,GAAU,EAAI,EACxEsd,EAAavW,IAAIiU,EAAc6B,GAAUQ,GACzCE,EAAaxW,IAAIiU,EAAc8B,GAAUO,GAIzCG,EAAQF,EACRxW,EAAMqW,EAAaT,EAAgB1c,GAAUud,EAC7CE,EAASN,EAAa,EAAIT,EAAgB1c,GAAU,EAAIod,EACxDM,EAASzG,MAAMuG,EAAOC,EAAQ3W,GAM9B6W,GAAmBzB,EAAeO,OAAoC,MAA3BjF,aAAaD,IAAsBkG,IAAWC,GAAU1F,EAAMK,UAAUrY,GAAU,GAAKyd,EAASD,EAAQF,EAAaC,GAAcb,EAAgB1c,GAAU,EAAI,EAC5M4d,EAAkBD,EAAkBF,EAASD,EAAQC,EAASD,EAAQC,EAAS3W,EAAM,EAC3F,MAAO,CACL4Q,CAACA,GAAOyC,EAAOzC,GAAQkG,EACvBlS,KAAM,CACJgM,CAACA,GAAOgG,EACRG,aAAcJ,EAASC,EAASE,KAC5BD,GAAmB,CACrBC,oBAGJrB,MAAOoB,EAEX,IAgHIG,OAAO,SAAUvD,GAIrB,YAHgB,IAAZA,IACFA,EAAU,IAEL,CACLpR,KAAM,OACNoR,UACA,QAAMhe,CAAG+d,GACP,IAAIyD,EAAuBC,EAC3B,MAAMzG,UACJA,EAAS2E,eACTA,EAAclE,MACdA,EAAKwE,iBACLA,EAAgB/B,SAChBA,EAAQC,SACRA,GACEJ,GAEF2D,SAAUC,GAAgB,EAC1BC,UAAWC,GAAiB,EAC5BC,mBAAoBC,EAA2BC,iBAC/CA,EAAmB,UAASC,0BAC5BA,EAA4B,OAAMrF,cAClCA,GAAgB,KACbsF,GACDrH,SAASmD,EAASD,GAMtB,GAAsD,OAAjDyD,EAAwB7B,EAAeO,QAAkBsB,EAAsBH,gBAClF,MAAO,GAET,MAAM5E,EAAO1B,QAAQC,GACfmH,EAAkB9G,YAAY4E,GAC9BmC,EAAkBrH,QAAQkF,KAAsBA,EAChDvE,QAA+B,MAAlBwC,EAAS/U,WAAgB,EAAS+U,EAAS/U,MAAMgV,EAASpC,WACvE+F,EAAqBC,IAAgCK,IAAoBxF,EAAgB,CAACZ,qBAAqBiE,IAAqBhE,sBAAsBgE,IAC1JoC,EAA6D,SAA9BJ,GAChCF,GAA+BM,GAClCP,EAAmBlU,QAAQ+O,0BAA0BsD,EAAkBrD,EAAeqF,EAA2BvG,IAEnH,MAAM4G,EAAa,CAACrC,KAAqB6B,GACnCS,QAAiBrE,EAASJ,eAAeC,EAAOmE,GAChDM,EAAY,GAClB,IAAIC,GAAiE,OAA/ChB,EAAuB9B,EAAe4B,WAAgB,EAASE,EAAqBe,YAAc,GAIxH,GAHIb,GACFa,EAAU5U,KAAK2U,EAAS9F,IAEtBoF,EAAgB,CAClB,MAAMa,EAAQlH,kBAAkBR,EAAWS,EAAOC,GAClD8G,EAAU5U,KAAK2U,EAASG,EAAM,IAAKH,EAASG,EAAM,IACpD,CAOA,GANAD,EAAgB,IAAIA,EAAe,CACjCzH,YACAwH,eAIGA,EAAUG,MAAMlG,GAAQA,GAAQ,GAAI,CACvC,IAAImG,EAAuBC,EAC3B,MAAMC,IAA+D,OAAhDF,EAAwBjD,EAAe4B,WAAgB,EAASqB,EAAsBvY,QAAU,GAAK,EACpH0Y,EAAgBT,EAAWQ,GACjC,GAAIC,IACiD,cAAnBlB,GAAiCM,IAAoB9G,YAAY0H,IAIjGN,EAAcE,MAAMK,GAAK3H,YAAY2H,EAAEhI,aAAemH,GAAkBa,EAAER,UAAU,GAAK,IAEvF,MAAO,CACLrT,KAAM,CACJ9E,MAAOyY,EACPN,UAAWC,GAEbzC,MAAO,CACLhF,UAAW+H,IAQnB,IAAIE,EAAgJ,OAA9HJ,EAAwBJ,EAAcjd,OAAOwd,GAAKA,EAAER,UAAU,IAAM,GAAGU,KAAK,CAACC,EAAGC,IAAMD,EAAEX,UAAU,GAAKY,EAAEZ,UAAU,IAAI,SAAc,EAASK,EAAsB7H,UAG1L,IAAKiI,EACH,OAAQjB,GACN,IAAK,UACH,CACE,IAAIqB,EACJ,MAAMrI,EASmJ,OATtIqI,EAAyBZ,EAAcjd,OAAOwd,IAC/D,GAAIX,EAA8B,CAChC,MAAMiB,EAAkBjI,YAAY2H,EAAEhI,WACtC,OAAOsI,IAAoBnB,GAGP,MAApBmB,CACF,CACA,OAAO,IACNtW,IAAIgW,GAAK,CAACA,EAAEhI,UAAWgI,EAAER,UAAUhd,OAAO+c,GAAYA,EAAW,GAAGgB,OAAO,CAACC,EAAKjB,IAAaiB,EAAMjB,EAAU,KAAKW,KAAK,CAACC,EAAGC,IAAMD,EAAE,GAAKC,EAAE,IAAI,SAAc,EAASC,EAAuB,GAC5LrI,IACFiI,EAAiBjI,GAEnB,KACF,CACF,IAAK,mBACHiI,EAAiBhD,EAIvB,GAAIjF,IAAciI,EAChB,MAAO,CACLjD,MAAO,CACLhF,UAAWiI,GAInB,CACA,MAAO,EACT,EAEJ,EA2MMQ,YAA2B,IAAI9jB,IAAI,CAAC,OAAQ,QAKlDke,eAAe6F,qBAAqB3F,EAAOC,GACzC,MAAMhD,UACJA,EAASkD,SACTA,EAAQC,SACRA,GACEJ,EACErC,QAA+B,MAAlBwC,EAAS/U,WAAgB,EAAS+U,EAAS/U,MAAMgV,EAASpC,WACvEU,EAAO1B,QAAQC,GACfW,EAAYV,aAAaD,GACzBwC,EAAwC,MAA3BnC,YAAYL,GACzB2I,EAAgBF,YAAYllB,IAAIke,IAAQ,EAAK,EAC7CmH,EAAiBlI,GAAO8B,GAAa,EAAK,EAC1CqG,EAAWhJ,SAASmD,EAASD,GAGnC,IAAI2D,SACFA,EAAQE,UACRA,EAAShG,cACTA,GACsB,iBAAbiI,EAAwB,CACjCnC,SAAUmC,EACVjC,UAAW,EACXhG,cAAe,MACb,CACF8F,SAAUmC,EAASnC,UAAY,EAC/BE,UAAWiC,EAASjC,WAAa,EACjChG,cAAeiI,EAASjI,eAK1B,OAHID,GAAsC,iBAAlBC,IACtBgG,EAA0B,QAAdjG,GAAsC,EAAhBC,EAAqBA,GAElD4B,EAAa,CAClBrD,EAAGyH,EAAYgC,EACfxJ,EAAGsH,EAAWiC,GACZ,CACFxJ,EAAGuH,EAAWiC,EACdvJ,EAAGwH,EAAYgC,EAEnB,CASA,MAAMzC,SAAS,SAAUnD,GAIvB,YAHgB,IAAZA,IACFA,EAAU,GAEL,CACLpR,KAAM,SACNoR,UACA,QAAMhe,CAAG+d,GACP,IAAI+F,EAAuBtC,EAC3B,MAAMrH,EACJA,EAACC,EACDA,EAACY,UACDA,EAAS2E,eACTA,GACE5B,EACEgG,QAAmBL,qBAAqB3F,EAAOC,GAIrD,OAAIhD,KAAkE,OAAlD8I,EAAwBnE,EAAewB,aAAkB,EAAS2C,EAAsB9I,YAAgE,OAAjDwG,EAAwB7B,EAAeO,QAAkBsB,EAAsBH,gBACjM,GAEF,CACLlH,EAAGA,EAAI4J,EAAW5J,EAClBC,EAAGA,EAAI2J,EAAW3J,EAClBjL,KAAM,IACD4U,EACH/I,aAGN,EAEJ,EAOMgJ,QAAQ,SAAUhG,GAItB,YAHgB,IAAZA,IACFA,EAAU,IAEL,CACLpR,KAAM,QACNoR,UACA,QAAMhe,CAAG+d,GACP,MAAM5D,EACJA,EAACC,EACDA,EAACY,UACDA,EAASkD,SACTA,GACEH,GAEF2D,SAAUC,GAAgB,EAC1BC,UAAWC,GAAiB,EAAKoC,QACjCA,EAAU,CACRjkB,GAAIqd,IACF,IAAIlD,EACFA,EAACC,EACDA,GACEiD,EACJ,MAAO,CACLlD,IACAC,UAIH8H,GACDrH,SAASmD,EAASD,GAChBH,EAAS,CACbzD,IACAC,KAEImI,QAAiBrE,EAASJ,eAAeC,EAAOmE,GAChDN,EAAYvG,YAAYN,QAAQC,IAChC0G,EAAWxG,gBAAgB0G,GACjC,IAAIsC,EAAgBtG,EAAO8D,GACvByC,EAAiBvG,EAAOgE,GAC5B,GAAID,EAAe,CACjB,MACMyC,EAAuB,MAAb1C,EAAmB,SAAW,QAG9CwC,EAAgBxJ,MAFJwJ,EAAgB3B,EAFC,MAAbb,EAAmB,MAAQ,QAIhBwC,EADfA,EAAgB3B,EAAS6B,GAEvC,CACA,GAAIvC,EAAgB,CAClB,MACMuC,EAAwB,MAAdxC,EAAoB,SAAW,QAG/CuC,EAAiBzJ,MAFLyJ,EAAiB5B,EAFC,MAAdX,EAAoB,MAAQ,QAIhBuC,EADhBA,EAAiB5B,EAAS6B,GAExC,CACA,MAAMC,EAAgBJ,EAAQjkB,GAAG,IAC5B+d,EACH2D,CAACA,GAAWwC,EACZtC,CAACA,GAAYuC,IAEf,MAAO,IACFE,EACHlV,KAAM,CACJgL,EAAGkK,EAAclK,EAAIA,EACrBC,EAAGiK,EAAcjK,EAAIA,EACrBkK,QAAS,CACP5C,CAACA,GAAWC,EACZC,CAACA,GAAYC,IAIrB,EAEJ,ECv4BA,SAAS0C,YACP,MAAyB,oBAAXte,MAChB,CACA,SAASue,YAAYC,GACnB,OAAIC,OAAOD,IACDA,EAAKE,UAAY,IAAI7f,cAKxB,WACT,CACA,SAAS8f,UAAUH,GACjB,IAAII,EACJ,OAAgB,MAARJ,GAA8D,OAA7CI,EAAsBJ,EAAKK,oBAAyB,EAASD,EAAoBE,cAAgB9e,MAC5H,CACA,SAAS4Y,mBAAmB4F,GAC1B,IAAIpH,EACJ,OAA0F,OAAlFA,GAAQqH,OAAOD,GAAQA,EAAKK,cAAgBL,EAAK3d,WAAab,OAAOa,eAAoB,EAASuW,EAAK1U,eACjH,CACA,SAAS+b,OAAOvgB,GACd,QAAKogB,cAGEpgB,aAAiBkE,MAAQlE,aAAiBygB,UAAUzgB,GAAOkE,KACpE,CACA,SAASZ,UAAUtD,GACjB,QAAKogB,cAGEpgB,aAAiBkJ,SAAWlJ,aAAiBygB,UAAUzgB,GAAOkJ,QACvE,CACA,SAAS2X,cAAc7gB,GACrB,QAAKogB,cAGEpgB,aAAiB8gB,aAAe9gB,aAAiBygB,UAAUzgB,GAAO8gB,YAC3E,CACA,SAASC,aAAa/gB,GACpB,SAAKogB,aAAqC,oBAAfxb,cAGpB5E,aAAiB4E,YAAc5E,aAAiBygB,UAAUzgB,GAAO4E,WAC1E,CACA,SAASoc,kBAAkB/mB,GACzB,MAAMmkB,SACJA,EAAQ6C,UACRA,EAASC,UACTA,EAASC,QACTA,GACEne,mBAAiB/I,GACrB,MAAO,kCAAkCsN,KAAK6W,EAAW8C,EAAYD,IAA0B,WAAZE,GAAoC,aAAZA,CAC7G,CACA,SAASC,eAAennB,GACtB,MAAO,kBAAkBsN,KAAK8Y,YAAYpmB,GAC5C,CACA,SAASonB,WAAWpnB,GAClB,IACE,GAAIA,EAAQqP,QAAQ,iBAClB,OAAO,CAEX,CAAE,MAAOgY,GACP,CAEF,IACE,OAAOrnB,EAAQqP,QAAQ,SACzB,CAAE,MAAOgY,GACP,OAAO,CACT,CACF,CACA,MAAMC,aAAe,sDACfC,UAAY,8BACZC,UAAYzhB,KAAWA,GAAmB,SAAVA,EACtC,IAAI0hB,cACJ,SAASC,kBAAkBC,GACzB,MAAMC,EAAMve,UAAUse,GAAgB5e,mBAAiB4e,GAAgBA,EAIvE,OAAOH,UAAUI,EAAIC,YAAcL,UAAUI,EAAIE,YAAcN,UAAUI,EAAIG,QAAUP,UAAUI,EAAII,SAAWR,UAAUI,EAAIK,eAAiBC,aAAeV,UAAUI,EAAIO,iBAAmBX,UAAUI,EAAIxgB,UAAYkgB,aAAaha,KAAKsa,EAAIQ,YAAc,KAAOb,UAAUja,KAAKsa,EAAIS,SAAW,GACpS,CACA,SAASC,mBAAmBtoB,GAC1B,IAAIuoB,EAAcC,cAAcxoB,GAChC,KAAO4mB,cAAc2B,KAAiBE,sBAAsBF,IAAc,CACxE,GAAIb,kBAAkBa,GACpB,OAAOA,EACF,GAAInB,WAAWmB,GACpB,OAAO,KAETA,EAAcC,cAAcD,EAC9B,CACA,OAAO,IACT,CACA,SAASL,WAIP,OAHqB,MAAjBT,gBACFA,cAA+B,oBAAR3f,KAAuBA,IAAI4gB,UAAY5gB,IAAI4gB,SAAS,0BAA2B,SAEjGjB,aACT,CACA,SAASgB,sBAAsBpC,GAC7B,MAAO,0BAA0B/Y,KAAK8Y,YAAYC,GACpD,CACA,SAAStd,mBAAiB/I,GACxB,OAAOwmB,UAAUxmB,GAAS+I,iBAAiB/I,EAC7C,CACA,SAAS2oB,cAAc3oB,GACrB,OAAIqJ,UAAUrJ,GACL,CACL4oB,WAAY5oB,EAAQ4oB,WACpBC,UAAW7oB,EAAQ6oB,WAGhB,CACLD,WAAY5oB,EAAQ8oB,QACpBD,UAAW7oB,EAAQ+oB,QAEvB,CACA,SAASP,cAAcnC,GACrB,GAA0B,SAAtBD,YAAYC,GACd,OAAOA,EAET,MAAM2C,EAEN3C,EAAK4C,cAEL5C,EAAKzjB,YAELkkB,aAAaT,IAASA,EAAK6C,MAE3BzI,mBAAmB4F,GACnB,OAAOS,aAAakC,GAAUA,EAAOE,KAAOF,CAC9C,CACA,SAASG,2BAA2B9C,GAClC,MAAMzjB,EAAa4lB,cAAcnC,GACjC,OAAIoC,sBAAsB7lB,GACjByjB,EAAKK,cAAgBL,EAAKK,cAAc0C,KAAO/C,EAAK+C,KAEzDxC,cAAchkB,IAAemkB,kBAAkBnkB,GAC1CA,EAEFumB,2BAA2BvmB,EACpC,CACA,SAASymB,qBAAqBhD,EAAMza,EAAM0d,GACxC,IAAIC,OACS,IAAT3d,IACFA,EAAO,SAEe,IAApB0d,IACFA,GAAkB,GAEpB,MAAME,EAAqBL,2BAA2B9C,GAChDoD,EAASD,KAAuE,OAA9CD,EAAuBlD,EAAKK,oBAAyB,EAAS6C,EAAqBH,MACrHM,EAAMlD,UAAUgD,GACtB,GAAIC,EAAQ,CACV,MAAME,EAAeC,gBAAgBF,GACrC,OAAO9d,EAAKoD,OAAO0a,EAAKA,EAAIG,gBAAkB,GAAI9C,kBAAkByC,GAAsBA,EAAqB,GAAIG,GAAgBL,EAAkBD,qBAAqBM,GAAgB,GAC5L,CACE,OAAO/d,EAAKoD,OAAOwa,EAAoBH,qBAAqBG,EAAoB,GAAIF,GAExF,CACA,SAASM,gBAAgBF,GACvB,OAAOA,EAAIvP,QAAUjX,OAAO4mB,eAAeJ,EAAIvP,QAAUuP,EAAIC,aAAe,IAC9E,CC7JA,SAASI,iBAAiB/pB,GACxB,MAAM4nB,EAAMoC,mBAAmBhqB,GAG/B,IAAI8e,EAAQ7V,WAAW2e,EAAI9I,QAAU,EACjCC,EAAS9V,WAAW2e,EAAI7I,SAAW,EACvC,MAAMkL,EAAYrD,cAAc5mB,GAC1BkqB,EAAcD,EAAYjqB,EAAQkqB,YAAcpL,EAChDhU,EAAemf,EAAYjqB,EAAQ8K,aAAeiU,EAClDoL,EAAiBvO,MAAMkD,KAAWoL,GAAetO,MAAMmD,KAAYjU,EAKzE,OAJIqf,IACFrL,EAAQoL,EACRnL,EAASjU,GAEJ,CACLgU,QACAC,SACAqL,EAAGD,EAEP,CAEA,SAASE,cAAcrqB,GACrB,OAAQqJ,UAAUrJ,GAAoCA,EAAzBA,EAAQwgB,cACvC,CAEA,SAASK,SAAS7gB,GAChB,MAAM6C,EAAawnB,cAAcrqB,GACjC,IAAK4mB,cAAc/jB,GACjB,OAAOgZ,aAAa,GAEtB,MAAMgD,EAAOhc,EAAW2Y,yBAClBsD,MACJA,EAAKC,OACLA,EAAMqL,EACNA,GACEL,iBAAiBlnB,GACrB,IAAIkZ,GAAKqO,EAAIxO,MAAMiD,EAAKC,OAASD,EAAKC,OAASA,EAC3C9C,GAAKoO,EAAIxO,MAAMiD,EAAKE,QAAUF,EAAKE,QAAUA,EAUjD,OANKhD,GAAM5V,OAAOmkB,SAASvO,KACzBA,EAAI,GAEDC,GAAM7V,OAAOmkB,SAAStO,KACzBA,EAAI,GAEC,CACLD,IACAC,IAEJ,CAEA,MAAMuO,UAAyB1O,aAAa,GAC5C,SAAS2O,iBAAiBxqB,GACxB,MAAM0pB,EAAMlD,UAAUxmB,GACtB,OAAKkoB,YAAewB,EAAIG,eAGjB,CACL9N,EAAG2N,EAAIG,eAAeY,WACtBzO,EAAG0N,EAAIG,eAAea,WAJfH,SAMX,CACA,SAASI,uBAAuB3qB,EAAS4qB,EAASC,GAIhD,YAHgB,IAAZD,IACFA,GAAU,MAEPC,GAAwBD,GAAWC,IAAyBrE,UAAUxmB,KAGpE4qB,CACT,CAEA,SAASpP,sBAAsBxb,EAAS8qB,EAAcC,EAAiBrK,QAChD,IAAjBoK,IACFA,GAAe,QAEO,IAApBC,IACFA,GAAkB,GAEpB,MAAMC,EAAahrB,EAAQwb,wBACrB3Y,EAAawnB,cAAcrqB,GACjC,IAAI+nB,EAAQlM,aAAa,GACrBiP,IACEpK,EACErX,UAAUqX,KACZqH,EAAQlH,SAASH,IAGnBqH,EAAQlH,SAAS7gB,IAGrB,MAAMirB,EAAgBN,uBAAuB9nB,EAAYkoB,EAAiBrK,GAAgB8J,iBAAiB3nB,GAAcgZ,aAAa,GACtI,IAAIE,GAAKiP,EAAW9O,KAAO+O,EAAclP,GAAKgM,EAAMhM,EAChDC,GAAKgP,EAAW3O,IAAM4O,EAAcjP,GAAK+L,EAAM/L,EAC/C8C,EAAQkM,EAAWlM,MAAQiJ,EAAMhM,EACjCgD,EAASiM,EAAWjM,OAASgJ,EAAM/L,EACvC,GAAInZ,EAAY,CACd,MAAM6mB,EAAMlD,UAAU3jB,GAChBqoB,EAAYxK,GAAgBrX,UAAUqX,GAAgB8F,UAAU9F,GAAgBA,EACtF,IAAIyK,EAAazB,EACb0B,EAAgBxB,gBAAgBuB,GACpC,KAAOC,GAAiB1K,GAAgBwK,IAAcC,GAAY,CAChE,MAAME,EAAcxK,SAASuK,GACvBE,EAAaF,EAAc5P,wBAC3BoM,EAAMoC,mBAAmBoB,GACzBlP,EAAOoP,EAAWpP,MAAQkP,EAAcG,WAAatiB,WAAW2e,EAAI4D,cAAgBH,EAAYtP,EAChGM,EAAMiP,EAAWjP,KAAO+O,EAAcK,UAAYxiB,WAAW2e,EAAI8D,aAAeL,EAAYrP,EAClGD,GAAKsP,EAAYtP,EACjBC,GAAKqP,EAAYrP,EACjB8C,GAASuM,EAAYtP,EACrBgD,GAAUsM,EAAYrP,EACtBD,GAAKG,EACLF,GAAKK,EACL8O,EAAa3E,UAAU4E,GACvBA,EAAgBxB,gBAAgBuB,EAClC,CACF,CACA,OAAOvM,iBAAiB,CACtBE,QACAC,SACAhD,IACAC,KAEJ,CAIA,SAAS2P,oBAAoB3rB,EAAS6e,GACpC,MAAM+M,EAAajD,cAAc3oB,GAAS4oB,WAC1C,OAAK/J,EAGEA,EAAK3C,KAAO0P,EAFVpQ,sBAAsBiF,mBAAmBzgB,IAAUkc,KAAO0P,CAGrE,CAEA,SAASC,cAActhB,EAAiBuhB,GACtC,MAAMC,EAAWxhB,EAAgBiR,wBAGjC,MAAO,CACLO,EAHQgQ,EAAS7P,KAAO4P,EAAOlD,WAAa+C,oBAAoBphB,EAAiBwhB,GAIjF/P,EAHQ+P,EAAS1P,IAAMyP,EAAOjD,UAKlC,CAEA,SAAS9H,sDAAsD9B,GAC7D,IAAIc,SACFA,EAAQlB,KACRA,EAAI6B,aACJA,EAAYV,SACZA,GACEf,EACJ,MAAM2L,EAAuB,UAAb5K,EACVzV,EAAkBkW,mBAAmBC,GACrCsL,IAAWjM,GAAWqH,WAAWrH,EAASpC,UAChD,GAAI+C,IAAiBnW,GAAmByhB,GAAYpB,EAClD,OAAO/L,EAET,IAAIiN,EAAS,CACXlD,WAAY,EACZC,UAAW,GAETd,EAAQlM,aAAa,GACzB,MAAMoQ,EAAUpQ,aAAa,GACvBqQ,EAA0BtF,cAAclG,GAC9C,IAAIwL,IAA4BA,IAA4BtB,MACxB,SAA9BxE,YAAY1F,IAA4BqG,kBAAkBxc,MAC5DuhB,EAASnD,cAAcjI,IAErBwL,GAAyB,CAC3B,MAAMC,EAAa3Q,sBAAsBkF,GACzCqH,EAAQlH,SAASH,GACjBuL,EAAQlQ,EAAIoQ,EAAWpQ,EAAI2E,EAAa6K,WACxCU,EAAQjQ,EAAImQ,EAAWnQ,EAAI0E,EAAa+K,SAC1C,CAEF,MAAMW,GAAa7hB,GAAoB2hB,GAA4BtB,EAAmD/O,aAAa,GAAtDgQ,cAActhB,EAAiBuhB,GAC5G,MAAO,CACLhN,MAAOD,EAAKC,MAAQiJ,EAAMhM,EAC1BgD,OAAQF,EAAKE,OAASgJ,EAAM/L,EAC5BD,EAAG8C,EAAK9C,EAAIgM,EAAMhM,EAAI+P,EAAOlD,WAAab,EAAMhM,EAAIkQ,EAAQlQ,EAAIqQ,EAAWrQ,EAC3EC,EAAG6C,EAAK7C,EAAI+L,EAAM/L,EAAI8P,EAAOjD,UAAYd,EAAM/L,EAAIiQ,EAAQjQ,EAAIoQ,EAAWpQ,EAE9E,CAEA,SAAStS,eAAe1J,GACtB,OAAOS,MAAMC,KAAKV,EAAQ0J,iBAC5B,CAIA,SAAS2iB,gBAAgBrsB,GACvB,MAAMssB,EAAO7L,mBAAmBzgB,GAC1B8rB,EAASnD,cAAc3oB,GACvBopB,EAAOppB,EAAQ0mB,cAAc0C,KAC7BtK,EAAQ3S,IAAImgB,EAAKC,YAAaD,EAAKE,YAAapD,EAAKmD,YAAanD,EAAKoD,aACvEzN,EAAS5S,IAAImgB,EAAKG,aAAcH,EAAKI,aAActD,EAAKqD,aAAcrD,EAAKsD,cACjF,IAAI3Q,GAAK+P,EAAOlD,WAAa+C,oBAAoB3rB,GACjD,MAAMgc,GAAK8P,EAAOjD,UAIlB,MAH2C,QAAvCmB,mBAAmBZ,GAAMxV,YAC3BmI,GAAK5P,IAAImgB,EAAKE,YAAapD,EAAKoD,aAAe1N,GAE1C,CACLA,QACAC,SACAhD,IACAC,IAEJ,CAKA,MAAM2Q,cAAgB,GACtB,SAASC,gBAAgB5sB,EAASggB,GAChC,MAAM0J,EAAMlD,UAAUxmB,GAChBssB,EAAO7L,mBAAmBzgB,GAC1B6pB,EAAiBH,EAAIG,eAC3B,IAAI/K,EAAQwN,EAAKE,YACbzN,EAASuN,EAAKI,aACd3Q,EAAI,EACJC,EAAI,EACR,GAAI6N,EAAgB,CAClB/K,EAAQ+K,EAAe/K,MACvBC,EAAS8K,EAAe9K,OACxB,MAAM8N,EAAsB3E,aACvB2E,GAAuBA,GAAoC,UAAb7M,KACjDjE,EAAI8N,EAAeY,WACnBzO,EAAI6N,EAAea,UAEvB,CACA,MAAMoC,EAAmBnB,oBAAoBW,GAI7C,GAAIQ,GAAoB,EAAG,CACzB,MAAMC,EAAMT,EAAK5F,cACX0C,EAAO2D,EAAI3D,KACX4D,EAAajkB,iBAAiBqgB,GAC9B6D,EAAsC,eAAnBF,EAAIG,YAA8BjkB,WAAW+jB,EAAWG,YAAclkB,WAAW+jB,EAAWI,cAAoB,EACnIC,EAA+B9kB,KAAKoL,IAAI2Y,EAAKE,YAAcpD,EAAKoD,YAAcS,GAChFI,GA5Bc,KA6BhBvO,GAASuO,EAEb,MAAWP,GA/BS,KAkClBhO,GAASgO,GAEX,MAAO,CACLhO,QACAC,SACAhD,IACAC,IAEJ,CAGA,SAASsR,2BAA2BttB,EAASggB,GAC3C,MAAMgL,EAAaxP,sBAAsBxb,GAAS,EAAmB,UAAbggB,GAClD3D,EAAM2O,EAAW3O,IAAMrc,EAAQyrB,UAC/BvP,EAAO8O,EAAW9O,KAAOlc,EAAQurB,WACjCxD,EAAQnB,cAAc5mB,GAAW6gB,SAAS7gB,GAAW6b,aAAa,GAKxE,MAAO,CACLiD,MALY9e,EAAQwsB,YAAczE,EAAMhM,EAMxCgD,OALa/e,EAAQ0sB,aAAe3E,EAAM/L,EAM1CD,EALQG,EAAO6L,EAAMhM,EAMrBC,EALQK,EAAM0L,EAAM/L,EAOxB,CACA,SAASuR,kCAAkCvtB,EAASwtB,EAAkBxN,GACpE,IAAInB,EACJ,GAAyB,aAArB2O,EACF3O,EAAO+N,gBAAgB5sB,EAASggB,QAC3B,GAAyB,aAArBwN,EACT3O,EAAOwN,gBAAgB5L,mBAAmBzgB,SACrC,GAAIqJ,UAAUmkB,GACnB3O,EAAOyO,2BAA2BE,EAAkBxN,OAC/C,CACL,MAAMiL,EAAgBT,iBAAiBxqB,GACvC6e,EAAO,CACL9C,EAAGyR,EAAiBzR,EAAIkP,EAAclP,EACtCC,EAAGwR,EAAiBxR,EAAIiP,EAAcjP,EACtC8C,MAAO0O,EAAiB1O,MACxBC,OAAQyO,EAAiBzO,OAE7B,CACA,OAAOH,iBAAiBC,EAC1B,CACA,SAAS4O,yBAAyBztB,EAAS0tB,GACzC,MAAM9qB,EAAa4lB,cAAcxoB,GACjC,QAAI4C,IAAe8qB,IAAarkB,UAAUzG,IAAe6lB,sBAAsB7lB,MAG5B,UAA5ConB,mBAAmBpnB,GAAY+qB,UAAwBF,yBAAyB7qB,EAAY8qB,GACrG,CAKA,SAASE,4BAA4B5tB,EAAS6tB,GAC5C,MAAMC,EAAeD,EAAMxtB,IAAIL,GAC/B,GAAI8tB,EACF,OAAOA,EAET,IAAI9E,EAASK,qBAAqBrpB,EAAS,IAAI,GAAOoH,OAAO4I,GAAM3G,UAAU2G,IAA2B,SAApBoW,YAAYpW,IAC5F+d,EAAsC,KAC1C,MAAMC,EAA0D,UAAzChE,mBAAmBhqB,GAAS2tB,SACnD,IAAIpF,EAAcyF,EAAiBxF,cAAcxoB,GAAWA,EAG5D,KAAOqJ,UAAUkf,KAAiBE,sBAAsBF,IAAc,CACpE,MAAM0F,EAAgBjE,mBAAmBzB,GACnC2F,EAA0BxG,kBAAkBa,GAC7C2F,GAAsD,UAA3BD,EAAcN,WAC5CI,EAAsC,OAEVC,GAAkBE,IAA4BH,GAAuCG,GAAsD,WAA3BD,EAAcN,UAA2BI,IAAyF,aAAjDA,EAAoCJ,UAA4E,UAAjDI,EAAoCJ,WAAyB5G,kBAAkBwB,KAAiB2F,GAA2BT,yBAAyBztB,EAASuoB,IAGzbS,EAASA,EAAO5hB,OAAOmI,GAAYA,IAAagZ,GAGhDwF,EAAsCE,EAExC1F,EAAcC,cAAcD,EAC9B,CAEA,OADAsF,EAAM9tB,IAAIC,EAASgpB,GACZA,CACT,CAIA,SAASzI,gBAAgBtB,GACvB,IAAIjf,QACFA,EAAOigB,SACPA,EAAQC,aACRA,EAAYF,SACZA,GACEf,EACJ,MACMkP,EAAoB,IADoB,sBAAblO,EAAmCmH,WAAWpnB,GAAW,GAAK4tB,4BAA4B5tB,EAAS2C,KAAKyrB,IAAM,GAAGpf,OAAOiR,GACjGC,GAClDmO,EAAYd,kCAAkCvtB,EAASmuB,EAAkB,GAAInO,GACnF,IAAI3D,EAAMgS,EAAUhS,IAChBF,EAAQkS,EAAUlS,MAClBC,EAASiS,EAAUjS,OACnBF,EAAOmS,EAAUnS,KACrB,IAAK,IAAIsF,EAAI,EAAGA,EAAI2M,EAAkB9oB,OAAQmc,IAAK,CACjD,MAAM3C,EAAO0O,kCAAkCvtB,EAASmuB,EAAkB3M,GAAIxB,GAC9E3D,EAAMlQ,IAAI0S,EAAKxC,IAAKA,GACpBF,EAAQ/P,IAAIyS,EAAK1C,MAAOA,GACxBC,EAAShQ,IAAIyS,EAAKzC,OAAQA,GAC1BF,EAAO/P,IAAI0S,EAAK3C,KAAMA,EACxB,CACA,MAAO,CACL4C,MAAO3C,EAAQD,EACf6C,OAAQ3C,EAASC,EACjBN,EAAGG,EACHF,EAAGK,EAEP,CAEA,SAAS2F,cAAchiB,GACrB,MAAM8e,MACJA,EAAKC,OACLA,GACEgL,iBAAiB/pB,GACrB,MAAO,CACL8e,QACAC,SAEJ,CAEA,SAASuP,8BAA8BtuB,EAAS0gB,EAAcV,GAC5D,MAAMkM,EAA0BtF,cAAclG,GACxCnW,EAAkBkW,mBAAmBC,GACrCkK,EAAuB,UAAb5K,EACVnB,EAAOrD,sBAAsBxb,GAAS,EAAM4qB,EAASlK,GAC3D,IAAIoL,EAAS,CACXlD,WAAY,EACZC,UAAW,GAEb,MAAMoD,EAAUpQ,aAAa,GAI7B,SAAS0S,IACPtC,EAAQlQ,EAAI4P,oBAAoBphB,EAClC,CACA,GAAI2hB,IAA4BA,IAA4BtB,EAI1D,IAHkC,SAA9BxE,YAAY1F,IAA4BqG,kBAAkBxc,MAC5DuhB,EAASnD,cAAcjI,IAErBwL,EAAyB,CAC3B,MAAMC,EAAa3Q,sBAAsBkF,GAAc,EAAMkK,EAASlK,GACtEuL,EAAQlQ,EAAIoQ,EAAWpQ,EAAI2E,EAAa6K,WACxCU,EAAQjQ,EAAImQ,EAAWnQ,EAAI0E,EAAa+K,SAC1C,MAAWlhB,GACTgkB,IAGA3D,IAAYsB,GAA2B3hB,GACzCgkB,IAEF,MAAMnC,GAAa7hB,GAAoB2hB,GAA4BtB,EAAmD/O,aAAa,GAAtDgQ,cAActhB,EAAiBuhB,GAG5G,MAAO,CACL/P,EAHQ8C,EAAK3C,KAAO4P,EAAOlD,WAAaqD,EAAQlQ,EAAIqQ,EAAWrQ,EAI/DC,EAHQ6C,EAAKxC,IAAMyP,EAAOjD,UAAYoD,EAAQjQ,EAAIoQ,EAAWpQ,EAI7D8C,MAAOD,EAAKC,MACZC,OAAQF,EAAKE,OAEjB,CAEA,SAASyP,mBAAmBxuB,GAC1B,MAAgD,WAAzCgqB,mBAAmBhqB,GAAS2tB,QACrC,CAEA,SAASc,oBAAoBzuB,EAAS0uB,GACpC,IAAK9H,cAAc5mB,IAAqD,UAAzCgqB,mBAAmBhqB,GAAS2tB,SACzD,OAAO,KAET,GAAIe,EACF,OAAOA,EAAS1uB,GAElB,IAAI2uB,EAAkB3uB,EAAQ0gB,aAS9B,OAHID,mBAAmBzgB,KAAa2uB,IAClCA,EAAkBA,EAAgBjI,cAAc0C,MAE3CuF,CACT,CAIA,SAAShO,gBAAgB3gB,EAAS0uB,GAChC,MAAMhF,EAAMlD,UAAUxmB,GACtB,GAAIonB,WAAWpnB,GACb,OAAO0pB,EAET,IAAK9C,cAAc5mB,GAAU,CAC3B,IAAI4uB,EAAkBpG,cAAcxoB,GACpC,KAAO4uB,IAAoBnG,sBAAsBmG,IAAkB,CACjE,GAAIvlB,UAAUulB,KAAqBJ,mBAAmBI,GACpD,OAAOA,EAETA,EAAkBpG,cAAcoG,EAClC,CACA,OAAOlF,CACT,CACA,IAAIhJ,EAAe+N,oBAAoBzuB,EAAS0uB,GAChD,KAAOhO,GAAgByG,eAAezG,IAAiB8N,mBAAmB9N,IACxEA,EAAe+N,oBAAoB/N,EAAcgO,GAEnD,OAAIhO,GAAgB+H,sBAAsB/H,IAAiB8N,mBAAmB9N,KAAkBgH,kBAAkBhH,GACzGgJ,EAEFhJ,GAAgB4H,mBAAmBtoB,IAAY0pB,CACxD,CAEA,MAAMtI,gBAAkB3B,eAAgB1O,GACtC,MAAM8d,EAAoBlsB,KAAKge,iBAAmBA,gBAC5CmO,EAAkBnsB,KAAKqf,cACvB+M,QAA2BD,EAAgB/d,EAAK4M,UACtD,MAAO,CACLD,UAAW4Q,8BAA8Bvd,EAAK2M,gBAAiBmR,EAAkB9d,EAAK4M,UAAW5M,EAAKiP,UACtGrC,SAAU,CACR5B,EAAG,EACHC,EAAG,EACH8C,MAAOiQ,EAAmBjQ,MAC1BC,OAAQgQ,EAAmBhQ,QAGjC,EAEA,SAAShU,MAAM/K,GACb,MAAiD,QAA1CgqB,mBAAmBhqB,GAAS4T,SACrC,CAEA,MAAMkM,SAAW,CACfiB,4GACAN,sCACAF,gCACAI,gCACAS,gCACA1X,8BACAsY,4BACAnB,kBACAxX,oBACA0B,aAGF,SAASikB,cAAcjK,EAAGC,GACxB,OAAOD,EAAEhJ,IAAMiJ,EAAEjJ,GAAKgJ,EAAE/I,IAAMgJ,EAAEhJ,GAAK+I,EAAEjG,QAAUkG,EAAElG,OAASiG,EAAEhG,SAAWiG,EAAEjG,MAC7E,CAGA,SAASkQ,YAAYjvB,EAASkvB,GAC5B,IACIC,EADAC,EAAK,KAET,MAAM1kB,EAAO+V,mBAAmBzgB,GAChC,SAASqvB,IACP,IAAIC,EACJnX,aAAagX,GACC,OAAbG,EAAMF,IAAeE,EAAIC,aAC1BH,EAAK,IACP,CA2EA,OA1EA,SAASI,EAAQC,EAAMC,QACR,IAATD,IACFA,GAAO,QAES,IAAdC,IACFA,EAAY,GAEdL,IACA,MAAMM,EAA2B3vB,EAAQwb,yBACnCU,KACJA,EAAIG,IACJA,EAAGyC,MACHA,EAAKC,OACLA,GACE4Q,EAIJ,GAHKF,GACHP,KAEGpQ,IAAUC,EACb,OAEF,MAKMa,EAAU,CACdgQ,YANepnB,MAAM6T,GAIQ,OAHZ7T,MAAMkC,EAAK8hB,aAAetQ,EAAO4C,IAGC,OAFjCtW,MAAMkC,EAAKgiB,cAAgBrQ,EAAM0C,IAEuB,OAD1DvW,MAAM0T,GACyE,KAG/FwT,UAAWvjB,IAAI,EAAGC,IAAI,EAAGsjB,KAAe,GAE1C,IAAIG,GAAgB,EACpB,SAASC,EAAcnrB,GACrB,MAAMorB,EAAQprB,EAAQ,GAAGqrB,kBACzB,GAAID,IAAUL,EAAW,CACvB,IAAKG,EACH,OAAOL,IAEJO,EAOHP,GAAQ,EAAOO,GAJfZ,EAAYzjB,WAAW,KACrB8jB,GAAQ,EAAO,OACd,IAIP,CACc,IAAVO,GAAgBf,cAAcW,EAA0B3vB,EAAQwb,0BAQlEgU,IAEFK,GAAgB,CAClB,CAIA,IACET,EAAK,IAAIa,qBAAqBH,EAAe,IACxClQ,EAEHlV,KAAMA,EAAKgc,eAEf,CAAE,MAAOW,GACP+H,EAAK,IAAIa,qBAAqBH,EAAelQ,EAC/C,CACAwP,EAAGc,QAAQlwB,EACb,CACAwvB,EAAQ,GACDH,CACT,CAUA,SAASc,WAAWzS,EAAWC,EAAUyS,EAAQxQ,QAC/B,IAAZA,IACFA,EAAU,IAEZ,MAAMyQ,eACJA,GAAiB,EAAIC,eACrBA,GAAiB,EAAIC,cACrBA,EAA0C,mBAAnBC,eAA6BC,YACpDA,EAA8C,mBAAzBR,qBAAmCS,eACxDA,GAAiB,GACf9Q,EACE+Q,EAActG,cAAc3M,GAC5BkT,EAAYP,GAAkBC,EAAiB,IAAKK,EAActH,qBAAqBsH,GAAe,MAAShT,EAAW0L,qBAAqB1L,GAAY,IAAO,GACxKiT,EAAUC,QAAQthB,IAChB8gB,GAAkB9gB,EAASpL,iBAAiB,SAAUisB,EAAQ,CAC5DU,SAAS,IAEXR,GAAkB/gB,EAASpL,iBAAiB,SAAUisB,KAExD,MAAMW,EAAYJ,GAAeF,EAAcxB,YAAY0B,EAAaP,GAAU,KAClF,IAwBIY,EAxBAC,GAAiB,EACjBC,EAAiB,KACjBX,IACFW,EAAiB,IAAIV,eAAevR,IAClC,IAAKkS,GAAclS,EACfkS,GAAcA,EAAWzuB,SAAWiuB,GAAeO,GAAkBvT,IAGvEuT,EAAeE,UAAUzT,GACzB0T,qBAAqBJ,GACrBA,EAAiBK,sBAAsB,KACrC,IAAIC,EACkC,OAArCA,EAAkBL,IAA2BK,EAAgBrB,QAAQvS,MAG1EyS,MAEEO,IAAgBD,GAClBQ,EAAehB,QAAQS,GAErBhT,GACFuT,EAAehB,QAAQvS,IAI3B,IAAI6T,EAAcd,EAAiBlV,sBAAsBkC,GAAa,KAatE,OAZIgT,GAGJ,SAASe,IACP,MAAMC,EAAclW,sBAAsBkC,GACtC8T,IAAgBxC,cAAcwC,EAAaE,IAC7CtB,IAEFoB,EAAcE,EACdV,EAAUM,sBAAsBG,EAClC,CATEA,GAUFrB,IACO,KACL,IAAIuB,EACJf,EAAUC,QAAQthB,IAChB8gB,GAAkB9gB,EAASlL,oBAAoB,SAAU+rB,GACzDE,GAAkB/gB,EAASlL,oBAAoB,SAAU+rB,KAE9C,MAAbW,GAAqBA,IACkB,OAAtCY,EAAmBT,IAA2BS,EAAiBpC,aAChE2B,EAAiB,KACbR,GACFW,qBAAqBL,GAG3B,CAmBA,MAAMjO,OAAS6O,SAeThM,MAAQiM,QAQR1O,KAAO2O,OAsBPhQ,MAAQiQ,QAkBR9Q,gBAAkBA,CAACvD,EAAWC,EAAUiC,KAI5C,MAAMiO,EAAQ,IAAIhuB,IACZmyB,EAAgB,CACpBlS,qBACGF,GAECqS,EAAoB,IACrBD,EAAclS,SACjBsO,GAAIP,GAEN,OAAOqE,kBAAkBxU,EAAWC,EAAU,IACzCqU,EACHlS,SAAUmS,KC5vBDE,YAAc,CACzBC,GAAI,IACJC,GAAI,IACJC,GAAI,KACJC,GAAI,KACJ,MAAO,MAwBIC,yBAA2BA,CAACC,EAAiBC,EAAmB,YAE3E,IAAKD,IAAoBA,EAAgB7tB,SAAS,KAChD,OAAO,KAIT,MAAM+tB,EAAQF,EAAgBtpB,MAAM,OAC9B+a,EAAa,CAAE0O,GAAIF,GAEzB,IAAK,MAAMG,KAAQF,EACjB,GAAIE,EAAKjuB,SAAS,KAAM,CAEtB,MAAOkuB,EAAYlW,GAAaiW,EAAK1pB,MAAM,UACX4pB,IAA5BZ,YAAYW,KACd5O,EAAW4O,GAAclW,EAE7B,MAEEsH,EAAW0O,GAAKC,EAIpB,OAAO3O,GAUI8O,uBAAyBA,CAACC,EAAsBP,EAAmB,YAC9E,IAAKO,EACH,OAAOP,EAIT,MAAMQ,EAAgBrrB,OAAOsrB,WAG7B,IAAIC,EAAkBH,EAAqBL,IAAMF,EAGjD,MAAMW,EAAkB,CAAC,KAAM,KAAM,KAAM,KAAM,OAEjD,IAAK,MAAMP,KAAcO,EAEnBH,GADaf,YAAYW,IACIG,EAAqBH,KACpDM,EAAkBH,EAAqBH,IAI3C,OAAOM,GASIE,0BAA4BjoB,IACvC,MAAMkoB,EAAY,GAElB,IAAK,MAAMT,KAAc5vB,OAAOvC,KAAKwxB,aAAc,CACjD,MAAMqB,EAAWrB,YAAYW,GACvBW,EAAM5rB,OAAO6rB,WAAW,eAAeF,QAE7CC,EAAItvB,iBAAiB,SAAUkH,GAC/BkoB,EAAU/jB,KAAK,CAAEikB,MAAK5xB,QAASwJ,GACjC,CAEA,OAAOkoB,GAQII,2BAA6BJ,IACxC,IAAK,MAAME,IAAEA,EAAG5xB,QAAEA,KAAa0xB,EAC7BE,EAAIpvB,oBAAoB,SAAUxC,ICtFhC2K,OAAO,OACPsB,WAAW,UACXE,YAAY,WACZ0D,eAAe,YAEfkiB,aAAa,SACbC,UAAU,MACVC,eAAe,UACfC,iBAAiB,YACjB9f,iBAAiB,YACjBC,kBAAkB,aAClB8f,WAAW,OACXC,UAAU,MACVC,YAAY,QACZC,YAAY,IACZC,mBAAqB,EAErBC,oBAAsB,IAEtB5a,aAAa,eACbC,eAAe,iBACfH,aAAa,eACbC,cAAc,gBACd3H,uBAAuB,yBACvByiB,uBAAyB,2BACzBC,qBAAuB,yBAEvBljB,kBAAkB,OAElBO,uBAAuB,wDAEvB4iB,gBAAgB,QAChBC,iBAAmB,WACnBC,wBAA0B,wBAC1BC,oBAAsB,cACtBC,yBAAyB,2CAEzBC,kBAAoB,eACpBC,kBAAoB,YAEpBC,wBAA0BnY,GAC1B7R,UACK6R,EAAU1Y,QAAQ,gBAAiB,SAASA,QAAQ,cAAe,QAGrE0Y,EAAU1Y,QAAQ,gBAAiB,QAAQA,QAAQ,cAAe,SAGrE8wB,aAAeA,CAACC,EAAIC,EAAIC,KAC1BF,EAAGlZ,EAAIoZ,EAAGpZ,IAAMmZ,EAAGlZ,EAAImZ,EAAGnZ,IAAQkZ,EAAGnZ,EAAIoZ,EAAGpZ,IAAMkZ,EAAGjZ,EAAImZ,EAAGnZ,GAE1D1P,UAAU,CACd8oB,WAAW,EACXnV,SAAU,kBACVoV,WAAW,EACXnO,QAAS,UACTnE,OAAQ,CAAC,EAAG,GACZuS,eAAgB,KAChBC,KAAM,KACN3Y,UAtBwB,eAuBxBc,UAAW,SACXsC,SAAU,WACVwV,eAAgB,OAChBC,aA9C0B,KAiDtBlpB,cAAc,CAClB6oB,UAAW,mBACXnV,SAAU,mBACVoV,UAAW,2BACXnO,QAAS,SACTnE,OAAQ,0BACRuS,eAAgB,yBAChBC,KAAM,iBACN3Y,UAAW,SACXc,UAAW,0BACXsC,SAAU,SACVwV,eAAgB,SAChBC,aAAc,UAOhB,MAAMC,aAAahoB,cACjBioB,sBAAqB,KAAG,IAAIp0B,IAAP,GAErByL,YAAYhN,EAAS2M,GAKnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKizB,iBAAmB,KACxBjzB,KAAKkzB,qBAAuB,GAC5BlzB,KAAKmzB,sBAAwB,KAC7BnzB,KAAKozB,QAAUpzB,KAAKiL,SAAShL,WAC7BD,KAAKqzB,WAAarzB,KAAKozB,QAAQ5rB,WAAWrG,SAAS,WACnDnB,KAAKszB,cAAgB,IAAIp2B,IACzB8C,KAAKuzB,sBAAwB,IAAIr2B,IACjC8C,KAAKwzB,iBAAmB,KAExBxzB,KAAKyzB,MAAQzzB,KAAKkL,QAAQ0nB,MAAQ5yB,KAAK0zB,YAEvC1zB,KAAK2zB,oBAAsB3zB,KAAKyzB,OAAOxzB,WAEvCD,KAAK4zB,6BACL5zB,KAAK6zB,wBACP,CAGA,kBAAWlqB,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,MA1HS,MA2HX,CAGAuF,SACE,OAAOpP,KAAKkY,WAAalY,KAAKmY,OAASnY,KAAKoY,MAC9C,CAEAA,OACE,GAAI/Q,WAAWrH,KAAKiL,WAAajL,KAAKkY,WACpC,OAGF,MAAMhX,EAAgB,CACpBA,cAAelB,KAAKiL,UAKtB,IAFkB1L,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,aAAY1V,GAEpD2N,iBAAd,CAOA,GAHA7O,KAAK8zB,uBACL9zB,KAAK+zB,kBAED,iBAAkBhuB,SAAS6B,kBAAoB5H,KAAKozB,QAAQjsB,QAlHxC,eAmHtB,IAAK,MAAM9J,IAAW,GAAGgP,UAAUtG,SAAS0gB,KAAKja,UAC/CjN,aAAa2C,GAAG7E,EAAS,YAAa4K,MAI1CjI,KAAKiL,SAAS+oB,MAAM,CAAEC,cAAc,IACpCj0B,KAAKiL,SAAS/G,aAAa,gBAAiB,QAE5ClE,KAAKyzB,MAAMjsB,UAAU0J,IAlID,QAmIpBlR,KAAKiL,SAASzD,UAAU0J,IAnIJ,QAqIhBlR,KAAKozB,SACPpzB,KAAKozB,QAAQ5rB,UAAU0J,IAtIL,QAyIpB6hB,KAAKmB,eAAehjB,IAAIlR,MACxBT,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,cAAa3V,EAtBjD,CAuBF,CAEAiX,OACE,GAAI9Q,WAAWrH,KAAKiL,YAAcjL,KAAKkY,WACrC,OAGF,MAAMhX,EAAgB,CACpBA,cAAelB,KAAKiL,UAGtBjL,KAAKm0B,cAAcjzB,EACrB,CAEAkK,UACEpL,KAAKo0B,mBACLp0B,KAAKq0B,+BACLr0B,KAAKs0B,8BACLt0B,KAAKu0B,oBACLv0B,KAAKw0B,2BACLzB,KAAKmB,eAAeh2B,OAAO8B,MAC3BgL,MAAMI,SACR,CAEAqiB,SACMztB,KAAKizB,kBACPjzB,KAAKy0B,yBAET,CAGAf,YACE,OAAOtnB,eAAea,KAAKjN,KAAKiL,SAvKd,SAuKuC,IACvDmB,eAAeU,KAAK9M,KAAKiL,SAxKT,SAwKkC,IAClDmB,eAAeG,QAzKC,QAyKsBvM,KAAKozB,QAC/C,CAEAe,cAAcjzB,GAEZ,IADkB3B,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,aAAY5V,GACpD2N,iBAAd,CAMA,GAFA7O,KAAKu0B,oBAED,iBAAkBxuB,SAAS6B,gBAC7B,IAAK,MAAMvK,IAAW,GAAGgP,UAAUtG,SAAS0gB,KAAKja,UAC/CjN,aAAaC,IAAInC,EAAS,YAAa4K,MAI3CjI,KAAKo0B,mBACLp0B,KAAKq0B,+BAELr0B,KAAKyzB,MAAMjsB,UAAUvJ,OAjMD,QAkMpB+B,KAAKiL,SAASzD,UAAUvJ,OAlMJ,QAoMhB+B,KAAKozB,SACPpzB,KAAKozB,QAAQ5rB,UAAUvJ,OArML,QAwMpB+B,KAAKiL,SAAS/G,aAAa,gBAAiB,SAC5CF,YAAYG,oBAAoBnE,KAAKyzB,MAAO,aAC5CzvB,YAAYG,oBAAoBnE,KAAKyzB,MAAO,WAC5CV,KAAKmB,eAAeh2B,OAAO8B,MAC3BT,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,eAAc7V,EAxBlD,CAyBF,CAEA6I,WAAWC,GAGT,GAAgC,iBAFhCA,EAASgB,MAAMjB,WAAWC,IAER+Q,YAA2BrU,YAAUsD,EAAO+Q,YACV,mBAA3C/Q,EAAO+Q,UAAUlC,sBAExB,MAAM,IAAIjO,UAAU,GAhPb,OAgPqBC,+GAG9B,OAAOb,CACT,CAEA+pB,kBACE,GAA6B,WAAzB/zB,KAAKkL,QAAQqZ,QAEf,YADAvgB,YAAYC,iBAAiBjE,KAAKyzB,MAAO,UAAW,UAItD,IAAIiB,EAAmB10B,KAAKiL,SAEG,WAA3BjL,KAAKkL,QAAQ6P,UACf2Z,EAAmB10B,KAAKozB,QACf1sB,YAAU1G,KAAKkL,QAAQ6P,WAChC2Z,EAAmB9tB,WAAW5G,KAAKkL,QAAQ6P,WACA,iBAA3B/a,KAAKkL,QAAQ6P,YAC7B2Z,EAAmB10B,KAAKkL,QAAQ6P,WAGlC/a,KAAKy0B,wBAAwBC,GAE7B10B,KAAKizB,iBAAmBzF,WACtBkH,EACA10B,KAAKyzB,MACL,IAAMzzB,KAAKy0B,wBAAwBC,GAEvC,CAEA,6BAAMD,CAAwBC,EAAmB,MAC/C,IAAK10B,KAAKyzB,MACR,OAGGiB,IAEDA,EAD6B,WAA3B10B,KAAKkL,QAAQ6P,UACI/a,KAAKozB,QACf1sB,YAAU1G,KAAKkL,QAAQ6P,WACbnU,WAAW5G,KAAKkL,QAAQ6P,WACA,iBAA3B/a,KAAKkL,QAAQ6P,UACV/a,KAAKkL,QAAQ6P,UAEb/a,KAAKiL,UAI5B,MAAMgP,EAAYja,KAAK20B,gBACjBpW,EAAave,KAAK40B,yBAClBjC,EAAiB3yB,KAAK60B,mBAAmB5a,EAAWsE,SAEpDve,KAAK80B,uBACTJ,EACA10B,KAAKyzB,MACLd,EAAe1Y,UACf0Y,EAAepU,WACfoU,EAAetV,SAEnB,CAEAnF,WACE,OAAOlY,KAAKyzB,MAAMjsB,UAAUrG,SAnRR,OAoRtB,CAEAwzB,gBACE,MAAM1a,EAAYja,KAAKmzB,sBACrB9C,uBAAuBrwB,KAAKmzB,sBA9QR,gBA+QpBnzB,KAAKkL,QAAQ+O,UAEf,OAAOmY,wBAAwBnY,EACjC,CAEA2Z,6BACE5zB,KAAKmzB,sBAAwBtD,yBAAyB7vB,KAAKkL,QAAQ+O,UArR7C,gBAuRlBja,KAAKmzB,uBACPnzB,KAAK+0B,2BAET,CAEAA,4BACE/0B,KAAKs0B,8BACLt0B,KAAKkzB,qBAAuBvC,0BAA0B,KAChD3wB,KAAKkY,YACPlY,KAAKy0B,2BAGX,CAEAH,8BACEtD,2BAA2BhxB,KAAKkzB,sBAChClzB,KAAKkzB,qBAAuB,EAC9B,CAEA8B,aACE,MAAQ5U,OAAQ6U,GAAiBj1B,KAAKkL,QAEtC,MAA4B,iBAAjB+pB,EACFA,EAAazuB,MAAM,KAAKyF,IAAI7I,GAASI,OAAOqS,SAASzS,EAAO,KAGzC,mBAAjB6xB,EACF,EAAGhb,YAAWS,WACJua,EAAa,CAAEhb,YAAWc,UAAWL,EAAMK,UAAWC,SAAUN,EAAMM,UAAYhb,KAAKiL,UAKnGgqB,CACT,CAEAL,yBACE,MAAMM,EAAcl1B,KAAKg1B,aAgBzB,MAdmB,CACjB5U,OACyB,mBAAhB8U,EACLA,EACA,CAAEvU,SAAUuU,EAAY,IAAM,EAAGrU,UAAWqU,EAAY,IAAM,IAElE1U,KAAK,CACHO,mBAAoB/gB,KAAKm1B,2BAE3BlS,MAAM,CACJ3F,SAAoC,oBAA1Btd,KAAKkL,QAAQoS,SAAiC,oBAAsBtd,KAAKkL,QAAQoS,WAKjG,CAEA6X,yBAkBE,MAfoB,CAClB1b,OAAQ,CAAC,MAAO,eAAgB,aAAc,YAAa,WAC3D,eAAgB,CAAC,YAAa,aAAc,WAC5C,aAAc,CAAC,UAAW,eAAgB,aAC1CC,IAAK,CAAC,SAAU,YAAa,UAAW,eAAgB,cACxD,YAAa,CAAC,eAAgB,UAAW,cACzC,UAAW,CAAC,aAAc,YAAa,gBACvCF,MAAO,CAAC,OAAQ,cAAe,YAAa,aAAc,YAC1D,cAAe,CAAC,aAAc,YAAa,WAAY,YAAa,gBACpE,YAAa,CAAC,WAAY,cAAe,aAAc,UAAW,cAClED,KAAM,CAAC,QAAS,aAAc,WAAY,cAAe,aACzD,aAAc,CAAC,cAAe,WAAY,YAAa,YAAa,gBACpE,WAAY,CAAC,YAAa,aAAc,cAAe,UAAW,eAdlDvZ,KAAK20B,kBAiBU,CAAC,MAAO,SAAU,QAAS,OAC9D,CAEAE,mBAAmB5a,EAAWsE,GAC5B,MAAM6W,EAAgB,CACpBnb,YACAsE,aACAlB,SAAUrd,KAAKkL,QAAQmS,UAGzB,MAAO,IACF+X,KACA9sB,QAAQtI,KAAKkL,QAAQynB,eAAgB,MAACvC,EAAWgF,IAExD,CAEAhB,mBACMp0B,KAAKizB,mBACPjzB,KAAKizB,mBACLjzB,KAAKizB,iBAAmB,KAE5B,CAEAoC,gBACE,MAAM3C,UAAEA,GAAc1yB,KAAKkL,QAC3B,OAAkB,IAAdwnB,EACK,MAGY,IAAdA,EAAqB3sB,SAAS0gB,KAAO7f,WAAW8rB,EACzD,CAEAoB,uBACE,MAAMpB,EAAY1yB,KAAKq1B,gBAClB3C,GAAc1yB,KAAKyzB,OAIpBzzB,KAAKyzB,MAAMxzB,aAAeyyB,GAC5BA,EAAU4C,OAAOt1B,KAAKyzB,MAE1B,CAEAY,+BACOr0B,KAAK2zB,qBAAwB3zB,KAAKyzB,OAInCzzB,KAAKyzB,MAAMxzB,aAAeD,KAAK2zB,qBACjC3zB,KAAK2zB,oBAAoB2B,OAAOt1B,KAAKyzB,MAEzC,CAEA,4BAAMqB,CAAuB/Z,EAAWC,EAAUf,EAAWsE,EAAYlB,EAAW,YAClF,IAAKrC,EAASua,YACZ,OAAO,KAGT,MAAMnc,EAAEA,EAACC,EAAEA,EAAGY,UAAWub,SAAyBlX,gBAChDvD,EACAC,EACA,CAAEf,YAAWsE,aAAYlB,aAG3B,OAAKrC,EAASua,aAIdh1B,OAAOk1B,OAAOza,EAAStC,MAAO,CAC5BsS,SAAU3N,EACV9D,KAAM,GAAGH,MACTM,IAAK,GAAGL,MACRqc,OAAQ,MAGV1xB,YAAYC,iBAAiB+W,EAAU,YAAawa,GAC7CA,GAXE,IAYX,CAMA3B,yBACsC,UAAhC7zB,KAAKkL,QAAQ2nB,gBAA8D,SAAhC7yB,KAAKkL,QAAQ2nB,iBAC1DtzB,aAAa2C,GAAGlC,KAAKyzB,MAAO,aA1bF,wBA0byCt0B,IACjEa,KAAK21B,uBAAuBx2B,KAG9BI,aAAa2C,GAAGlC,KAAKyzB,MAAO,aA/bT,WA+byCt0B,IAC1Da,KAAK41B,gBAAgBz2B,KAGvBI,aAAa2C,GAAGlC,KAAKyzB,MAAO,YAAat0B,IACvCa,KAAK61B,oBAAoB12B,MAIO,UAAhCa,KAAKkL,QAAQ2nB,gBAA8D,SAAhC7yB,KAAKkL,QAAQ2nB,gBAC1DtzB,aAAa2C,GAAGlC,KAAKyzB,MAAO,QAxcF,wBAwcoCt0B,IAC5Da,KAAK81B,uBAAuB32B,IAGlC,CAEAw2B,uBAAuBx2B,GACrB,MAAMwD,EAAUxD,EAAMY,OAAOoH,QA/cD,yBAgd5B,IAAKxE,EACH,OAGF,MAAMozB,EAAiBpzB,EAAQwE,QArdV,YAsdf6uB,EAAU5pB,eAAeG,QAvdb,QAudoCwpB,GACjDC,IAILh2B,KAAKi2B,2BAA2BD,GAChCh2B,KAAKk2B,sBAAsBH,GAC3B/1B,KAAKm2B,aAAaxzB,EAASqzB,EAASD,GACtC,CAEAH,gBAAgBz2B,GACd,MAAM42B,EAAiB52B,EAAMY,OAAOoH,QAjef,YAkef6uB,EAAU5pB,eAAeG,QAneb,QAmeoCwpB,GACjDC,GAAYh2B,KAAKszB,cAAc91B,IAAIw4B,KAIpCh2B,KAAKo2B,uBAAuBj3B,EAAO62B,IAIvCh2B,KAAKq2B,sBAAsBL,EAASD,GACtC,CAEAD,uBAAuB32B,GACrB,MAAMwD,EAAUxD,EAAMY,OAAOoH,QA9eD,yBA+e5B,IAAKxE,EACH,OAGFxD,EAAM2O,iBACN3O,EAAMm3B,kBAEN,MAAMP,EAAiBpzB,EAAQwE,QAvfV,YAwff6uB,EAAU5pB,eAAeG,QAzfb,QAyfoCwpB,GACjDC,IAIDh2B,KAAKszB,cAAc91B,IAAIw4B,GACzBh2B,KAAKu2B,cAAcP,EAASD,IAE5B/1B,KAAKk2B,sBAAsBH,GAC3B/1B,KAAKm2B,aAAaxzB,EAASqzB,EAASD,IAExC,CAEAI,aAAaxzB,EAASqzB,EAASD,GAC7B,GAAI/1B,KAAKszB,cAAc91B,IAAIw4B,GACzB,OAGFrzB,EAAQuB,aAAa,gBAAiB,QACtCvB,EAAQuB,aAAa,gBAAiB,QAEtC8xB,EAAQxuB,UAAU0J,IAlhBE,QAmhBpB6kB,EAAevuB,UAAU0J,IAnhBL,QAqhBpB,MAAMwb,EAAU1sB,KAAKw2B,uBAAuB7zB,EAASqzB,EAASD,GAC9D/1B,KAAKszB,cAAcl2B,IAAI44B,EAAStJ,GAEhCntB,aAAa2C,GAAG8zB,EAAS,aAAc,KACrCh2B,KAAKi2B,2BAA2BD,IAEpC,CAEAO,cAAcP,EAASD,GACrB,IAAK/1B,KAAKszB,cAAc91B,IAAIw4B,GAC1B,OAGF,MAAMS,EAAiBrqB,eAAe3L,KAAK,sBAA2Du1B,GACtG,IAAK,MAAMU,KAAUD,EAAgB,CACnC,MAAME,EAAgBD,EAAOvvB,QA/hBV,YAgiBnBnH,KAAKu2B,cAAcG,EAAQC,EAC7B,CAEA,MAAMh0B,EAAUyJ,eAAeG,QAliBH,wBAkiBoCwpB,GAE1DrJ,EAAU1sB,KAAKszB,cAAc51B,IAAIs4B,GACnCtJ,GACFA,IAGF1sB,KAAKszB,cAAcp1B,OAAO83B,GAC1Bz2B,aAAaC,IAAIw2B,EAAS,cAEtBrzB,GACFA,EAAQuB,aAAa,gBAAiB,SAGxC8xB,EAAQxuB,UAAUvJ,OAtjBE,QAujBpB83B,EAAevuB,UAAUvJ,OAvjBL,QAyjBpB+3B,EAAQtd,MAAMsS,SAAW,GACzBgL,EAAQtd,MAAMa,KAAO,GACrByc,EAAQtd,MAAMgB,IAAM,GACpBsc,EAAQtd,MAAMgd,OAAS,EACzB,CAEAnB,oBACE,IAAK,MAAOyB,KAAYh2B,KAAKszB,cAAe,CAC1C,MAAMyC,EAAiBC,EAAQ7uB,QA5jBZ,YA6jBnBnH,KAAKu2B,cAAcP,EAASD,EAC9B,CACF,CAEAG,sBAAsBU,GACpB,MAAMpf,EAASof,EAAsB32B,WAC/B42B,EAAkBzqB,eAAe3L,KAAK,wBAA6D+W,GAEzG,IAAK,MAAMsf,KAAeD,EAAiB,CACzC,MAAME,EAAiBD,EAAY3vB,QAtkBhB,YAukBf4vB,IAAmBH,GACrB52B,KAAKu2B,cAAcO,EAAaC,EAEpC,CACF,CAEAP,uBAAuB7zB,EAASqzB,EAASD,GACvC,MAAMrB,EAAmBqB,EACnB9b,EAAYmY,wBAzkBI,aA0kBhB7T,EAAa,CACjB6B,OAAO,CAAEO,SAAU,EAAGE,WAAW,IACjCL,KAAK,CACHO,mBAAoB,CAClBqR,wBAAwB,eACxBA,wBAAwB,WACxBA,wBAAwB,gBAG5BnP,MAAM,CAAElH,QAAS,KAGbib,EAAiBA,IAAMh3B,KAAK80B,uBAAuBJ,EAAkBsB,EAAS/b,EAAWsE,GAG/F,OADAyY,IACOxJ,WAAWkH,EAAkBsB,EAASgB,EAC/C,CAEAX,sBAAsBL,EAASD,GAC7B/1B,KAAKi2B,2BAA2BD,GAEhC,MAAMxJ,EAAYzjB,WAAW,KAC3B/I,KAAKu2B,cAAcP,EAASD,GAC5B/1B,KAAKuzB,sBAAsBr1B,OAAO83B,IACjCh2B,KAAKkL,QAAQ4nB,cAEhB9yB,KAAKuzB,sBAAsBn2B,IAAI44B,EAASxJ,EAC1C,CAEAyJ,2BAA2BD,GACzB,MAAMxJ,EAAYxsB,KAAKuzB,sBAAsB71B,IAAIs4B,GAC7CxJ,IACFhX,aAAagX,GACbxsB,KAAKuzB,sBAAsBr1B,OAAO83B,GAEtC,CAEAxB,2BACE,IAAK,MAAMhI,KAAaxsB,KAAKuzB,sBAAsB/yB,SACjDgV,aAAagX,GAGfxsB,KAAKuzB,sBAAsB0D,OAC7B,CAMApB,oBAAoB12B,GAClBa,KAAKwzB,iBAAmB,CACtBpa,EAAGja,EAAMuR,QACT2I,EAAGla,EAAM+3B,QACTC,UAAWC,KAAKC,MAEpB,CAEAjB,uBAAuBj3B,EAAO62B,GAC5B,IAAKh2B,KAAKwzB,iBACR,OAAO,EAGT,MAAM8D,EAActB,EAAQnd,wBACtB0e,EAAa,CAAEne,EAAGja,EAAMuR,QAAS2I,EAAGla,EAAM+3B,SAC1CM,EAAU,CAAEpe,EAAGpZ,KAAKwzB,iBAAiBpa,EAAGC,EAAGrZ,KAAKwzB,iBAAiBna,GAGjEoe,EADQrvB,UACUkvB,EAAY9d,MAAQ8d,EAAY/d,KAClDme,EAAY,CAAEte,EAAGqe,EAASpe,EAAGie,EAAY5d,KACzCie,EAAe,CAAEve,EAAGqe,EAASpe,EAAGie,EAAY7d,QAElD,OAAOzZ,KAAK43B,iBAAiBL,EAAYC,EAASE,EAAWC,EAC/D,CAEAC,iBAAiBC,EAAOC,EAAIC,EAAIC,GAC9B,MAAMC,EAAK5F,aAAawF,EAAOC,EAAIC,GAC7BG,EAAK7F,aAAawF,EAAOE,EAAIC,GAC7BG,EAAK9F,aAAawF,EAAOG,EAAIF,GAKnC,SAHgBG,EAAK,GAAOC,EAAK,GAAOC,EAAK,KAC7BF,EAAK,GAAOC,EAAK,GAAOC,EAAK,GAG/C,CAMAC,iBAAgB96B,IAAEA,EAAGyC,OAAEA,IACrB,MAAMs4B,EAAct4B,EAAOoH,QA3qBT,UA2qBmCnH,KAAKyzB,MACpD9e,EAAQvI,eAAe3L,KAAK,YAAYwxB,2BAA0BoG,GACrE5zB,OAAOpH,GAAWyJ,UAAUzJ,IAE1BsX,EAAMjS,QAIXsG,qBAAqB2L,EAAO5U,EAAQzC,IAAQ8zB,kBAAiBzc,EAAM1S,SAASlC,IAASi0B,OACvF,CAEAsE,sBAAsBn5B,GACpB,MAAM7B,IAAEA,EAAGyC,OAAEA,GAAWZ,EAClBo5B,EAAQnwB,UAERowB,EAAWD,EAAQjnB,iBAAiBC,kBACpCknB,EAAUF,EAAQhnB,kBAAkBD,iBAEpCykB,EAAiBh2B,EAAOoH,QA5rBT,YA6rBfuxB,EAAmB3C,GAAkBh2B,EAAO2M,QA5rBtB,yBA8rB5B,IAAKpP,IAAQi0B,aAAaj0B,IAAQk0B,cAAckH,EAAkB,CAChEv5B,EAAM2O,iBACN3O,EAAMm3B,kBAEN,MAAMN,EAAU5pB,eAAeG,QApsBf,QAosBsCwpB,GAYtD,OAXIC,IACFh2B,KAAKk2B,sBAAsBH,GAC3B/1B,KAAKm2B,aAAap2B,EAAQi2B,EAASD,GACnCpH,sBAAsB,KACpB,MAAMgK,EAAYvsB,eAAeG,QAAQ0lB,yBAAwB+D,GAC7D2C,GACFA,EAAU3E,YAKT,CACT,CAEA,GAAI12B,IAAQk7B,GAAYE,EAAkB,CACxCv5B,EAAM2O,iBACN3O,EAAMm3B,kBAEN,MAAMN,EAAU5pB,eAAeG,QAvtBf,QAutBsCwpB,GAYtD,OAXIC,IACFh2B,KAAKk2B,sBAAsBH,GAC3B/1B,KAAKm2B,aAAap2B,EAAQi2B,EAASD,GACnCpH,sBAAsB,KACpB,MAAMgK,EAAYvsB,eAAeG,QAAQ0lB,yBAAwB+D,GAC7D2C,GACFA,EAAU3E,YAKT,CACT,CAEA,GAAI12B,IAAQm7B,EAAS,CACnB,MAAMJ,EAAct4B,EAAOoH,QAvuBX,SAwuBVyxB,EAAuBP,GAAalxB,QAvuBvB,YAyuBnB,GAAIyxB,EAAsB,CACxBz5B,EAAM2O,iBACN3O,EAAMm3B,kBAEN,MAAMuC,EAAgBzsB,eAAeG,QA5uBb,wBA4uB8CqsB,GAMtE,OALA54B,KAAKu2B,cAAc8B,EAAaO,GAC5BC,GACFA,EAAc7E,SAGT,CACT,CACF,CAEA,GAAI12B,IAAQ+zB,YAAY/zB,IAAQg0B,UAAS,CACvCnyB,EAAM2O,iBACN3O,EAAMm3B,kBAEN,MAAM+B,EAAct4B,EAAOoH,QA5vBX,SA6vBVwN,EAAQvI,eAAe3L,KAAK,YAAYwxB,2BAA0BoG,GACrE5zB,OAAOpH,GAAWyJ,UAAUzJ,IAO/B,OALIsX,EAAMjS,SACWpF,IAAQ+zB,WAAW1c,EAAM,GAAKA,EAAMA,EAAMjS,OAAS,IAC3DsxB,SAGN,CACT,CAEA,OAAO,CACT,CAEA,iBAAO8E,CAAW35B,GAChB,GA5xBuB,IA4xBnBA,EAAMkQ,SAAiD,UAAflQ,EAAMM,MAryBtC,QAqyB0DN,EAAM7B,KAI5E,IAAK,MAAMC,KAAYw1B,KAAKmB,eAAgB,CAC1C,IAAmC,IAA/B32B,EAAS2N,QAAQunB,UACnB,SAGF,MAAMsG,EAAe55B,EAAM45B,eACrBC,EAAeD,EAAa92B,SAAS1E,EAASk2B,OACpD,GACEsF,EAAa92B,SAAS1E,EAAS0N,WACC,WAA/B1N,EAAS2N,QAAQunB,YAA2BuG,GACb,YAA/Bz7B,EAAS2N,QAAQunB,WAA2BuG,EAE7C,SAGF,GAAIz7B,EAASk2B,MAAMtyB,SAAShC,EAAMY,UAA4B,UAAfZ,EAAMM,MAxzB3C,QAwzB+DN,EAAM7B,KAAoB,qCAAqCqN,KAAKxL,EAAMY,OAAO8N,UACxJ,SAGF,MAAM3M,EAAgB,CAAEA,cAAe3D,EAAS0N,UAE7B,UAAf9L,EAAMM,OACRyB,EAAc0M,WAAazO,GAG7B5B,EAAS42B,cAAcjzB,EACzB,CACF,CAEA,4BAAO+3B,CAAsB95B,GAC3B,MAAM+5B,EAAU,kBAAkBvuB,KAAKxL,EAAMY,OAAO8N,SAC9CsrB,EAz0BS,WAy0BOh6B,EAAM7B,IACtB87B,EAAkB,CAACjI,eAAcC,kBAAgBnvB,SAAS9C,EAAM7B,KAChE+7B,EAAqB,CAAC/nB,iBAAgBC,mBAAiBtP,SAAS9C,EAAM7B,KACtEg8B,EAAmB,CAACjI,WAAUC,WAASrvB,SAAS9C,EAAM7B,KACtDi8B,EAAsB,CAAChI,YAAWC,aAAWvvB,SAAS9C,EAAM7B,KAE5Do7B,EAAmBv5B,EAAMY,OAAO2M,QAnzBV,yBAqzB5B,KAAK0sB,GAAoBD,GAAkBE,GAAuBC,GAC5DC,GAAuBb,GAC3B,OAGF,GAAIQ,IAAYC,EACd,OAGF,MAAMK,EAAkBx5B,KAAK0M,QAAQuC,wBACnCjP,KACCoM,eAAeU,KAAK9M,KAAMiP,wBAAsB,IAC/C7C,eAAea,KAAKjN,KAAMiP,wBAAsB,IAChD7C,eAAeG,QAAQ0C,uBAAsB9P,EAAME,eAAeY,YAEtE,IAAKu5B,EACH,OAGF,MAAMj8B,EAAWw1B,KAAKpnB,oBAAoB6tB,GAE1C,KAAKH,GAAsBC,GAAqBC,GAAuBb,KAAsBn7B,EAAS+6B,sBAAsBn5B,GAA5H,CAIA,GAAIi6B,EAKF,OAJAj6B,EAAM2O,iBACN3O,EAAMm3B,kBACN/4B,EAAS6a,YACT7a,EAAS66B,gBAAgBj5B,GAI3B,GAAIg6B,GAAiB57B,EAAS2a,WAAY,CACxC/Y,EAAM2O,iBACN3O,EAAMm3B,kBAEN,MAAM+B,EAAcl5B,EAAMY,OAAOoH,QA51BjB,SA61BVyxB,EAAuBP,GAAalxB,QA51BvB,YA81BnB,GAAIyxB,GAAwBr7B,EAAS+1B,cAAc31B,KAAO,EAAG,CAC3D,MAAMk7B,EAAgBzsB,eAAeG,QA91Bb,wBA81B8CqsB,GAMtE,OALAr7B,EAASg5B,cAAc8B,EAAaO,QAChCC,GACFA,EAAc7E,QAIlB,CAEAz2B,EAAS4a,OACTqhB,EAAgBxF,OAClB,CA7BA,CA8BF,EAOFz0B,aAAa2C,GAAG6D,SAAU4rB,uBAAwB1iB,uBAAsB8jB,KAAKkG,uBAC7E15B,aAAa2C,GAAG6D,SAAU4rB,uBAp3BJ,QAo3B2CoB,KAAKkG,uBACtE15B,aAAa2C,GAAG6D,SAAUmJ,uBAAsB6jB,KAAK+F,YACrDv5B,aAAa2C,GAAG6D,SAAU6rB,qBAAsBmB,KAAK+F,YACrDv5B,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9EA,EAAM2O,iBACNilB,KAAKpnB,oBAAoB3L,MAAMoP,QACjC,GC/6BA,MAAMvF,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfkiB,WAAa,SACbC,QAAU,MACVC,eAAe,UACfC,iBAAiB,YACjBC,WAAW,OACXC,UAAU,MACVC,UAAY,QACZC,UAAY,IAEZiI,eAAe,SAASpuB,cACxBuL,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxB6D,uBAAuB,QAAQ7D,uBAE/BqD,kBAAkB,OAClBgrB,oBAAsB,WACtBC,uBAAyB,uBAEzB1qB,uBAAuB,8BACvB4iB,gBAAgB,QAChB+H,mBAAqB,4BACrB3H,uBAAyB,0DACzB4H,eAAiB,kBACjBC,sBAAwB,yBACxBC,oBAAsB,uBAEtBpwB,UAAU,CACd2T,SAAU,kBACV0c,UAAU,EACVnuB,KAAM,KACNuU,OAAQ,CAAC,EAAG,GACZ6Z,YAAa,GACbhgB,UAAW,eACXigB,QAAQ,EACRC,iBAAiB,GAGbvwB,cAAc,CAClB0T,SAAU,mBACV0c,SAAU,UACVnuB,KAAM,gBACNuU,OAAQ,0BACR6Z,YAAa,SACbhgB,UAAW,SACXigB,OAAQ,UACRC,gBAAiB,WAOnB,MAAMC,iBAAiBrvB,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKq6B,QAAUr6B,KAAKiL,SACpBjL,KAAKyzB,MAAQrnB,eAAea,KAAKjN,KAAKq6B,QAtCpB,SAsC4C,GAC9Dr6B,KAAKs6B,cAAgBluB,eAAeG,QAAQstB,eAAgB75B,KAAKq6B,SACjEr6B,KAAKu6B,aAAenuB,eAAeG,QAAQutB,sBAAuB95B,KAAKyzB,OACvEzzB,KAAKw6B,WAAapuB,eAAeG,QAAQwtB,oBAAqB/5B,KAAKyzB,OACnEzzB,KAAKy6B,aAAe,KACpBz6B,KAAK06B,cAAgB,KAErB16B,KAAK26B,qBACL36B,KAAK46B,sBACL56B,KAAK66B,wBACL76B,KAAKiU,oBACP,CAGA,kBAAWtK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,SACE,OAAOpP,KAAKkY,WAAalY,KAAKmY,OAASnY,KAAKoY,MAC9C,CAEAA,OACM/Q,WAAWrH,KAAKq6B,UAAYr6B,KAAKkY,YAInB3Y,aAAaoD,QAAQ3C,KAAKq6B,QAASzjB,cACvC/H,mBAId7O,KAAK06B,cAActiB,OAEfpY,KAAKu6B,eACPv6B,KAAKu6B,aAAan3B,MAAQ,GAC1BpD,KAAK86B,aAAa,IAClBnM,sBAAsB,IAAM3uB,KAAKu6B,aAAavG,UAGhDz0B,aAAaoD,QAAQ3C,KAAKq6B,QAASxjB,eACrC,CAEAsB,OACOnY,KAAKkY,aAIQ3Y,aAAaoD,QAAQ3C,KAAKq6B,QAASvjB,cACvCjI,mBAId7O,KAAK06B,cAAcviB,OACnB5Y,aAAaoD,QAAQ3C,KAAKq6B,QAAStjB,iBACrC,CAEA3L,UACMpL,KAAK06B,gBACP16B,KAAK06B,cAActvB,UACnBpL,KAAK06B,cAAgB,MAGnB16B,KAAKy6B,eACPz6B,KAAKy6B,aAAax8B,SAClB+B,KAAKy6B,aAAe,MAGtBl7B,aAAaC,IAAIQ,KAAKyzB,MAAOpoB,aAC7B9L,aAAaC,IAAIQ,KAAKq6B,QAAShvB,aAE/BL,MAAMI,SACR,CAGA8M,WACE,OAAOlY,KAAKyzB,MAAMjsB,UAAUrG,SAhIR,OAiItB,CAEAw5B,qBACE,MAAM9uB,KAAEA,GAAS7L,KAAKkL,QACjBW,IAIL7L,KAAKy6B,aAAe10B,SAASg1B,cAAc,SAC3C/6B,KAAKy6B,aAAah7B,KAAO,SACzBO,KAAKy6B,aAAa5uB,KAAOA,EACzB7L,KAAKy6B,aAAar3B,MAAQ,GAC1BpD,KAAKq6B,QAAQp6B,WAAW+6B,aAAah7B,KAAKy6B,aAAcz6B,KAAKq6B,SAC/D,CAEAO,sBACE56B,KAAK06B,cAAgB,IAAI3H,KAAK/yB,KAAKq6B,QAAS,CAC1CzH,KAAM5yB,KAAKyzB,MACXhB,WAAWzyB,KAAKkL,QAAQ8uB,UAAW,UACnC1c,SAAUtd,KAAKkL,QAAQoS,SACvB8C,OAAQpgB,KAAKkL,QAAQkV,OACrBnG,UAAWja,KAAKkL,QAAQ+O,WAE5B,CAEA4gB,wBACwB76B,KAAKi7B,oBACTv4B,OAAS,GACzB1C,KAAKk7B,oBACLl7B,KAAKm7B,sBAELn7B,KAAKo7B,kBAET,CAEAnnB,qBACE1U,aAAa2C,GAAGlC,KAAKyzB,MAAO,QAASmG,mBAAoBz6B,IACvD,MAAMk8B,EAAOl8B,EAAMY,OAAOoH,QAAQyyB,oBAC7ByB,IAAQh0B,WAAWg0B,KAIxBl8B,EAAM2O,iBACN3O,EAAMm3B,kBACNt2B,KAAKs7B,YAAYD,MAGnB97B,aAAa2C,GAAGlC,KAAKq6B,QAAS,UAAWl7B,IACvCa,KAAKu7B,qBAAqBp8B,KAG5BI,aAAa2C,GAAGlC,KAAKyzB,MAAO,UAAWt0B,IACrCa,KAAKw7B,mBAAmBr8B,KAGtBa,KAAKu6B,eACPh7B,aAAa2C,GAAGlC,KAAKu6B,aAAc,QAAS,KAC1Cv6B,KAAK86B,aAAa96B,KAAKu6B,aAAan3B,SAGtC7D,aAAa2C,GAAGlC,KAAKu6B,aAAc,UAAWp7B,IAC5C,GA3Me,cA2MXA,EAAM7B,IAAwB,CAChC6B,EAAM2O,iBACN,MAAM6G,EAAQ3U,KAAKy7B,mBACf9mB,EAAMjS,OAAS,GACjBiS,EAAM,GAAGqf,OAEb,CApNW,WAsNP70B,EAAM7B,MACR0C,KAAKmY,OACLnY,KAAKq6B,QAAQrG,WAIrB,CAEAsH,YAAYD,GACV,GAAIr7B,KAAKkL,QAAQ8uB,SACfqB,EAAK7zB,UAAU4H,OA/MO,YAgNtBisB,EAAKn3B,aAAa,gBAAiBm3B,EAAK7zB,UAAUrG,SAhN5B,iBAiNjB,CACL,MAAMu6B,EAAqBtvB,eAAe3L,KAAK,YAA2BT,KAAKyzB,OAC/E,IAAK,MAAM3mB,KAAQ4uB,EACjB5uB,EAAKtF,UAAUvJ,OApNK,YAqNpB6O,EAAK5I,aAAa,gBAAiB,SAGrCm3B,EAAK7zB,UAAU0J,IAxNO,YAyNtBmqB,EAAKn3B,aAAa,gBAAiB,OACrC,CAEAlE,KAAKk7B,oBACLl7B,KAAKm7B,qBAEL,MAAM/3B,EAAQpD,KAAKkL,QAAQ8uB,SACzBh6B,KAAKi7B,oBAAoBhvB,IAAIoB,GAAMA,EAAG7I,QAAQm3B,SAC9CN,EAAK72B,QAAQm3B,QAEfp8B,aAAaoD,QAAQ3C,KAAKq6B,QAASZ,eAAc,CAC/Cr2B,QACAi4B,SAGGr7B,KAAKkL,QAAQ8uB,WAChBh6B,KAAKmY,OACLnY,KAAKq6B,QAAQrG,QAEjB,CAEAkH,oBACE,MAAMU,EAAgB57B,KAAKi7B,oBAE3B,GAA6B,IAAzBW,EAAcl5B,OAOlB,GAFA1C,KAAKs6B,cAAc9yB,UAAUvJ,OArPF,wBAuPvB+B,KAAKkL,QAAQ8uB,UAAY4B,EAAcl5B,OAAS,EAClD1C,KAAKs6B,cAAcuB,YAAc,GAAGD,EAAcl5B,sBAC7C,CACL,MAAM24B,EAAOO,EAAc,GACrBE,EAAQ1vB,eAAeG,QAAQ,wCAAyC8uB,GAC9Er7B,KAAKs6B,cAAcuB,YAAcC,EAAQA,EAAMD,YAAcR,EAAKQ,YAAY7vB,MAChF,MAZEhM,KAAKo7B,kBAaT,CAEAA,mBACE,MAAMnB,YAAEA,GAAgBj6B,KAAKkL,QACzB+uB,IACFj6B,KAAKs6B,cAAcuB,YAAc5B,EACjCj6B,KAAKs6B,cAAc9yB,UAAU0J,IApQJ,wBAsQ7B,CAEAiqB,qBACE,IAAKn7B,KAAKy6B,aACR,OAGF,MACMj6B,EADgBR,KAAKi7B,oBACEhvB,IAAIoB,GAAMA,EAAG7I,QAAQm3B,SAClD37B,KAAKy6B,aAAar3B,MAAQpD,KAAKkL,QAAQ8uB,SAAWx5B,EAAO2L,KAAK,KAAQ3L,EAAO,IAAM,EACrF,CAEAy6B,oBACE,OAAO7uB,eAAe3L,KAAK,YAA2BT,KAAKyzB,MAC7D,CAEAgI,mBACE,OAAOrvB,eAAe3L,KAAKwxB,uBAAwBjyB,KAAKyzB,OACrDhvB,OAAO42B,GAAQv0B,UAAUu0B,GAC9B,CAEAP,aAAaiB,GACX,MAAMC,EAAkBh8B,KAAKi8B,eAAeF,EAAMh4B,cAAciI,QAC1D2I,EAAQvI,eAAe3L,KAAKm5B,mBAAoB55B,KAAKyzB,OAC3D,IAAIyI,EAAe,EAEnB,IAAK,MAAMb,KAAQ1mB,EAAO,CACxB,MAAMwnB,EAAOn8B,KAAKi8B,eAAeZ,EAAKQ,YAAY93B,cAAciI,QAC1DU,GAAWsvB,GAAmBG,EAAKl6B,SAAS+5B,GAClDX,EAAK3iB,MAAM6L,QAAU7X,EAAU,GAAK,OAChCA,GACFwvB,GAEJ,CAEIl8B,KAAKw6B,YACPx6B,KAAKw6B,WAAWhzB,UAAU4H,OAAO,SAAU8sB,EAAe,EAE9D,CAEAD,eAAeE,GACb,OAAIn8B,KAAKkL,QAAQivB,gBACRgC,EAAKC,UAAU,OAAO76B,QAAQ,mBAAoB,IAGpD46B,CACT,CAEAZ,qBAAqBp8B,GACnB,MAAM7B,IAAEA,GAAQ6B,EAEhB,GAxUmB,cAwUf7B,GAzUa,YAyUaA,EAAsB,CAClD6B,EAAM2O,iBACD9N,KAAKkY,YACRlY,KAAKoY,OAGP,MAAMzD,EAAQ3U,KAAKy7B,mBAMnB,YALI9mB,EAAMjS,OAAS,IA/UF,cAgVApF,EAAyBqX,EAAM,GAAKA,EAAMA,EAAMjS,OAAS,IACjEsxB,QAIX,CAlVc,UAoVT12B,GAnVS,MAmVYA,GAAuB0C,KAAKkY,aACpD/Y,EAAM2O,iBACN9N,KAAKoY,OAET,CAEAojB,mBAAmBr8B,GACjB,MAAM7B,IAAEA,EAAGyC,OAAEA,GAAWZ,EAExB,GAnWe,WAmWX7B,EAKF,OAJA6B,EAAM2O,iBACN3O,EAAMm3B,kBACNt2B,KAAKmY,YACLnY,KAAKq6B,QAAQrG,QAIf,GA1WY,QA0WR12B,EAEF,YADA0C,KAAKmY,OAIP,MAAM+gB,EAAUn5B,EAAO2M,QAAQ,SAE/B,GA/WmB,cA+WfpP,GAhXa,YAgXaA,EAAsB,CAClD6B,EAAM2O,iBACN,MAAM6G,EAAQ3U,KAAKy7B,mBAKnB,YAJI9mB,EAAMjS,OAAS,GACjBsG,qBAAqB2L,EAAO5U,EAnXb,cAmXqBzC,GAAyBqX,EAAM1S,SAASlC,IAASi0B,QAIzF,CAEA,GAxXa,SAwXT12B,GAvXQ,QAuXYA,EAAiB,CACvC6B,EAAM2O,iBACN,MAAM6G,EAAQ3U,KAAKy7B,mBAMnB,YALI9mB,EAAMjS,OAAS,IA3XR,SA4XUpF,EAAmBqX,EAAM,GAAKA,EAAMA,EAAMjS,OAAS,IAC3DsxB,QAIf,CAEA,IAjYc,UAiYT12B,GAhYS,MAgYYA,KAAuB47B,EAAS,CACxD/5B,EAAM2O,iBACN,MAAMutB,EAAOt7B,EAAOoH,QAAQyyB,oBACxByB,IAASh0B,WAAWg0B,IACtBr7B,KAAKs7B,YAAYD,EAErB,CACF,CAGA,sBAAOgB,CAAgBryB,GACrB,OAAOhK,KAAKs8B,KAAK,WACf,MAAMluB,EAAOgsB,SAASzuB,oBAAoB3L,KAAMgK,GAEhD,GAAsB,iBAAXA,EAAX,CAIA,QAA4B,IAAjBoE,EAAKpE,GACd,MAAM,IAAIY,UAAU,oBAAoBZ,MAG1CoE,EAAKpE,IANL,CAOF,EACF,EAOFzK,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9EA,EAAM2O,iBACNssB,SAASzuB,oBAAoB3L,MAAMoP,QACrC,GAEA7P,aAAa2C,GAAG6D,SAAU,mBAAoB,KAC5C,IAAK,MAAMqJ,KAAUhD,eAAe3L,KAAKwO,wBACvCmrB,SAASzuB,oBAAoByD;;AClcjC,IAAImtB,UAAUh8B,OAAO8C,eAAem5B,WAAWj8B,OAAOk8B,iBAAiBC,kBAAkBn8B,OAAOo8B,0BAA0BC,oBAAoBr8B,OAAOs8B,sBAAsBC,aAAav8B,OAAOkF,UAAUs3B,eAAeC,aAAaz8B,OAAOkF,UAAUw3B,qBAAqBC,gBAAgBA,CAACC,EAAEC,EAAEC,IAAID,KAAKD,EAAEZ,UAAUY,EAAEC,EAAE,CAACE,YAAW,EAAGh6B,cAAa,EAAGi6B,UAAS,EAAGn6B,MAAMi6B,IAAIF,EAAEC,GAAGC,EAAEG,eAAeA,CAACL,EAAEC,KAAK,IAAI,IAAIC,KAAKD,IAAIA,EAAE,IAAIN,aAAa17B,KAAKg8B,EAAEC,IAAIH,gBAAgBC,EAAEE,EAAED,EAAEC,IAAI,GAAGT,oBAAoB,IAAI,IAAIS,KAAKT,oBAAoBQ,GAAGJ,aAAa57B,KAAKg8B,EAAEC,IAAIH,gBAAgBC,EAAEE,EAAED,EAAEC,IAAI,OAAOF,GAAGM,cAAcA,CAACN,EAAEC,IAAIZ,WAAWW,EAAET,kBAAkBU,IAAIM,cAAcA,CAACP,EAAEC,EAAEC,KAAKH,gBAAgBC,EAAE,iBAAiBC,EAAEA,EAAE,GAAGA,EAAEC,GAAGA,GAAG,MAAMM,cAAc,CAACC,iBAAiBT,GAAG,GAAGA,mEAAmEU,QAAQ,+FAA+FC,UAAU,yIAAyIC,cAAc,0DAA0DC,qBAAqB,uJAAuJC,WAAWA,CAACd,EAAEC,EAAEC,KAAKF,EAAEe,QAAQd,GAAGC,GAAGc,QAAQhB,IAAI,IAAIC,EAAEC,EAAEjb,EAAEgc,EAAEC,EAAE,IAAIlB,EAAEe,QAAQI,OAAO,MAAM,IAAIx0B,MAAM6zB,cAAcE,SAASV,EAAEoB,WAAW,OAAOnB,EAAED,EAAEe,QAAQM,YAAYC,gBAAgBrB,EAAEsB,YAAYvB,EAAEe,QAAQM,aAAa,OAAOpc,EAAE,OAAOib,EAAEF,EAAEe,QAAQS,mBAAc,EAAOtB,EAAEuB,cAAcxc,EAAEhhB,KAAKi8B,EAAEF,EAAEe,QAAQW,iBAAiBZ,WAAWd,EAAE,oBAAe,IAAS,OAAOkB,GAAGD,EAAEjB,EAAEe,QAAQM,aAAaI,cAAcP,EAAEj9B,KAAKg9B,EAAEjB,EAAEe,QAAQW,iBAAiBZ,WAAWd,EAAE,cAAcA,EAAEe,QAAQW,iBAAiB1B,EAAE2B,WAAW3B,EAAE2B,UAAU3B,IAAI4B,gBAAgB,IAAIC,QAAQC,sBAAsB9B,GAAG4B,gBAAgBvhC,IAAI2/B,GAAG+B,mBAAmB/B,IAAI4B,gBAAgB7tB,IAAIisB,IAAIgC,qBAAqBhC,IAAI4B,gBAAgB7gC,OAAOi/B,IAAIiC,mBAAmB,wBAAwBC,YAAYlC,GAAGA,EAAEmC,UAAU,IAAInC,EAAEz1B,aAAa,aAAa,SAASy1B,EAAEt4B,aAAa,iBAAiB06B,kBAAkBpC,IAAI,GAAGA,EAAEz1B,aAAa03B,oBAAoB,OAAO,MAAMhC,EAAED,EAAEt4B,aAAa,YAAYs4B,EAAEj5B,aAAak7B,mBAAmB,MAAMhC,EAAEA,EAAE,KAAKoC,oBAAoBrC,IAAI,IAAIA,EAAEz1B,aAAa03B,oBAAoB,OAAO,MAAMhC,EAAED,EAAEt4B,aAAau6B,oBAAoB,KAAKhC,GAAG,OAAOA,EAAED,EAAE/4B,gBAAgB,YAAY+4B,EAAEj5B,aAAa,WAAWk5B,GAAGD,EAAE/4B,gBAAgBg7B,qBAAqBK,eAAetC,IAAIkC,YAAYlC,KAAKoC,kBAAkBpC,GAAGA,EAAEmC,UAAS,GAAI,MAAMlC,EAAEr3B,SAAS25B,iBAAiBvC,EAAEwC,WAAWC,aAAa,CAACC,WAAW1C,GAAGkC,YAAYlC,GAAGwC,WAAWG,cAAcH,WAAWI,cAAc,KAAK3C,EAAE4C,YAAY,CAAC,MAAM7C,EAAEC,EAAExX,YAAY2Z,kBAAkBpC,GAAGA,EAAEmC,UAAS,CAAE,GAAGW,eAAe9C,IAAIqC,oBAAoBrC,GAAGA,EAAEr9B,iBAAiB,IAAIs/B,uBAAuBlR,QAAQsR,sBAAsBrnB,KAAKglB,IAAOA,EAAEe,QAAQgC,mBAAmB/C,EAAEe,QAAQiC,cAAgBhD,EAAEe,QAAQM,YAAYh6B,QAAQ47B,iBAAiB,GAAGnC,WAAWd,EAAE,qBAAoB,GAAIA,EAAEoB,WAAWkB,eAAetC,EAAEe,QAAQM,aAAarB,EAAEe,QAAQmC,gBAAgB,KAAKlD,EAAEe,QAAQmC,gBAAgBnS,QAASiP,GAAGA,KAAMc,WAAWd,EAAE,kBAAkB,KAAKA,EAAEoB,WAAWpB,EAAEe,QAAQS,cAAcxB,EAAEe,QAAQM,YAAYr9B,SAAS4E,SAASmD,kBAAiB,mBAAmBi0B,EAAEmD,cAAa,IAAKnD,EAAEmD,cAAcpB,mBAAmB/B,GAAGA,EAAEe,QAAQS,aAAa3K,SAAQmJ,EAAEoD,QAAQpD,EAAEoD,OAAOpD,KAAK,SAASqD,UAAUrD,GAAG,IAAIA,IAAIA,EAAEtkB,sBAAsB,MAAM,CAACa,IAAI,EAAED,OAAO,EAAEF,KAAK,EAAEC,MAAM,GAAG,MAAM4jB,EAAED,EAAEtkB,wBAAwBwkB,EAAEt3B,SAAS6B,gBAAgB,MAAM,CAAC6R,OAAO2jB,EAAE3jB,OAAOD,MAAM4jB,EAAE5jB,MAAME,IAAI0jB,EAAE1jB,IAAIxU,OAAOkhB,QAAQiX,EAAEvU,UAAUvP,KAAK6jB,EAAE7jB,KAAKrU,OAAOihB,QAAQkX,EAAEzU,WAAW,CAAC,SAAS6X,wBAAwB,MAAM,CAACC,GAAG96B,KAAK4D,IAAIzD,SAAS6B,gBAAgBiiB,aAAa,EAAE3kB,OAAOsrB,YAAY,GAAGmQ,GAAG/6B,KAAK4D,IAAIzD,SAAS6B,gBAAgBmiB,cAAc,EAAE7kB,OAAO07B,aAAa,GAAG,CAAC,SAASC,0BAA0B,MAAM,CAACtnB,KAAKrU,OAAOihB,SAASpgB,SAAS6B,gBAAgBqe,YAAY,EAAEvM,IAAIxU,OAAOkhB,SAASrgB,SAAS6B,gBAAgBse,WAAW,EAAE,CAAC,SAAS4a,wBAAwB3D,GAAG,MAAMzjB,IAAI0jB,EAAE7jB,KAAK8jB,GAAGwD,2BAA2BnnB,IAAI0I,EAAE7I,KAAK6kB,GAAGoC,UAAUrD,IAAIwD,GAAGtC,EAAEqC,GAAGK,GAAGN,wBAAwB5hB,EAAEuD,EAAEgb,EAAE4D,EAAE5C,EAAEf,EAAE,MAAM,CAAC3jB,IAAImF,EAAEpF,OAAO4kB,GAAGxf,EAAEse,EAAEpT,cAAcxQ,KAAKynB,EAAExnB,MAAMunB,GAAGC,EAAE7D,EAAEtT,aAAa,CAAC,SAASoX,qBAAqB9D,EAAEC,EAAEC,EAAE,GAAG,MAAMjb,EAAE,CAAC1I,KAAI,EAAGD,QAAO,EAAGF,MAAK,EAAGC,OAAM,GAAI4kB,EAAE,GAAG,IAAIhB,IAAID,EAAE,MAAM,CAAC+D,QAAQ9e,EAAE+e,gBAAgB/C,GAAG,MAAM3kB,OAAO4kB,EAAE3kB,IAAIqnB,GAAGD,wBAAwB3D,IAAIzjB,IAAImF,EAAEtF,KAAKynB,GAAGR,UAAUrD,IAAI/gB,OAAOglB,EAAEjlB,MAAM8F,GAAGmb,EAAEvkB,yBAAyB8nB,GAAGU,EAAEX,GAAGY,GAAGb,wBAAwBc,EAAED,EAAE,EAAEE,EAAEH,EAAE,EAAE,MAAM,CAAC,CAACI,UAAU5iB,EAAE2iB,EAAExW,SAAS,OAAO,CAACyW,UAAU5iB,EAAE2iB,EAAExW,SAAS,UAAU,CAACyW,UAAUT,EAAEO,EAAEvW,SAAS,QAAQ,CAACyW,UAAUT,EAAEO,EAAEvW,SAAS,UAAUkD,QAAS,EAAEuT,UAAUtE,EAAEnS,SAASoS,MAAMD,GAAGiB,EAAEvxB,KAAKuwB,KAAM78B,OAAOk1B,OAAOrT,EAAE,CAAC1I,IAAI0nB,GAAGL,EAAE1D,EAAE5jB,OAAO2nB,GAAG/C,EAAEhB,EAAE9jB,KAAK0I,GAAG+e,EAAExnB,MAAMyI,GAAGqf,EAAEN,IAAI,CAACE,QAAQ9e,EAAE+e,gBAAgB/C,EAAE,CAAC,MAAMsD,UAAUA,CAACvE,EAAEC,EAAEC,EAAEjb,KAAK,IAAIgc,EAAE,MAAMC,EAAEjc,EAAEvb,cAAc,kBAAkBu2B,OAAO2D,EAAE,MAAM1C,OAAE,EAAOA,EAAEx3B,cAAc,sBAAsB,IAAIw3B,IAAI0C,EAAE,OAAO,IAAI,MAAM1D,OAAE,EAAOA,EAAEsE,WAAWZ,EAAEv5B,UAAU0J,OAAOmsB,EAAEsE,SAAS31B,OAAOxF,MAAM,QAAQ,MAAM62B,OAAE,EAAOA,EAAE1T,MAAM,OAAO,MAAM9K,EAAE9Y,SAASg1B,cAAc,OAAOlc,EAAE+iB,UAAUzE,EAAE0E,OAAOC,UAAUjjB,EAAEra,QAAQu9B,YAAY,GAAGljB,EAAEmjB,UAAU7E,EAAE8E,cAAc5E,EAAE1T,MAAMoX,EAAEmB,aAAa,OAAOnB,EAAEoB,UAAU,GAAGpB,EAAEoB,cAAc,OAAO/D,EAAE,MAAMvf,OAAE,EAAOA,EAAEgd,kBAAa,EAAOuC,EAAE78B,QAAQ,uBAAuB,IAAIA,QAAQ,UAAU,OAAO88B,EAAE+D,YAAYvjB,GAAG8P,sBAAuB,KAAK,IAAI9P,EAAE,OAAO,MAAMqiB,QAAQ/D,GAAG8D,qBAAqB5C,EAAExf,GAAGue,EAAED,EAAE1jB,OAAO4kB,EAAEl2B,cAAc0W,EAAE1W,aAAak1B,EAAEF,EAAE5jB,OAAO4jB,EAAE3jB,MAAM6kB,EAAE9W,YAAY1I,EAAE0I,YAAY,GAAG4V,EAAE5jB,MAAM4jB,EAAE3jB,MAAMqF,EAAE0I,YAAY,EAAE,EAAEhnB,OAAOk1B,OAAO5W,EAAEnG,MAAM,CAACa,KAAK,GAAG8jB,MAAM3jB,IAAI,GAAG0jB,WAAYiF,gBAAgBA,CAAClF,EAAEC,KAAK,IAAIC,EAAEF,EAAEmF,SAAS,OAAOjF,EAAE98B,OAAOyB,QAAQm7B,EAAEmF,UAAUjF,EAAEnP,QAAS,EAAEmP,EAAEjb,KAAKsf,UAAUvE,EAAEE,EAAEjb,EAAEgb,MAAOmF,QAAQpF,GAAG,IAAI/F,KAAK,GAAG+F,cAAcqF,cAAcrF,GAAG,GAAGA,EAAEsF,iBAAiBC,OAAOvF,EAAEwF,WAAW,GAAGC,SAAS,EAAE,QAAQF,OAAOvF,EAAEoF,WAAWK,SAAS,EAAE,OAAOC,WAAW1F,GAAGA,EAAE3a,OAAQ,CAAC2a,EAAEC,KAAK,GAAGA,aAAahG,MAAM,iBAAiBgG,EAAE,CAAC,MAAMC,EAAED,aAAahG,KAAKgG,EAAE,IAAIhG,KAAKgG,GAAGD,EAAEtwB,KAAKwwB,EAAEyF,cAAcC,UAAU,EAAE,IAAI,MAAM3F,EAAE/3B,MAAM,0BAA0B83B,EAAEtwB,KAAKuwB,GAAGA,EAAE77B,QAAQ,6CAA8C,CAAC67B,EAAEC,EAAEjb,KAAK,MAAMgc,EAAEmE,QAAQlF,GAAGgB,EAAEkE,QAAQngB,GAAG2e,EAAE,IAAI3J,KAAKgH,EAAE4E,WAAW,KAAKjC,GAAG1C,EAAE0C,EAAEkC,QAAQlC,EAAEwB,UAAU,GAAGpF,EAAEtwB,KAAK21B,cAAczB,IAAI,OAAO3D,IAAK,OAAOD,GAAI,IAAI+F,gBAAgBA,CAAC/F,EAAEC,EAAEC,EAAEjb,EAAE,MAAMgb,EAAED,EAAEj5B,aAAam5B,EAAEjb,GAAG+a,EAAEt4B,aAAaw4B,KAAKjb,GAAG+a,EAAE/4B,gBAAgBi5B,IAAI8F,gBAAgBA,CAAChG,EAAEC,EAAEC,EAAEjb,EAAEgc,EAAEC,EAAE0C,KAAK,IAAIliB,EAAEmiB,EAAEI,EAAEnf,EAAE,MAAMof,EAAEkB,QAAQpF,EAAEe,QAAQkF,gBAAgBb,QAAQlE,IAAIkE,QAAQpF,EAAEe,QAAQmF,gBAAgBd,QAAQlE,KAAK,OAAOxf,EAAEse,EAAEe,QAAQoF,mBAAc,EAAOzkB,EAAE5c,SAASo8B,MAAMlB,EAAEoG,qBAAqB,YAAYxC,IAAI5D,EAAEqG,oBAAoBjB,QAAQlE,GAAGoE,gBAAgBrF,EAAE8F,gBAAgB7F,EAAEgE,EAAE,yBAAyBjf,GAAG8gB,gBAAgB9gB,EAAEif,EAAE,gBAAgB,QAAQjf,GAAG8gB,gBAAgB9gB,EAAEif,EAAE,WAAW,MAAM6B,gBAAgB7F,GAAGF,EAAEsG,cAActG,EAAEe,QAAQwF,YAAYrF,EAAE,sBAAsB6E,gBAAgB7F,GAAGF,EAAEsG,cAActG,EAAEe,QAAQwF,YAAYrF,EAAE,eAAe,QAAQ6E,gBAAgB7F,EAAE,OAAO2D,EAAE7D,EAAEwG,uBAAkB,EAAO3C,EAAE/+B,SAASm8B,GAAG,wBAAwB,MAAMkD,GAAG,OAAOF,EAAEjE,EAAEyG,uBAAkB,EAAOxC,EAAE,IAAIyB,WAAW1F,EAAEyG,kBAAkB,GAAG,GAAGV,gBAAgB7F,EAAEiE,EAAEr/B,SAASo8B,GAAG,yBAAyB,OAAOpc,EAAEkb,EAAEe,QAAQ2F,oBAAe,EAAO5hB,EAAEhgB,SAASo8B,KAAKhB,EAAEn5B,aAAa,wBAAwB,IAAIke,GAAGA,EAAEle,aAAa,gBAAgB,QAAQi5B,EAAEe,QAAQ2F,cAAcnhC,OAAO,GAAG,oBAAoBy6B,EAAE2G,qBAAqB3G,EAAEe,QAAQ2F,cAAc,KAAKxF,GAAGlB,EAAEe,QAAQ2F,cAAc1G,EAAEe,QAAQ2F,cAAcnhC,OAAO,KAAK27B,EAAEhB,EAAEn5B,aAAa,wBAAwB,kBAAkBi5B,EAAEe,QAAQ2F,cAAc,KAAKxF,EAAEhB,EAAEn5B,aAAa,wBAAwB,SAASi5B,EAAEe,QAAQ2F,cAAc1G,EAAEe,QAAQ2F,cAAcnhC,OAAO,KAAK27B,GAAGhB,EAAEn5B,aAAa,wBAAwB,QAAQi5B,EAAEe,QAAQ2F,cAAc,KAAKxF,GAAGlB,EAAEe,QAAQ2F,cAAc1G,EAAEe,QAAQ2F,cAAcnhC,OAAO,KAAK27B,GAAGhB,EAAEn5B,aAAa,wBAAwB,YAAYm5B,EAAE31B,aAAa,2BAA2B21B,EAAEj5B,gBAAgB,yBAAyBge,GAAGA,EAAEhe,gBAAgB,mBAAmB+4B,EAAEe,QAAQoF,aAAarhC,SAASo8B,IAAIlB,EAAE4G,qBAAqB5G,EAAEe,QAAQ2F,cAAcnhC,OAAO,GAAG,oBAAoBy6B,EAAE2G,mBAAmB,CAAC,MAAM1G,EAAEmF,QAAQpF,EAAEe,QAAQ2F,cAAc,IAAIzhB,EAAEmgB,QAAQpF,EAAEe,QAAQ2F,cAAc1G,EAAEe,QAAQ2F,cAAcnhC,OAAO,IAAI07B,EAAEmE,QAAQlE,GAAG6E,gBAAgB7F,EAAEe,EAAEhB,GAAGgB,EAAEhc,EAAE,wBAAwB,SAAS,GAAG4hB,gBAAgBA,CAAC7G,EAAEC,EAAEC,IAAI,IAAIjG,KAAK,GAAG+F,mBAAmB8G,eAAe7G,EAAEC,GAAG6G,cAAcA,CAAC/G,EAAEC,KAAK,MAAMC,EAAEkF,QAAQpF,GAAG/a,GAAGib,EAAE8G,SAAS/G,EAAE,GAAG,EAAEC,EAAE4F,QAAQ5F,EAAEkF,UAAU,EAAEngB,GAAG,MAAMgc,EAAE,IAAIhH,KAAKiG,EAAEoF,cAAc,EAAE,GAAGpE,EAAEz4B,KAAKw+B,QAAQ/G,GAAGe,GAAG,MAAM,GAAG,GAAG,MAAM,CAACiG,KAAKhH,EAAEoF,cAAc6B,KAAKjG,IAAIkG,qBAAqBA,CAACpH,EAAEC,EAAEC,KAAK,MAAMjb,EAAE8hB,cAAc7G,EAAEF,EAAEqH,cAAcpiB,IAAIgb,EAAE54B,QAAQigC,iBAAiB/B,OAAOtgB,EAAEkiB,QAAQI,kBAAkBA,CAACvH,EAAEC,EAAEC,KAAK,IAAIjb,EAAEgc,EAAEC,EAAE0C,EAAEliB,EAAE,MAAMmiB,EAAE,OAAO5e,EAAE+a,EAAEwH,sBAAiB,EAAOviB,EAAEngB,SAASo7B,GAAG+D,EAAEjE,EAAEyH,oBAAoB,OAAOxG,EAAEjB,EAAEe,QAAQ2G,kBAAa,EAAOzG,EAAE,KAAK4C,IAAII,IAAI,OAAO/C,EAAElB,EAAEe,QAAQ2G,kBAAa,EAAOxG,EAAEp8B,SAASm7B,MAAM,OAAO2D,EAAE5D,EAAEe,QAAQoF,mBAAc,EAAOvC,EAAE9+B,SAASm7B,MAAMD,EAAEe,QAAQoF,aAAaz2B,KAAKuwB,GAAG,OAAOve,EAAEse,EAAEe,QAAQoF,eAAezkB,EAAEsD,KAAM,CAACgb,EAAEC,KAAK,IAAIhG,KAAK+F,IAAI,IAAI/F,KAAKgG,MAAO0H,WAAWA,CAAC3H,EAAEC,EAAEC,EAAEjb,EAAEgc,EAAEC,KAAK,MAAM0C,EAAEwB,QAAQnE,GAAG+F,SAAStlB,EAAE,iBAAiBse,EAAE4H,QAAQ5H,EAAE4H,OAAOriC,OAAOy6B,EAAE4H,OAAO,KAAK/D,EAAEj7B,SAASg1B,cAAc,OAAO,IAAIqG,EAAEJ,EAAEY,UAAUzE,EAAE0E,OAAOmD,KAAKhE,EAAEx8B,QAAQygC,OAAO7G,EAAE4C,EAAEx8B,QAAQ0gC,YAAY7G,EAAE2C,EAAEx8B,QAAQ2gC,cAAczC,OAAO3B,GAAGC,EAAEoE,KAAK,YAAY,YAAY/G,GAAGlB,EAAEkI,uBAAuBjE,EAAEr7B,SAASg1B,cAAc,UAAUqG,EAAEQ,UAAUzE,EAAE0E,OAAOyD,QAAQlE,EAAE3hC,KAAK,SAAS2hC,EAAEe,UAAU6B,gBAAgB5F,EAAEvf,EAAE,CAAC0mB,UAAU,OAAOC,SAAS,QAAQpE,EAAE58B,QAAQihC,UAAU,GAAGrE,EAAEsE,UAAUhD,OAAOtgB,GAAG4e,EAAEoB,YAAYhB,IAAIjE,EAAEwI,mBAAmBpB,qBAAqBpH,EAAE6D,EAAE5C,GAAGsG,kBAAkBvH,EAAEiB,EAAE2C,GAAGoC,gBAAgBhG,EAAEC,EAAE4D,EAAEI,EAAEL,EAAE3C,EAAEC,GAAGhB,EAAEuI,QAAQ5E,GAAG7D,EAAE0I,iBAAiB1I,EAAE0I,gBAAgB1I,EAAE6D,IAAI8E,4BAA4BA,CAAC3I,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,IAAI,IAAIC,EAAE,EAAEA,GAAGhB,EAAEgB,IAAI,CAAC,MAAMhB,EAAE,IAAIjG,KAAKhV,EAAEgc,EAAEC,GAAGyG,WAAW3H,EAAE/a,EAAEgb,EAAEiB,EAAEmE,cAAcnF,GAAG,UAAU,GAAG0I,yBAAyBA,CAAC5I,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,MAAMC,EAAED,EAAE,IAAI,GAAGhc,EAAE,EAAEA,EAAE2e,EAAE3C,EAAE,IAAI,GAAG,KAAKA,EAAE,EAAE,GAAG,IAAIA,EAAE,IAAIA,EAAE,EAAE,IAAI,IAAIA,EAAE,EAAEA,GAAGf,EAAEe,IAAI,CAAC,MAAMf,EAAEe,EAAE,GAAG,IAAIA,IAAIsE,OAAOtE,GAAG0G,WAAW3H,EAAE/a,EAAEgb,EAAEgB,EAAE,GAAGC,KAAK0C,KAAK1D,IAAI,OAAO,GAAG2I,yBAAyBA,CAAC7I,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,IAAIC,EAAE,IAAIjH,KAAKiG,EAAEjb,EAAE,GAAGmgB,WAAWnE,EAAE,GAAG,MAAM2C,EAAE,IAAI3e,EAAEib,EAAE,EAAEA,EAAExe,EAAE,IAAIuD,EAAE,GAAGA,EAAE,GAAG,IAAIA,IAAIA,EAAE,IAAI,IAAIA,EAAEgc,EAAEhc,EAAE,EAAEA,IAAIic,IAAKyG,WAAW3H,EAAEE,EAAED,EAAEiB,EAAE,GAAG0C,KAAKliB,KAAKwf,IAAI,SAAU4H,kBAAkBA,CAAC9I,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,IAAIjB,EAAEwI,kBAAkB,OAAOvjB,EAAEyZ,YAAY,GAAG,MAAMwC,EAAEt4B,SAASg1B,cAAc,KAAKsD,EAAEuD,UAAUzE,EAAE0E,OAAOqE,iBAAiB7H,EAAEqH,UAAU,IAAIrH,EAAE75B,QAAQ2hC,cAAc,QAAQ/jB,EAAEggB,YAAY/D,GAAG,MAAM0C,EAAEh7B,SAASg1B,cAAc,OAAOgG,EAAEa,UAAUzE,EAAE0E,OAAOuE,mBAAmBrF,EAAEv8B,QAAQ2hC,cAAc,UAAU/jB,EAAEggB,YAAYrB,GAAG,MAAMliB,EAAE9Y,SAASg1B,cAAc,UAAUlc,EAAEpf,KAAK,SAASof,EAAE+iB,UAAUzE,EAAE0E,OAAOwE,WAAW,MAAMrF,EAAE5C,EAAEt+B,iBAAiB,kBAAkBshC,EAAEx7B,KAAKw+B,MAAMhH,EAAEC,GAAG,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEgE,EAAEhE,IAAI,CAAC,MAAMC,EAAE2D,EAAE,IAAI5D,EAAE,EAAE,EAAEA,GAAG54B,QAAQygC,OAAO7iB,EAAE8hB,cAAc7G,EAAEF,EAAEqH,cAAc,IAAIpiB,EAAE,OAAO,MAAMgc,EAAEvf,EAAEynB,WAAU,GAAIlI,EAAEsH,UAAUhD,OAAOtgB,EAAEkiB,MAAMlG,EAAE55B,QAAQ+hC,aAAa7D,OAAOtgB,EAAEkiB,MAAMlG,EAAE55B,QAAQgiC,WAAW9D,OAAOtgB,EAAEiiB,MAAMjG,EAAEgH,KAAK,YAAYhH,EAAE+D,UAAU,GAAG/f,EAAEkiB,OAAOvD,EAAEqB,YAAYhE,EAAE,GAAGqI,YAAYtJ,IAAI,MAAMC,EAAE,IAAIhG,KAAK+F,EAAEe,QAAQwI,aAAavJ,EAAEe,QAAQyI,cAAc,GAAGtJ,EAAEF,EAAEe,QAAQM,YAAY1+B,iBAAiB,qBAAqBsiB,EAAE+a,EAAEe,QAAQM,YAAY1+B,iBAAiB,4BAA4Bu9B,EAAEnP,QAAS,CAACmP,EAAEe,KAAKjB,EAAE2G,qBAAqBzG,EAAE74B,QAAQoiC,gBAAgB,IAAIvJ,EAAExB,YAAY,GAAG,MAAMwC,EAAE,IAAIjH,KAAKgG,GAAGiB,EAAEwI,SAASxI,EAAEsE,WAAWvE,GAAG,MAAM2C,EAAE1C,EAAEsE,WAAW9jB,EAAEwf,EAAEoE,cAAczB,GAAG,IAAI5J,KAAKvY,EAAEkiB,EAAE,GAAGoD,SAAShH,EAAEqH,aAAa,GAAG,EAAEpD,EAAE,IAAIhK,KAAKvY,EAAEkiB,EAAE,EAAE,GAAGwB,UAAUtgB,EAAE+e,EAAEI,EAAEC,EAAEz7B,KAAKw+B,KAAKniB,EAAE,GAAGqf,EAAE,EAAED,EAAEpf,EAAEsf,EAAE,GAAG,IAAI,IAAInE,EAAE,EAAEA,EAAEiE,EAAEjE,IAAI,CAAC,MAAMA,EAAEr3B,SAASg1B,cAAc,OAAOqC,EAAEwE,UAAUzE,EAAE0E,OAAOiF,SAAS1J,EAAEl5B,aAAa,gBAAgB,OAAOk5B,EAAEl5B,aAAa,OAAO,OAAOq9B,EAAE10B,KAAKuwB,EAAE,CAAC,IAAIoE,EAAE,EAAEroB,EAAE,EAAE,MAAM4tB,EAAE,CAACnB,QAAQzI,IAAIoE,EAAEC,GAAGY,YAAYjF,GAAGhkB,IAAIA,GAAG,IAAIqoB,IAAIroB,EAAE,KAAK6sB,yBAAyB7I,EAAE4J,EAAEloB,EAAEkiB,EAAEC,GAAG8E,4BAA4B3I,EAAE4J,EAAE3F,EAAEviB,EAAEkiB,GAAGgF,yBAAyB5I,EAAE4J,EAAEzF,EAAEziB,EAAEkiB,GAAG,IAAI,MAAM5D,KAAKoE,EAAElE,EAAE+E,YAAYjF,GAAGkF,gBAAgBlF,EAAEE,GAAG4I,kBAAkB9I,EAAE6D,EAAEI,EAAEhf,EAAEgc,GAAGf,MAAO2J,cAAc7J,GAAG,mBAAmBA,EAAE0E,OAAOoF,uDAAuD9J,EAAE+J,OAAOC,6DAA6DhK,EAAE0E,OAAOuF,gJAAgJjK,EAAE0E,OAAOwF,sEAAsElK,EAAE0E,OAAOyF,sJAAsJC,aAAapK,GAAG,mBAAmBA,EAAE0E,OAAOoF,uDAAuD9J,EAAE+J,OAAOC,iCAAiChK,EAAE0E,OAAOuF,oHAAoHjK,EAAE0E,OAAOwF,gDAAgDlK,EAAE0E,OAAOyF,yEAAyEE,eAAerK,GAAG,mBAAmBA,EAAE0E,OAAO4F,2DAA2DtK,EAAE+J,OAAOC,iGAAiGhK,EAAE0E,OAAO6F,6DAA6DvK,EAAE0E,OAAO8F,gEAAgExK,EAAE0E,OAAOoF,oDAAoD9J,EAAE0E,OAAOuF,kJAAkJjK,EAAE0E,OAAOwF,kFAAkFlK,EAAE0E,OAAOyF,sNAAsNM,YAAYzK,GAAG,mBAAmBA,EAAE0E,OAAOoF,uDAAuD9J,EAAE+J,OAAOC,4DAA4DhK,EAAE0E,OAAOuF,+IAA+IjK,EAAE0E,OAAOwF,gDAAgDlK,EAAE0E,OAAOyF,wEAAwEO,UAAUA,CAAC1K,EAAEC,IAAI,gCAAgCD,EAAE0E,OAAOiG,+CAA+C3K,EAAE+J,OAAOY,UAAU1K,gBAAgB2K,UAAUA,CAAC5K,EAAEC,IAAI,gCAAgCD,EAAE0E,OAAOmG,+CAA+C7K,EAAE+J,OAAOc,UAAU5K,gBAAgB6K,YAAY9K,GAAGA,EAAE+K,kBAAkB,eAAe/K,EAAE0E,OAAOsG,iDAAiDhL,EAAE+J,OAAOkB,wBAAwB,GAAGC,iBAAiBlL,GAAGA,EAAEmL,yBAAyB,eAAenL,EAAE0E,OAAO0G,+DAA+D,GAAGC,MAAMrL,GAAG,eAAeA,EAAE0E,OAAO4G,4DAA4DtL,EAAE+J,OAAOuB,UAAU,aAAatL,EAAE19B,KAAK,uBAAuB,YAAYipC,MAAMvL,GAAG,gCAAgCA,EAAE0E,OAAO8G,mCAAmCC,OAAOzL,GAAG,eAAeA,EAAE0E,OAAOgH,0EAA0E1L,EAAE+J,OAAO2B,iBAAiBC,KAAK3L,GAAG,eAAeA,EAAE0E,OAAOyC,+CAA+CnH,EAAE+J,OAAO5C,eAAeyE,YAAY5L,GAAGA,EAAEwI,kBAAkB,eAAexI,EAAE0E,OAAOmH,8DAA8D7L,EAAE+J,OAAOb,qBAAqB,GAAG4C,KAAK9L,GAAG,gCAAgCA,EAAE0E,OAAOwC,iCAAiC6E,MAAM/L,GAAG,eAAeA,EAAE0E,OAAOsH,wEAAwEhM,EAAE+J,OAAOiC,gBAAgBC,WAAW,CAACvB,UAAUA,UAAUE,UAAUA,UAAUE,YAAYA,YAAYO,MAAMA,MAAMH,iBAAiBA,iBAAiBK,MAAMA,MAAME,OAAOA,OAAOE,KAAKA,KAAKC,YAAYA,YAAYE,KAAKA,KAAKC,MAAMA,OAAOG,aAAalM,GAAGiM,WAAWjM,GAAGmM,YAAYA,CAACnM,EAAEC,IAAIA,EAAE77B,QAAQ,UAAU,IAAIA,QAAQ,2BAA4B,CAAC67B,EAAEC,KAAK,MAAMjb,GAAGib,EAAEh4B,MAAM,cAAc,IAAI,GAAG+4B,EAAEf,EAAE97B,QAAQ,uBAAuB,IAAI88B,EAAEgL,aAAajL,GAAG2C,EAAE1C,EAAEA,EAAElB,EAAE,MAAM/a,EAAEA,EAAE,MAAM,GAAG,OAAO+a,EAAE8E,cAAclB,KAAMx/B,QAAQ,UAAU,IAAIgoC,oBAAoBA,CAACpM,EAAEC,IAAIA,EAAE77B,QAAQ,IAAImJ,OAAO,iCAAiC,MAAO,CAAC0yB,EAAEC,KAAK,MAAMjb,EAAEtkB,MAAMq/B,EAAEe,QAAQsL,oBAAoBC,KAAKpM,GAAGlxB,KAAK,IAAI,OAAOgxB,EAAE8E,cAAc7f,KAAM7gB,QAAQ,UAAU,IAAImoC,cAAcA,CAACvM,EAAEC,KAAK,MAAMC,EAAE,CAACsM,QAAQ3C,cAAc2B,MAAMpB,aAAalD,KAAKuD,YAAY5N,SAASwN,gBAAgB,GAAGjnC,OAAOvC,KAAKq/B,GAAGnP,QAASkP,IAAI,MAAMhb,EAAEgb,EAAED,EAAEyM,QAAQxnB,GAAG1f,SAASy6B,EAAEyM,QAAQxnB,GAAGib,EAAEjb,GAAG+a,MAAOA,EAAEe,QAAQM,YAAYoD,UAAUzE,EAAE0E,OAAOgI,SAAS1M,EAAEe,QAAQM,YAAYh6B,QAAQslC,GAAG,WAAW3M,EAAEe,QAAQM,YAAYh6B,QAAQulC,OAAO5M,EAAEe,QAAQiC,YAAYhD,EAAEe,QAAQM,YAAY4G,KAAK,cAAcjI,EAAEe,QAAQM,YAAYc,SAAS,EAAEnC,EAAEe,QAAQM,YAAY2D,UAAUhF,EAAE+J,OAAO8C,YAAY,aAAa7M,EAAEe,QAAQiC,YAAY,CAAC,GAAG,aAAahD,EAAE19B,MAAM29B,EAAE,CAAC,MAAMC,EAAEF,EAAEe,QAAQM,YAAY33B,cAAc,wBAAwBub,EAAE+a,EAAEe,QAAQM,YAAY33B,cAAc,oBAAoBu3B,EAAEhB,EAAEj2B,QAAQ,sBAAsB,OAAOk2B,GAAGA,EAAEp/B,SAASmkB,IAAIA,EAAE5d,QAAQylC,OAAO,UAAU7L,IAAIA,EAAE55B,QAAQ0lC,SAAS/M,EAAEe,QAAQiC,kBAAkB/B,IAAIA,EAAE4D,UAAU7E,EAAE8E,cAAcqH,YAAYnM,EAAEA,EAAEyM,QAAQzM,EAAEe,QAAQiC,gBAAgB,CAAChD,EAAEe,QAAQM,YAAYwD,UAAU7E,EAAE8E,cAAcqH,YAAYnM,EAAEA,EAAEyM,QAAQzM,EAAEe,QAAQiC,cAAc,MAAMhD,EAAEe,QAAQM,YAAYwD,UAAU7E,EAAE8E,cAAcsH,oBAAoBpM,EAAEmM,YAAYnM,EAAEA,EAAEyM,QAAQzM,EAAEe,QAAQiC,iBAAiBgK,oBAAoBA,CAAChN,EAAEC,EAAEC,EAAEjb,KAAK+a,EAAEzkB,MAAM0xB,WAAW/M,EAAE,SAAS,GAAGD,EAAE1kB,MAAM0xB,WAAWhoB,EAAE,SAAS,IAAIioB,kBAAkBA,CAAClN,EAAEC,EAAEC,KAAK,MAAMjb,EAAEmgB,QAAQC,cAAc,IAAIpL,KAAK+F,EAAEe,QAAQwI,aAAavJ,EAAEe,QAAQyI,cAAc,KAAKvI,EAAE,IAAIhH,KAAKhV,EAAE4gB,WAAW3E,EAAE,IAAIjH,KAAKhV,EAAE4gB,WAAW5E,EAAEyI,SAASzI,EAAEuE,WAAWxF,EAAEmN,gBAAgBjM,EAAEwI,SAASxI,EAAEsE,WAAWxF,EAAEmN,gBAAgB,MAAMvJ,EAAEwB,QAAQpF,EAAEe,QAAQqM,SAAS1rB,EAAE0jB,QAAQpF,EAAEe,QAAQsM,SAASrN,EAAEqG,qBAAqBzC,EAAE0J,YAAYroB,EAAEqgB,eAAe5jB,EAAE4rB,YAAYroB,EAAEqgB,gBAAgB,MAAMzB,GAAG7D,EAAEoG,qBAAqBnF,EAAEqE,cAAc1B,EAAE0B,eAAerE,EAAEqE,gBAAgB1B,EAAE0B,eAAerE,EAAEuE,WAAW5B,EAAE4B,WAAWvB,GAAGjE,EAAEoG,qBAAqBlF,EAAEoE,cAAc5jB,EAAE4jB,eAAepE,EAAEoE,gBAAgB5jB,EAAE4jB,eAAepE,EAAEsE,WAAW9jB,EAAE8jB,YAAYxF,EAAEe,QAAQsL,mBAAmB,GAAGW,oBAAoB/M,EAAEC,EAAE2D,EAAEI,IAAIsJ,eAAeA,CAACvN,EAAEC,EAAEC,KAAK,MAAMjb,EAAEmgB,QAAQpF,EAAEe,QAAQqM,SAASnM,EAAEmE,QAAQpF,EAAEe,QAAQsM,SAASnM,KAAKjc,EAAEqgB,eAAetF,EAAEe,QAAQyM,YAAY,GAAGvoB,EAAEqgB,eAAe1B,KAAK3C,EAAEqE,eAAetF,EAAEe,QAAQyM,YAAY,GAAGvM,EAAEqE,eAAe0H,oBAAoB/M,EAAEC,EAAEgB,EAAE0C,IAAI6J,iBAAiBzN,IAAI,GAAG,UAAUA,EAAEe,QAAQiC,YAAY,OAAO,MAAM/C,EAAED,EAAEe,QAAQM,YAAY33B,cAAc,0BAA0Bw2B,EAAEF,EAAEe,QAAQM,YAAY33B,cAAc,0BAA8Bu2B,GAAIC,GAAS,CAAEsM,QAAQA,IAAIU,kBAAkBlN,EAAEC,EAAEC,GAAGgH,KAAKA,IAAIqG,eAAevN,EAAEC,EAAEC,IAAK,aAAaF,EAAEe,QAAQiC,YAAY,UAAUhD,EAAEe,QAAQiC,gBAAgB0K,kBAAkBA,CAAC1N,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,MAAMC,EAAE,IAAIjH,KAAKhV,EAAEqoB,YAAYtN,EAAEe,QAAQwI,aAAavJ,EAAEe,QAAQyI,cAActJ,IAAIoF,cAAc1B,EAAE,IAAI3J,KAAKhV,EAAEykB,SAAS1J,EAAEe,QAAQyI,cAActJ,IAAIsF,WAAW9jB,EAAEse,EAAEe,QAAQ6G,OAAO8D,OAAOiC,KAAK/J,GAAGC,EAAE5D,EAAEj2B,QAAQ,sBAAsB65B,IAAIA,EAAEmB,UAAU,GAAGtjB,KAAKwf,KAAK,MAAM+C,EAAE,CAACuH,MAAM,CAACrjC,GAAGy7B,EAAEjF,MAAMjd,GAAGwlB,KAAK,CAAC/+B,GAAG+4B,EAAEvC,MAAMuC,IAAIjB,EAAEsI,UAAUhD,OAAOtB,EAAEhD,GAAGtC,OAAOsB,EAAE54B,QAAQ,KAAK45B,EAAEz5B,OAAO,GAAGkG,cAAcuzB,EAAE57B,MAAM,MAAMkgC,OAAOtB,EAAEhD,GAAG94B,IAAI83B,EAAE+E,UAAU,GAAGhF,EAAE+J,OAAO9I,MAAMgD,EAAEhD,GAAGtC,QAAQ,MAAM7Z,EAAE,CAAC0mB,MAAMxL,EAAEoG,oBAAoBc,KAAKlH,EAAEqG,oBAAoBnC,GAAE,IAAKpf,EAAEmc,IAAI,gBAAgBnc,EAAEmc,GAAGiD,IAAIjE,EAAEkC,UAAS,GAAIlC,EAAE31B,SAAS45B,GAAG0J,gBAAgB5N,IAAI,MAAMC,EAAED,EAAEe,QAAQM,YAAY1+B,iBAAiB,qBAAqBu9B,EAAEF,EAAEe,QAAQM,YAAY1+B,iBAAiB,oBAAoBsiB,EAAE,IAAIgV,KAAK+F,EAAEe,QAAQwI,aAAavJ,EAAEe,QAAQyI,cAAc,GAAG,CAACvJ,EAAEC,GAAGnP,QAASkP,GAAG,MAAMA,OAAE,EAAOA,EAAElP,QAAS,CAACkP,EAAEC,IAAIwN,kBAAkB1N,EAAEC,EAAEC,EAAEjb,EAAEgb,EAAE54B,QAAQslC,OAASkB,gBAAgBA,CAAC7N,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,IAAIC,EAAE,MAAqExf,EAAE,CAAC8pB,MAAM,CAAC7vB,SAAS,gCAAgCmyB,KAAK,gBAAgB7nC,MAAM,gBAAgB8nC,iBAAiB,iBAAiB7G,KAAK,CAACvrB,SAAS,8BAA8BmyB,KAAK,gBAAgB7nC,MAAM,cAAc8nC,iBAAiB,iBAAiB9M,IAAI,OAAOC,EAAElB,EAAEe,QAAQM,YAAY1+B,iBAAxV,CAAC6oC,MAAM,yBAAyBtE,KAAK,wBAAsUhH,MAAMgB,EAAEnQ,QAASiP,IAAIA,EAAE/4B,gBAAgBya,EAAEwe,GAAGvkB,UAAUqkB,EAAE/4B,gBAAgBya,EAAEwe,GAAG4N,QAAShN,WAAWd,EAAEte,EAAEwe,GAAG6N,iBAAiB1nC,OAAO45B,EAAE54B,QAAQqa,EAAEwe,GAAGj6B,SAAS2nC,gBAAgB5N,GAAG,SAASE,GAAGuN,iBAAiBzN,IAAI/a,IAAIgb,EAAEl5B,aAAa2a,EAAEwe,GAAGvkB,SAAS,IAAIskB,EAAEl5B,aAAa2a,EAAEwe,GAAG4N,KAAK,UAAUE,YAAYA,CAAChO,EAAEC,KAAK,IAAIC,EAAE,GAAG,aAAaF,EAAE19B,KAAK,MAAM,CAAC2rC,aAAa,KAAKC,SAAS,GAAG,MAAMjpB,EAAE+a,EAAEe,QAAQM,YAAY1+B,iBAAiB,sBAAsBs+B,EAAEtgC,MAAMC,KAAKqkB,GAAGkpB,UAAWnO,GAAGA,EAAEh2B,QAAQ,oBAAoBi2B,QAAS,MAAM,CAACgO,aAAahN,GAAG,EAAE56B,OAAO,OAAO65B,EAAEjb,EAAEgc,GAAGv3B,cAAc,aAAau2B,aAAQ,EAAOC,EAAEx4B,aAAa,WAAWu4B,MAAM,KAAKiO,SAASzlC,KAAK4D,IAAI40B,EAAE,KAAKmN,cAAcA,CAACpO,EAAEC,EAAEC,EAAEjb,EAAEgc,EAAEC,EAAE0C,KAAK,MAAMliB,EAAEue,EAAEkJ,WAAU,GAAI,OAAOznB,EAAE+iB,UAAUzE,EAAE0E,OAAO2J,YAAY3sB,EAAE6mB,UAAUtjB,EAAEvD,EAAEsjB,UAAU/D,EAAEvf,EAAEumB,KAAK,WAAWvmB,EAAEra,QAAQinC,cAAc,GAAG1K,IAAI1C,IAAIxf,EAAE6sB,aAAa,QAAQrN,IAAIxf,EAAEygB,UAAS,GAAIzgB,EAAEpX,SAAS42B,EAAE2M,gBAAgB7N,EAAEte,EAAE,QAAQwe,IAAI0D,GAAE,GAAIliB,GAAG8sB,aAAaA,CAACxO,EAAEC,KAAK,IAAIC,EAAEjb,EAAE,MAAMgc,EAAE,OAAOf,EAAE,MAAMD,OAAE,EAAOA,EAAEj2B,QAAQ,4BAAuB,EAAOk2B,EAAEx2B,cAAc,oBAAoBw3B,EAAED,EAAE56B,OAAO46B,EAAE55B,QAAQonC,QAAQzO,EAAEe,QAAQwI,aAAa3F,GAAG,MAAM3D,OAAE,EAAOA,EAAE54B,QAAQqnC,SAASroC,OAAO45B,EAAE54B,QAAQqnC,SAAS1O,EAAEe,QAAQyI,cAAc1I,WAAWd,EAAE,cAAc,SAASuM,cAAcvM,EAAEC,GAAG2N,gBAAgB5N,GAAG,MAAMte,EAAEse,EAAEe,QAAQM,YAAY33B,cAAc,sBAAsB,IAAIs2B,EAAEoG,sBAAsB1kB,EAAE,OAAO,MAAMmiB,EAAE7D,EAAEmN,eAAe,EAAEnN,EAAEe,QAAQ6G,OAAO8D,OAAOiC,KAAK7+B,IAAK,CAACmxB,EAAEC,IAAI0D,EAAE5D,EAAEmN,eAAejN,GAAIhxB,OAAO8wB,EAAEe,QAAQ6G,OAAO8D,OAAOiC,KAAK7+B,IAAK,CAACmxB,EAAEC,IAAI0D,EAAE5D,EAAEmN,eAAejN,IAAK54B,OAAQ04B,GAAGA,GAAG,GAAGA,GAAG,IAAKr/B,MAAMC,KAAKD,MAAM,IAAIE,QAAQojC,EAAEr7B,SAASg1B,cAAc,UAAUqG,EAAE3hC,KAAK,SAAS,IAAI,IAAI29B,EAAE,EAAEA,EAAE,GAAGA,IAAI,CAAC,MAAMC,EAAEkF,QAAQpF,EAAEe,QAAQqM,SAASnoB,EAAEmgB,QAAQpF,EAAEe,QAAQsM,SAASpM,EAAEjB,EAAEe,QAAQsL,mBAAmB,GAAG6B,SAASppB,GAAGkpB,YAAYhO,EAAE,SAASkE,EAAEhD,GAAGhB,EAAEoF,eAAerF,EAAEC,EAAEsF,WAAW1gB,GAAGoc,GAAGjc,EAAEqgB,eAAerF,EAAEhb,EAAEugB,WAAWvE,EAAEnc,GAAGoc,EAAEjc,EAAEqgB,eAAerF,IAAI2D,IAAIC,EAAE/+B,SAASm7B,GAAGkE,EAAEiK,cAAcpO,EAAEiE,EAAEL,EAAE5D,EAAEe,QAAQ6G,OAAO8D,OAAOiD,MAAM1O,GAAGD,EAAEe,QAAQ6G,OAAO8D,OAAOiC,KAAK1N,GAAGiE,EAAEjE,GAAGve,EAAEujB,YAAYd,GAAGnE,EAAE4O,kBAAkB5O,EAAE4O,iBAAiB5O,EAAEmE,EAAE,CAAC,OAAOlf,EAAE+a,EAAEe,QAAQM,YAAY33B,cAAc,4CAA4Cub,EAAE4R,SAASgY,UAAUA,CAAC7O,EAAEC,EAAEC,EAAEjb,EAAEgc,IAAI,qBAAqBhB,0BAA0BD,qCAAqCA,gCAAgCE,EAAE,QAAQF,EAAEx4B,OAAO,GAAGkG,cAAcsyB,EAAE36B,MAAM,iBAAiB4f,MAAMgc,EAAE,WAAW,oBAAoB6N,UAAUA,CAAC9O,EAAEC,EAAEC,EAAEjb,EAAEgc,EAAEC,EAAE0C,IAAI,qBAAqB3D,0BAA0BD,sCAAsCA,WAAW/a,WAAWgc,YAAYC,kBAAkBhB,EAAE,QAAQF,EAAEx4B,OAAO,GAAGkG,cAAcsyB,EAAE36B,MAAM,iBAAiBu+B,oBAAoBmL,cAAcA,CAAC/O,EAAEC,EAAEC,EAAEjb,MAAK,CAAE+pB,KAAKA,IAAIlO,WAAWd,EAAE,gBAAgBE,GAAG+O,OAAOA,IAAInO,WAAWd,EAAE,kBAAkBE,KAAKjb,KAAK6b,WAAWd,EAAE,eAAe,GAAGA,EAAEe,QAAQmO,iBAAiBlP,EAAEe,QAAQoO,kBAAkBnP,EAAEe,QAAQqO,gBAAgB,IAAIpP,EAAEe,QAAQqO,kBAAkB,MAAMpP,EAAEqP,cAAcrP,EAAEqP,aAAarP,EAAEC,GAAE,GAAID,EAAEoB,WAAWpB,EAAEe,QAAQS,cAAcxB,EAAEe,QAAQM,aAAarB,EAAEsP,iBAAiBtP,EAAEsP,gBAAgBtP,EAAEC,IAAIsP,gBAAgBA,CAACvP,EAAEC,KAAK,IAAIC,EAAE,OAAO,OAAOA,EAAE,CAAC,EAAE,CAACsP,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,EAAE,CAACD,GAAG,KAAKC,GAAG,MAAM,GAAG,CAACD,GAAG,KAAKC,GAAG,MAAM,GAAG,CAACD,GAAG,KAAKC,GAAG,MAAM,GAAG,CAACD,GAAG,KAAKC,GAAG,OAAOppC,OAAO25B,UAAK,EAAOE,EAAED,KAAKsF,OAAOvF,IAAI0P,uBAAuBA,CAAC1P,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,MAAMC,EAAEA,IAAI,MAAM0C,EAAE,OAAO5D,EAAEe,QAAQqO,gBAAgB,KAAK,KAAK1tB,EAAE6tB,gBAAgBvP,EAAEe,QAAQmO,cAActL,GAAGv9B,OAAOqb,IAAIuD,GAAG5e,OAAOqb,IAAIuf,GAAGH,WAAWd,EAAE,kBAAkB4D,GAAG1D,EAAEj6B,MAAMyb,EAAEqtB,cAAc/O,EAAEkB,EAAElB,EAAEe,QAAQmO,cAAc,QAAQjP,EAAE+E,UAAU,GAAGhF,EAAE+J,OAAO4F,cAAc3P,EAAEe,QAAQqO,kBAAkBnP,EAAEsI,UAAUvI,EAAEe,QAAQqO,iBAAiBpP,EAAEqP,cAAcrP,EAAEqP,aAAarP,EAAEkB,GAAE,IAAK,OAAOjB,EAAE57B,iBAAiB,QAAQ68B,GAAG,KAAKjB,EAAE17B,oBAAoB,QAAQ28B,KAAK0O,gBAAgB5P,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM35B,OAAO25B,KAAKuF,OAAOvF,IAAI6P,oBAAoBA,CAAC7P,EAAEC,EAAEC,EAAEjb,KAAK+a,EAAE/5B,MAAMi6B,EAAED,EAAEh6B,MAAMgf,GAAG6qB,oBAAoBA,CAAC9P,EAAEC,EAAEC,KAAKD,GAAGC,IAAIY,WAAWd,EAAE,kBAAkBE,GAAGD,EAAEsI,UAAUrI,IAAI6P,cAAcA,CAAC/P,EAAEC,EAAEC,EAAEjb,EAAEgc,EAAEC,EAAE0C,KAAK,MAAMliB,EAAE,CAACstB,KAAKA,CAACttB,EAAEmiB,EAAEI,KAASjE,EAAE+K,mBAAyB,CAAE,GAAG,KAAK,IAAI/K,EAAEe,QAAQqO,gBAAgB,OAAO,MAAMtqB,EAAEze,OAAOkpC,gBAAgB1L,EAAE7D,EAAEe,QAAQqO,kBAAkB,KAAKtqB,GAAGoc,GAAGpc,GAAG8e,GAAG,OAAOiM,oBAAoB3P,EAAED,EAAED,EAAEe,QAAQmO,cAAclP,EAAEe,QAAQmO,oBAAoBlP,EAAEqP,cAAcrP,EAAEqP,aAAarP,EAAEiE,GAAE,IAAK4L,oBAAoB3P,EAAED,EAAE2P,gBAAgB/L,GAAG0L,gBAAgB1L,EAAE7D,EAAEe,QAAQqO,kBAAkB1tB,EAAE,IAAIouB,oBAAoB9P,EAAE/a,EAAE,MAAM8pB,cAAc/O,EAAEiE,EAAE2L,gBAAgB/L,GAAG5C,IAAI,GAAG,KAAK,KAAKvf,GAAGwf,GAAGxf,GAAGkiB,GAAG,OAAOiM,oBAAoB3P,EAAED,EAAED,EAAEe,QAAQmO,cAAclP,EAAEe,QAAQmO,oBAAoBlP,EAAEqP,cAAcrP,EAAEqP,aAAarP,EAAEiE,GAAE,IAAK4L,oBAAoB3P,EAAED,EAAE4D,EAAEA,GAAGkL,cAAc/O,EAAEiE,EAAEJ,EAAE5C,KAAMjB,EAAE+K,sBAAsBkE,OAAOA,CAAChqB,EAAEvD,EAAEmiB,KAAK,KAAK5e,GAAGic,GAAGjc,GAAG2e,GAAG,OAAO1D,EAAEj6B,MAAM+5B,EAAEe,QAAQoO,qBAAqBnP,EAAEqP,cAAcrP,EAAEqP,aAAarP,EAAE6D,GAAE,IAAK3D,EAAEj6B,MAAMyb,EAAEue,EAAEh6B,MAAMyb,EAAEqtB,cAAc/O,EAAE6D,EAAEniB,EAAEuf,KAAK4C,EAAE7D,IAAI,MAAMC,EAAE55B,OAAO65B,EAAEj6B,OAAOgf,EAAEib,EAAEj6B,MAAMw/B,SAAS,EAAE,KAAK/jB,EAAEuf,IAAIvf,EAAEuf,GAAGhB,EAAEhb,EAAE+a,IAAI,OAAOE,EAAE77B,iBAAiB,SAASw/B,GAAG,KAAK3D,EAAE37B,oBAAoB,SAASs/B,KAAKmM,mBAAmBA,CAAChQ,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAKhB,EAAEh6B,MAAMg7B,EAAE8N,cAAc/O,EAAEE,EAAEe,EAAEhc,IAAIgrB,kBAAkBA,CAACjQ,EAAEC,EAAEC,KAAKD,IAAIa,WAAWd,EAAE,kBAAkBE,GAAGD,EAAEsI,UAAUrI,IAAIgQ,YAAYA,CAAClQ,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,MAAMC,EAAEA,IAAI,MAAM0C,EAAEv9B,OAAO45B,EAAEh6B,OAAOyb,EAAEue,EAAEh6B,MAAMw/B,SAAS,EAAE,KAAK5B,EAAE,SAAS5C,EAAEgD,EAAE,KAAKjE,EAAE+K,kBAAkBjmB,EAAE8e,EAAE,GAAGA,EAAE,GAAGC,IAAII,GAAGgM,kBAAkBjQ,EAAE/a,EAAE,IAAI2e,GAAG9e,EAAE,KAAK,MAAMkrB,mBAAmBhQ,EAAEE,EAAEgB,EAAED,GAAG4C,GAAGI,GAAGnf,EAAEpD,EAAEkuB,gBAAgB3P,EAAEh6B,SAAS,OAAOg6B,EAAE57B,iBAAiB,QAAQ68B,GAAG,KAAKjB,EAAE17B,oBAAoB,QAAQ28B,KAAKiP,gBAAgBnQ,GAAGA,EAAEj5B,aAAa,sBAAsB,IAAIqpC,eAAepQ,GAAGA,EAAE/4B,gBAAgB,uBAAuBopC,WAAWA,CAACrQ,EAAEC,KAAK,MAAMC,EAAED,EAAEv2B,cAAc,kDAAkDub,EAAEgb,EAAEv2B,cAAc,sDAAsDu3B,EAAEhB,EAAEv2B,cAAc,kDAAkDw3B,EAAEjB,EAAEv2B,cAAc,sDAAsDk6B,EAAE3D,EAAEv2B,cAAc,4BAA4B,KAAKw2B,GAAGjb,GAAGgc,GAAGC,GAAG,OAAO,MAAMxf,EAAEse,IAAIA,EAAEp9B,SAASs9B,GAAGiQ,gBAAgBlP,GAAGjB,EAAEp9B,SAASqiB,GAAGkrB,gBAAgBjP,IAAI2C,EAAE7D,IAAIA,EAAEp9B,SAASs9B,GAAGkQ,eAAenP,GAAGjB,EAAEp9B,SAASqiB,GAAGmrB,eAAelP,IAAI,OAAOjB,EAAE57B,iBAAiB,YAAYqd,GAAGue,EAAE57B,iBAAiB,WAAWw/B,GAAGkM,cAAc/P,EAAEE,EAAEe,EAAE2C,EAAE,OAAO5D,EAAEsQ,YAAYtQ,EAAEuQ,aAAaR,cAAc/P,EAAE/a,EAAEic,EAAE0C,EAAE,SAAS5D,EAAEwQ,cAAcxQ,EAAEyQ,eAAeP,YAAYlQ,EAAEE,EAAEe,EAAE2C,EAAE,QAAQsM,YAAYlQ,EAAE/a,EAAEic,EAAE0C,EAAE,UAAUA,GAAG8L,uBAAuB1P,EAAE4D,EAAE1D,EAAEF,EAAEsQ,YAAYtQ,EAAEuQ,aAAa,KAAKtQ,EAAE17B,oBAAoB,YAAYmd,GAAGue,EAAE17B,oBAAoB,WAAWs/B,KAAK6M,WAAW1Q,IAAI,MAAMC,EAAED,EAAEe,QAAQM,YAAY33B,cAAc,oBAAoB,IAAIs2B,EAAE+K,oBAAoB9K,EAAE,OAAO,MAAMC,EAAEjb,GAAG,CAAC+a,EAAEuQ,YAAYvQ,EAAEsQ,cAAcrP,EAAEC,GAAG,CAAClB,EAAEyQ,cAAczQ,EAAEwQ,eAAe5M,EAAE5D,EAAEe,QAAQqO,gBAAgBG,gBAAgBvP,EAAEe,QAAQmO,cAAclP,EAAEe,QAAQqO,iBAAiBpP,EAAEe,QAAQmO,cAAcxtB,EAAE,UAAUse,EAAE2Q,aAAa,IAAI9M,EAAE5D,EAAE4E,UAAU7E,EAAE8E,cAAc,qBAAqB9E,EAAE0E,OAAOkM,+CAA+C/B,UAAU,OAAO7O,EAAE0E,OAAOmM,SAAS7Q,EAAE+J,OAAO/J,EAAEe,QAAQmO,cAAcxtB,aAAamtB,UAAU,SAAS7O,EAAE0E,OAAOoM,WAAW9Q,EAAE+J,OAAO/J,EAAEe,QAAQoO,gBAAgBztB,aAAa,KAAKse,EAAE+K,mBAAmBlH,EAAE7D,EAAEe,QAAQqO,gBAAgB,gCAAgCpP,EAAE0E,OAAOqM,4BAA4B/Q,EAAE+J,OAAO4F,cAAc9L,6BAA6BniB,EAAE,WAAW,MAAMmiB,cAAc,mCAAmC7D,EAAE0E,OAAOsM,6CAA6ClC,UAAU,OAAO9O,EAAE0E,OAAOuM,UAAUjR,EAAE+J,OAAO7J,EAAEjb,EAAE+a,EAAEkR,aAAatN,aAAakL,UAAU,SAAS9O,EAAE0E,OAAOuM,UAAUjR,EAAE+J,OAAO9I,EAAEC,EAAElB,EAAEmR,eAAenR,EAAEe,QAAQoO,oCAAoCkB,WAAWrQ,EAAEC,IAAImR,WAAWpR,IAAI,MAAMC,EAAED,EAAEwG,iBAAiB,IAAIxG,EAAEwG,kBAAkB,GAAGtG,EAAE,IAAIF,EAAEe,QAAQ6G,OAAOyJ,SAAS1D,MAAMtoB,OAAQ,CAAC6a,EAAEjb,EAAEgc,IAAI,IAAIf,EAAE,CAAC/3B,GAAG84B,EAAEqQ,WAAWtR,EAAEe,QAAQ6G,OAAOyJ,SAAS1C,MAAM1N,GAAGsQ,UAAUtsB,EAAEusB,UAAUvR,EAAEn7B,SAASm8B,KAAM,IAAIhc,EAAE,IAAIib,EAAE76B,MAAM26B,EAAEqH,iBAAiBnH,EAAE76B,MAAM,EAAE26B,EAAEqH,eAAerH,EAAEe,QAAQM,YAAY1+B,iBAAiB,oBAAoBouB,QAASkP,IAAI,MAAMC,EAAEF,EAAEyR,eAAe7oC,SAASg1B,cAAc,UAAUh1B,SAASg1B,cAAc,KAAKoC,EAAEyR,iBAAiBvR,EAAE59B,KAAK,UAAU2iB,EAAE8L,QAAS9L,IAAI,MAAMgc,EAAEf,EAAEiJ,WAAU,GAAIlI,EAAEsH,UAAUtjB,EAAEqsB,WAAWrQ,EAAEwD,UAAUzE,EAAE0E,OAAOgN,QAAQzQ,EAAEgH,KAAK,eAAehH,EAAE+D,UAAU/f,EAAEssB,UAAUtQ,EAAE55B,QAAQsqC,UAAUpM,OAAOtgB,EAAE9c,IAAI8c,EAAEusB,YAAYvQ,EAAE55B,QAAQuqC,aAAa,IAAI3R,EAAEgF,YAAYhE,QAAU4Q,aAAaA,CAAC7R,EAAEC,EAAEC,EAAEjb,EAAEgc,KAAK,MAAMC,EAAEjB,EAAEkJ,WAAU,GAAI,OAAOjI,EAAEuD,UAAUzE,EAAE0E,OAAOoN,UAAU5Q,EAAEqH,UAAUhD,OAAOtE,GAAGC,EAAE8D,UAAUO,OAAOtE,GAAGC,EAAE+G,KAAK,WAAW/G,EAAE75B,QAAQ0qC,YAAY,GAAG9Q,IAAIhc,IAAIic,EAAEqN,aAAa,QAAQtpB,IAAIic,EAAEiB,UAAS,GAAIjB,EAAE52B,SAAS2a,EAAE4oB,gBAAgB7N,EAAEkB,EAAE,OAAOhB,IAAIe,GAAE,GAAIC,GAAG8Q,YAAYA,CAAChS,EAAEC,KAAK,IAAIC,EAAE,MAAMjb,GAAG,MAAMgb,OAAE,EAAOA,EAAE54B,QAAQonC,QAAQpoC,OAAO45B,EAAE54B,QAAQonC,QAAQzO,EAAEe,QAAQwI,aAAazI,WAAWd,EAAE,cAAc,QAAQuM,cAAcvM,EAAEC,GAAG2N,gBAAgB5N,GAAGyN,iBAAiBzN,GAAG,MAAMiB,EAAEjB,EAAEe,QAAQM,YAAY33B,cAAc,qBAAqB,IAAIs2B,EAAEqG,qBAAqBpF,EAAE,OAAO,MAAMC,EAAE,aAAalB,EAAE19B,MAAM09B,EAAEe,QAAQwI,eAAetkB,EAAE,EAAE,EAAE2e,EAAEh7B,SAASg1B,cAAc,UAAUgG,EAAEthC,KAAK,SAAS,IAAI,IAAI29B,EAAED,EAAEe,QAAQyM,YAAY,EAAEvN,EAAED,EAAEe,QAAQyM,YAAY,EAAEvN,IAAI,CAAC,MAAMC,EAAED,EAAEmF,QAAQpF,EAAEe,QAAQqM,SAAS9H,cAAcpE,GAAGjB,EAAEmF,QAAQpF,EAAEe,QAAQsM,SAAS/H,cAAc5jB,EAAEmwB,aAAa7R,EAAE4D,EAAE3e,EAAEib,EAAED,GAAGgB,EAAEgE,YAAYvjB,GAAGse,EAAEiS,iBAAiBjS,EAAEiS,gBAAgBjS,EAAEte,EAAE,CAAC,OAAOwe,EAAEF,EAAEe,QAAQM,YAAY33B,cAAc,0CAA0Cw2B,EAAErJ,SAASqb,wBAAwBA,CAAClS,EAAEC,EAAEC,KAAK,IAAIiS,iBAAkBnS,IAAI,IAAI,IAAI/a,EAAE,EAAEA,EAAE+a,EAAEz6B,OAAO0f,IAAK,GAAG+a,EAAE/a,GAAGmtB,gBAAgBnS,EAAE,CAACC,IAAI,KAAK,IAAM9P,QAAQ4P,EAAE,CAAC74B,YAAW,KAAMkrC,aAAa,CAACpsC,OAAM,EAAGhG,IAAIA,IAAIoyC,aAAapsC,OAAM,EAAGqsC,MAAMA,IAAID,aAAapsC,OAAOssC,SAASA,CAACvS,EAAEC,IAAID,EAAE34B,QAAQmrC,QAAQvS,EAAEwS,kCAAkCA,CAACzS,EAAEC,KAAK,GAAGsS,SAASvS,EAAEe,QAAQM,YAAYpB,EAAE1wB,QAAQ,OAAO,SAAS,WAAWywB,EAAE0S,eAAeL,aAAaC,QAAQ,OAAO,MAAMpS,EAAEF,IAAI,MAAMC,EAAEr3B,SAASjG,iBAAiB,wBAAwB,MAAMs9B,GAAGA,EAAElP,QAASkP,GAAGsS,SAAStS,EAAED,EAAEzwB,QAAQ,OAAO,WAAY0wB,EAAE57B,iBAAiB47B,EAAE57B,iBAAiB,SAAS67B,GAAGD,EAAE0S,YAAYzS,GAAGmS,aAAapyC,OAAO2yC,YAAYA,CAAC5S,EAAEC,KAAK,MAAMC,EAAEF,EAAE6S,gBAAgBttC,OAAOqD,SAASc,cAAcs2B,EAAE6S,iBAAiB,KAAK5tB,EAAE+a,EAAE6S,gBAAgBzuC,QAAQ,eAAgB,CAAC47B,EAAEC,IAAIA,GAAI,IAAIC,GAAG,WAAWA,EAAEx4B,aAAaud,GAAG,YAAYwtB,kCAAkCzS,EAAEC,GAAG,MAAMgB,EAAEf,EAAEx4B,aAAaud,GAAGgc,GAAGsR,SAASvS,EAAEe,QAAQM,YAAYJ,GAAGiR,wBAAwBhS,EAAEjb,EAAG,KAAK,MAAMgb,EAAEC,EAAEx4B,aAAaud,GAAGgb,GAAGsS,SAASvS,EAAEe,QAAQM,YAAYpB,MAAOwS,kCAAkCzS,EAAEC,IAAI6S,YAAY9S,IAAI,YAAYj4B,OAAO6rB,WAAW,0BAA0Bmf,MAAM,WAAW/S,EAAE0S,cAAcE,YAAY5S,EAAEj4B,OAAO6rB,WAAW,iCAAiC2e,SAASvS,EAAEe,QAAQM,YAAYrB,EAAE0S,eAAeH,SAASvS,EAAEe,QAAQM,YAAY,UAAU2R,sBAAsBhT,GAAGA,EAAEx4B,OAAO,GAAGkG,cAAcsyB,EAAE36B,MAAM,GAAGjB,QAAQ,KAAK,IAAI6uC,iBAAiBA,CAACjT,EAAEC,EAAEC,KAAK,MAAMjb,EAAE,IAAIgV,KAAK,YAAYgG,EAAE,mBAAmBgB,EAAEhc,EAAE6hB,eAAe5G,EAAE,CAACgT,QAAQ,QAAQ7K,SAAS,QAAQnH,EAAEjc,EAAE6hB,eAAe5G,EAAE,CAACgT,QAAQ,OAAO7K,SAAS,QAAQrI,EAAEe,QAAQ6G,OAAOyJ,SAAS1C,MAAMj/B,KAAKsjC,sBAAsB/R,IAAIjB,EAAEe,QAAQ6G,OAAOyJ,SAAS1D,KAAKj+B,KAAKsjC,sBAAsB9R,KAAKiS,eAAeA,CAACnT,EAAEC,EAAEC,KAAK,MAAMjb,EAAE,IAAIgV,KAAK,QAAQsL,OAAOtF,EAAE,GAAGwF,SAAS,EAAE,yBAAyBxE,EAAEhc,EAAE6hB,eAAe5G,EAAE,CAACsL,MAAM,QAAQnD,SAAS,QAAQnH,EAAEjc,EAAE6hB,eAAe5G,EAAE,CAACsL,MAAM,OAAOnD,SAAS,QAAQrI,EAAEe,QAAQ6G,OAAO8D,OAAOiD,MAAMj/B,KAAKsjC,sBAAsB/R,IAAIjB,EAAEe,QAAQ6G,OAAO8D,OAAOiC,KAAKj+B,KAAKsjC,sBAAsB9R,KAAKkS,UAAUpT,IAAI,IAAIC,EAAEC,EAAEjb,EAAEgc,EAAEC,EAAE0C,EAAEliB,EAAEmiB,EAAE,KAAK7D,EAAEe,QAAQ6G,OAAOyJ,SAAS1C,MAAM,IAAI3O,EAAEe,QAAQ6G,OAAOyJ,SAAS1D,KAAK,IAAI3N,EAAEe,QAAQ6G,OAAO8D,OAAOiD,MAAM,KAAK3O,EAAEe,QAAQ6G,OAAO8D,OAAOiC,KAAK,KAAK,GAAG,iBAAiB3N,EAAE4H,OAAO,CAAC,GAAG,iBAAiB5H,EAAE4H,SAAS5H,EAAE4H,OAAOriC,OAAO,MAAM,IAAIoH,MAAM6zB,cAAcG,WAAWhgC,MAAMC,KAAK,CAAC2E,OAAO,GAAI,CAAC06B,EAAEC,IAAI+S,iBAAiBjT,EAAEE,EAAEF,EAAE4H,SAAUjnC,MAAMC,KAAK,CAAC2E,OAAO,IAAK,CAAC06B,EAAEC,IAAIiT,eAAenT,EAAEE,EAAEF,EAAE4H,QAAS,KAAK,CAAC,MAAM,OAAO1H,EAAE,OAAOD,EAAED,EAAE4H,aAAQ,EAAO3H,EAAEoR,eAAU,EAAOnR,EAAEyO,MAAM,MAAM,OAAO1N,EAAE,OAAOhc,EAAE+a,EAAE4H,aAAQ,EAAO3iB,EAAEosB,eAAU,EAAOpQ,EAAE0M,KAAK,MAAM,OAAO/J,EAAE,OAAO1C,EAAElB,EAAE4H,aAAQ,EAAO1G,EAAEwK,aAAQ,EAAO9H,EAAE+K,MAAM,OAAO,OAAO9K,EAAE,OAAOniB,EAAEse,EAAE4H,aAAQ,EAAOlmB,EAAEgqB,aAAQ,EAAO7H,EAAE8J,KAAK,MAAM,MAAM,IAAIhhC,MAAM6zB,cAAcG,WAAWG,WAAWd,EAAE,SAASK,eAAe,GAAGL,EAAE4H,QAAQ,GAAGyL,OAAOrT,IAAI,MAAMC,EAAE,CAACuM,QAAQA,KAAK4E,WAAWpR,GAAGsJ,YAAYtJ,IAAInD,SAASA,KAAKuU,WAAWpR,GAAGsJ,YAAYtJ,IAAIwL,MAAMA,IAAIgD,aAAaxO,GAAGkH,KAAKA,IAAI8K,YAAYhS,IAAI8S,YAAY9S,GAAGoT,UAAUpT,GAAGuM,cAAcvM,GAAG4N,gBAAgB5N,GAAGyN,iBAAiBzN,GAAG0Q,WAAW1Q,GAAGC,EAAED,EAAEe,QAAQiC,gBAAgBsQ,gBAAgBtT,IAAI,MAAMC,EAAEA,IAAI,IAAIC,EAAE,MAAMjb,EAAEgb,EAAEr9B,OAAO,IAAI,CAAC,UAAU,YAAY,YAAY,cAAckC,SAASm7B,EAAE9/B,MAAM,WAAW8kB,EAAEsuB,UAAU,OAAO,MAAMtS,EAAEtgC,MAAMC,KAAKo/B,EAAEe,QAAQM,YAAY1+B,iBAAiB,gCAAgCu+B,EAAED,EAAE70B,QAAQ6Y,GAAG,IAAG,IAAKic,EAAE,OAAO,MAAM0C,GAAGliB,EAAEuf,EAAEC,IAAI32B,aAAa,oBAAoB,EAAEmX,EAAEnX,aAAa,wBAAwB,EAAEmX,EAAEnX,aAAa,sBAAsB,EAAE,EAAE,IAAImX,EAAE,MAAMmiB,GAAE,EAAG,CAAC2P,QAAQA,IAAI/qC,KAAK4D,IAAI,EAAE60B,EAAE0C,GAAG6P,UAAUA,IAAIhrC,KAAK6D,IAAI20B,EAAE17B,OAAO,EAAE27B,EAAE0C,GAAG8P,UAAUA,IAAIjrC,KAAK4D,IAAI,EAAE60B,EAAE,GAAGyS,WAAWA,IAAIlrC,KAAK6D,IAAI20B,EAAE17B,OAAO,EAAE27B,EAAE,IAAIjB,EAAE9/B,QAAQ,OAAO+/B,EAAEe,EAAE4C,KAAK3D,EAAErJ,SAAS,OAAOmJ,EAAEe,QAAQM,YAAYh9B,iBAAiB,UAAU47B,GAAG,IAAID,EAAEe,QAAQM,YAAY98B,oBAAoB,UAAU07B,IAAI2T,YAAYA,CAAC5T,EAAEC,KAAK,MAAMC,EAAEkF,QAAQC,cAAc,IAAIpL,KAAK+F,EAAEe,QAAQwI,aAAavJ,EAAEe,QAAQyI,cAAc,MAAK,CAAE75B,KAAKA,IAAIuwB,EAAEwJ,SAASxJ,EAAEsF,WAAWxF,EAAEmN,gBAAgBr9B,KAAKA,IAAIowB,EAAEwJ,SAASxJ,EAAEsF,WAAWxF,EAAEmN,kBAAkBlN,KAAKa,WAAWd,EAAE,gBAAgBE,EAAEsF,YAAY1E,WAAWd,EAAE,eAAeE,EAAEoF,eAAesI,gBAAgB5N,GAAGyN,iBAAiBzN,GAAGsJ,YAAYtJ,IAAI6T,iBAAiBA,CAAC7T,EAAEC,KAAK,MAAMC,EAAED,EAAEr9B,OAAOoH,QAAQ,mBAAmB,GAAGk2B,EAAE,CAAC,GAAG,CAAC,UAAU,YAAYp7B,SAASk7B,EAAEe,QAAQiC,aAAa4Q,YAAY5T,EAAEE,EAAE74B,QAAQysC,cAAc,GAAG,SAAS9T,EAAEe,QAAQiC,kBAAa,IAAShD,EAAEe,QAAQyM,YAAY,CAAC,MAAMvoB,EAAE,CAACtV,MAAK,GAAIG,KAAK,IAAIowB,EAAE74B,QAAQysC,SAAShT,WAAWd,EAAE,cAAcA,EAAEe,QAAQyM,YAAYvoB,GAAG+sB,YAAYhS,EAAEC,EAAEr9B,OAAO,CAACo9B,EAAE+T,cAAc/T,EAAE+T,aAAa/T,EAAEC,EAAE,GAAG+T,cAAcA,CAAChU,EAAEC,SAAI,IAASA,IAAI,mBAAmBA,EAAEA,EAAED,GAAGC,GAAGgU,mBAAmBjU,GAAGgU,cAAchU,EAAEA,EAAEkU,kBAAkBC,iBAAiBA,CAACnU,EAAEC,EAAEC,KAAK,MAAMjb,EAAEgb,EAAE54B,QAAQygC,OAAO7G,EAAEhB,EAAEj2B,QAAQ,yCAAyCk3B,EAAE+S,mBAAmBjU,GAAG,GAAGiB,IAAIC,EAAE,OAAO,MAAM0C,EAAE3C,EAAEjB,EAAEe,QAAQ2F,cAAcp/B,OAAQ04B,GAAGA,IAAI/a,GAAIib,EAAE,IAAIF,EAAEe,QAAQ2F,cAAczhB,GAAG,CAACA,GAAG6b,WAAWd,EAAE,gBAAgB4D,IAAIwQ,uBAAuBA,CAACpU,EAAEC,EAAEC,KAAK,IAAID,EAAE,OAAO,IAAIC,EAAE,OAAOD,EAAE54B,QAAQgtC,mBAAmB,cAAcpU,EAAEvB,YAAY,IAAI,MAAMzZ,EAAE+a,EAAEe,QAAQM,YAAY3lB,wBAAwBulB,EAAEf,EAAExkB,wBAAwBukB,EAAE1kB,MAAMa,KAAK6kB,EAAE7kB,KAAK6I,EAAE7I,KAAK6kB,EAAEjiB,MAAM,EAAE,KAAKihB,EAAE1kB,MAAMgB,IAAI0kB,EAAE3kB,OAAO2I,EAAE1I,IAAI0kB,EAAEhiB,OAAO,KAAKghB,EAAE54B,QAAQgtC,mBAAmB,UAAUpU,EAAE4E,UAAU7E,EAAE8E,cAAc9E,EAAEmL,yBAAyBnL,EAAEE,EAAED,EAAEgB,EAAEhc,KAAKpF,MAAM,CAACy0B,KAAK,KAAKC,WAAW,KAAKC,YAAW,EAAGC,cAAS,EAAOC,cAAS,EAAOC,UAAU,KAAKtlB,UAAU,MAAMulB,eAAeA,CAAC5U,EAAEC,EAAEC,KAAK,IAAIjb,EAAEgc,EAAEC,EAAE,KAAK,OAAOD,EAAE,OAAOhc,EAAEpF,MAAMy0B,WAAM,EAAOrvB,EAAE8b,cAAS,EAAOE,EAAEyF,cAAc,IAAI,OAAO,MAAM9C,EAAEyB,cAAcrF,IAAI,OAAOkB,EAAErhB,MAAMy0B,KAAKvT,QAAQoF,mBAAc,EAAOjF,EAAEp8B,SAAS8+B,MAAM/jB,MAAMy0B,KAAKvT,QAAQM,YAAY1+B,iBAAiB,kBAAkBihC,OAAO7S,QAASiP,GAAGA,EAAE34B,QAAQwtC,YAAY,IAAK5U,EAAElP,QAASiP,GAAGA,EAAE34B,QAAQwtC,YAAY,SAAU3U,EAAEnP,QAASiP,IAAI,UAAUA,EAAE34B,QAAQwtC,YAAY7U,EAAE34B,QAAQwtC,YAAY,iBAAiB7U,EAAE34B,QAAQwtC,YAAY,WAAYC,kBAAkBA,KAAK,IAAI9U,EAAEC,GAAO,OAAOA,EAAE,OAAOD,EAAEngB,MAAMy0B,WAAM,EAAOtU,EAAEe,cAAS,EAAOd,EAAEoB,cAAoBxhB,MAAMy0B,KAAKvT,QAAQM,YAAY1+B,iBAAiB,wBAAwBouB,QAASiP,GAAGA,EAAE/4B,gBAAgB,wBAAyB8tC,sBAAsB/U,IAAI,IAAIC,EAAEC,EAAE,IAAIF,KAAK,OAAOE,EAAE,OAAOD,EAAEpgB,MAAMy0B,WAAM,EAAOrU,EAAEc,cAAS,EAAOb,EAAEwG,cAAc,IAAI,OAAO,IAAI1G,EAAEh2B,QAAQ,qBAAqB,OAAO6V,MAAM00B,WAAW,KAAKH,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU,WAAWG,oBAAoB,MAAM7vB,EAAE+a,EAAEh2B,QAAQ,kBAAkB,IAAIib,GAAGpF,MAAM00B,aAAatvB,EAAE,OAAOpF,MAAM00B,WAAWtvB,EAAEmvB,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU1vB,GAAG6vB,oBAAoB,MAAM7T,EAAEhc,EAAE5d,QAAQygC,OAAO5G,EAAEkE,QAAQvlB,MAAMy0B,KAAKvT,QAAQ2F,cAAc,IAAI9C,EAAEwB,QAAQnE,GAAGvf,EAAE7B,MAAMy0B,KAAKvT,QAAQM,YAAY1+B,iBAAiB,kBAAkBkd,MAAMy0B,KAAKvT,QAAQ2F,cAAc,QAAQ7C,EAAEhkB,MAAMy0B,KAAKvT,QAAQM,YAAY1+B,iBAAiB,kBAAkBs+B,QAAQgD,EAAEnf,GAAGoc,EAAE0C,EAAE,CAACliB,EAAEmiB,GAAG,CAACA,EAAEniB,IAAIwiB,EAAEC,GAAGjD,EAAE0C,EAAE,CAAC1C,EAAE0C,GAAG,CAACA,EAAE1C,GAAG,IAAI,IAAIlB,EAAE,IAAI/F,KAAKiK,GAAGlE,GAAGmE,EAAEnE,EAAE8F,QAAQ9F,EAAEoF,UAAU,GAAGwP,eAAe5U,EAAEiE,EAAEnf,IAAIkwB,mCAAmChV,IAAI,MAAMC,EAAE,MAAMD,OAAE,EAAOA,EAAEh2B,QAAQ,2BAA2B,IAAIi2B,GAAGpgB,MAAM00B,WAAW,OAAO10B,MAAM00B,WAAW,UAAUH,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU,MAAM1U,GAAGpgB,MAAM00B,aAAatU,IAAIpgB,MAAM00B,WAAWtU,EAAEmU,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU1U,KAAKgV,sBAAsBjV,GAAGC,IAAI,MAAMC,EAAED,EAAEr9B,OAAOid,MAAM20B,aAAa30B,MAAM20B,YAAW,EAAGhjB,sBAAuB,KAAKwO,EAAEE,GAAGrgB,MAAM20B,YAAW,MAAQU,+BAA+BD,sBAAsBF,uBAAuBI,4CAA4CF,sBAAsBD,oCAAoCI,2BAA2BpV,IAAIngB,MAAMy0B,MAAM,WAAWtU,EAAE7/B,MAAM0f,MAAM00B,WAAW,KAAKzT,WAAWjhB,MAAMy0B,KAAK,gBAAgB,IAAIz0B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,YAAY2wC,gCAAgCr1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,UAAU6wC,4BAA4BhB,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU,MAAMG,sBAAsBO,iBAAiBA,KAAK,OAAOx1B,MAAMwP,WAAWhX,aAAawH,MAAMwP,WAAWxP,MAAMwP,UAAUzjB,WAAY,KAAKiU,MAAM00B,WAAW,KAAKH,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU,MAAMG,qBAAsB,KAAKQ,oBAAoBA,KAAK,IAAItV,EAAEC,EAAEC,EAAEjb,EAAE,KAAK,OAAOib,EAAE,OAAOD,EAAE,OAAOD,EAAEngB,MAAMy0B,WAAM,EAAOtU,EAAEe,cAAS,EAAOd,EAAEyG,oBAAe,EAAOxG,EAAE,OAAO,OAAOjb,EAAEpF,MAAMy0B,KAAKvT,QAAQoF,mBAAc,EAAOlhB,EAAE,IAAI,OAAO,MAAMgc,EAAEmE,QAAQvlB,MAAMy0B,KAAKvT,QAAQ2F,cAAc,KAAKxF,EAAE0C,GAAG/jB,MAAMy0B,KAAKvT,QAAQoF,aAAar3B,IAAKkxB,GAAGoF,QAAQpF,IAAK3a,OAAQ,EAAE2a,EAAEC,GAAGC,IAAI,CAACe,GAAGf,EAAEA,EAAEF,EAAEiB,EAAEf,GAAG,OAAOD,EAAEC,EAAED,GAAI,CAAC,KAAK,OAAOiB,GAAGJ,WAAWjhB,MAAMy0B,KAAK,iBAAiBjP,cAAc,IAAIpL,KAAKiH,EAAE4E,QAAQ5E,EAAEkE,UAAU,MAAMxB,GAAG9C,WAAWjhB,MAAMy0B,KAAK,iBAAiBjP,cAAc,IAAIpL,KAAK2J,EAAEkC,QAAQlC,EAAEwB,UAAU,MAAMvlB,MAAMy0B,KAAKiB,mBAAmB11B,MAAMy0B,KAAK7M,iBAAiBrC,QAAQvlB,MAAMy0B,KAAKvT,QAAQkF,gBAAgBb,QAAQvlB,MAAMy0B,KAAKvT,QAAQwF,YAAYzF,WAAWjhB,MAAMy0B,KAAK,iBAAiBz0B,MAAMy0B,KAAKvT,QAAQwF,YAAYiP,sBAAsBA,CAACxV,EAAEC,KAAKpgB,MAAMy0B,KAAKtU,EAAEngB,MAAM00B,WAAWtU,EAAE6U,oBAAoB9U,EAAEyV,mBAAmB51B,MAAM40B,SAAS50B,MAAM40B,SAAS50B,MAAM40B,SAASzU,EAAEe,QAAQkF,eAAepmB,MAAM60B,SAAS70B,MAAM60B,SAAS70B,MAAM60B,SAAS1U,EAAEe,QAAQmF,gBAAgBlG,EAAEmL,2BAA2BtrB,MAAM80B,UAAU3U,EAAEe,QAAQM,YAAY33B,cAAc,iCAAiC,MAAMw2B,EAAE,MAAMD,OAAE,EAAOA,EAAE54B,QAAQygC,OAAO,GAAG5H,EAAE,CAAC,MAAMD,EAAE,IAAID,EAAEe,QAAQ2F,cAAcnhC,QAAQy6B,EAAEe,QAAQ2F,cAAc,GAAG5hC,SAASo7B,GAAGjb,EAAEgb,IAAIgU,mBAAmBjU,GAAG,CAACE,EAAEA,GAAGD,GAAGgU,mBAAmBjU,GAAG,GAAGA,EAAEe,QAAQ2F,cAAcnhC,OAAO,EAAE,CAAC26B,GAAG,IAAIF,EAAEe,QAAQ2F,cAAcxG,GAAGY,WAAWd,EAAE,gBAAgB/a,GAAG+a,EAAEe,QAAQ2F,cAAcnhC,OAAO,GAAGy6B,EAAEe,QAAQ2F,cAAc1hB,KAAM,CAACgb,EAAEC,KAAK,IAAIhG,KAAK+F,IAAI,IAAI/F,KAAKgG,GAAI,EAAC,CAAEhgC,IAAIA,KAAK+/B,EAAEyV,kBAAkBH,sBAAsBlB,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU1U,GAAGpgB,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,YAAY4wC,6CAA6Ct1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,aAAa8wC,kBAAkBx1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,UAAU6wC,4BAA4Bv1B,MAAMy0B,KAAKvT,QAAQM,YAAYh9B,iBAAiB,YAAY6wC,gCAAgCr1B,MAAMy0B,KAAKvT,QAAQM,YAAYh9B,iBAAiB,aAAagxC,kBAAkBx1B,MAAMy0B,KAAKvT,QAAQM,YAAYh9B,iBAAiB,UAAU+wC,4BAA4B,KAAKv1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,YAAY2wC,gCAAgCr1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,aAAa8wC,kBAAkBx1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,UAAU6wC,8BAA8BtzB,MAAMA,KAAK,MAAMoe,EAAEjb,GAAG,CAAC+a,EAAEe,QAAQ2F,cAAc,GAAG1G,EAAEe,QAAQ2F,cAAc1G,EAAEe,QAAQ2F,cAAcnhC,OAAO,IAAI07B,EAAEjB,EAAEe,QAAQ2F,cAAc,KAAK1G,EAAEe,QAAQ2F,cAAc1G,EAAEe,QAAQ2F,cAAcnhC,OAAO,GAAG27B,EAAEwE,WAAW,CAAC,GAAGxF,KAAKjb,MAAM3d,OAAQ24B,IAAID,EAAEe,QAAQoF,aAAarhC,SAASm7B,IAAK2D,EAAE3C,EAAEjB,EAAE4G,oBAAoB,CAAC1G,EAAEjb,GAAGic,EAAE,CAAClB,EAAEe,QAAQ2F,cAAc,GAAG1G,EAAEe,QAAQ2F,cAAc,IAAI,GAAG5F,WAAWd,EAAE,gBAAgB4D,GAAG5D,EAAEyV,mBAAmB3U,WAAWd,EAAE,iBAAiBngB,MAAM40B,UAAU3T,WAAWd,EAAE,iBAAiBngB,MAAM60B,WAAW70B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,YAAY2wC,gCAAgCr1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,aAAa8wC,kBAAkBx1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,UAAU6wC,4BAA4BpV,EAAEmL,yBAAyB,OAAOnL,EAAEe,QAAQ2F,cAAc,KAAK7mB,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,YAAY4wC,6CAA6Ct1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,aAAa8wC,kBAAkBjB,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU,OAAO3U,EAAEe,QAAQ2F,cAAc,KAAK7mB,MAAMy0B,KAAKvT,QAAQM,YAAYh9B,iBAAiB,YAAY8wC,6CAA6Ct1B,MAAMy0B,KAAKvT,QAAQM,YAAYh9B,iBAAiB,aAAagxC,kBAAkBjB,uBAAuBv0B,MAAMy0B,KAAKz0B,MAAM80B,UAAU1U,IAAI,KAAKpgB,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,YAAY4wC,6CAA6Ct1B,MAAMy0B,KAAKvT,QAAQM,YAAY98B,oBAAoB,aAAa8wC,sBAAsB,IAAIrV,EAAEe,QAAQ2F,cAAcnhC,OAAO,MAAM,YAAYmwC,mBAAmB1V,IAAIA,EAAEe,QAAQM,YAAY1+B,iBAAiB,kBAAkBouB,QAASkP,IAAI,MAAMC,EAAED,EAAEv2B,cAAc,sBAAsBub,EAAEgb,EAAE54B,QAAQygC,OAAO7G,EAAEmE,QAAQngB,GAAG+hB,SAAShB,gBAAgBhG,EAAEA,EAAEe,QAAQwI,aAAatJ,EAAEC,EAAEe,EAAEhc,EAAE,cAAe0wB,gBAAgBA,CAAC3V,EAAEC,KAAK,IAAIC,EAAE,MAAMjb,EAAEgb,EAAEr9B,OAAOq+B,EAAEhc,EAAEjb,QAAQ,sBAAsB,IAAIg2B,EAAE2G,qBAAqB,CAAC,SAAS,WAAW,mBAAmB7hC,SAASk7B,EAAE2G,sBAAsB1F,EAAE,OAAO,MAAMC,EAAED,EAAEj3B,QAAQ,mBAAkB,CAAE4rC,OAAOA,IAAIzB,iBAAiBnU,EAAEkB,GAAE,GAAIrE,SAASA,IAAIsX,iBAAiBnU,EAAEkB,GAAE,GAAI,kBAAkB2U,IAAIL,sBAAsBxV,EAAEkB,KAAKlB,EAAE2G,sBAAsB,OAAOzG,EAAEF,EAAEe,QAAQ2F,gBAAgBxG,EAAElb,KAAM,CAACgb,EAAEC,KAAK,IAAIhG,KAAK+F,IAAI,IAAI/F,KAAKgG,IAAKD,EAAE8V,aAAa9V,EAAE8V,YAAY9V,EAAEC,GAAGD,EAAEoB,WAAWpB,EAAEe,QAAQS,cAAcxB,EAAEe,QAAQM,aAAarB,EAAEsP,iBAAiBtP,EAAEsP,gBAAgBtP,EAAEC,GAAG,MAAM2D,EAAE3e,EAAEjb,QAAQ,+BAA+B0X,EAAEuD,EAAEjb,QAAQ,gCAA+B,CAAE2F,KAAKA,IAAIqwB,EAAE+V,4BAA4BnC,YAAY5T,EAAE,QAAQ0V,mBAAmB1V,GAAGlwB,KAAKA,IAAIkwB,EAAE+V,4BAA4BnC,YAAY5T,EAAE,QAAQ0V,mBAAmB1V,GAAGgW,QAAQA,IAAIN,mBAAmB1V,KAAK4D,EAAE,OAAOliB,EAAE,OAAO,cAAcu0B,UAAU,CAAC,QAAQ,QAAQC,SAASA,CAAClW,EAAEC,EAAEC,KAAK,MAAM+N,aAAahpB,EAAEipB,SAASjN,GAAG+M,YAAYhO,EAAEC,GAAG,MAAM,UAAUD,EAAEe,QAAQiC,aAAa/B,GAAG,EAAEf,EAAEe,EAAE,SAASjB,EAAEe,QAAQiC,aAAahD,EAAEe,QAAQwI,eAAetkB,EAAEib,EAAE,EAAEA,GAAGiW,4BAA4BA,CAACnW,EAAEC,KAAK,MAAMC,EAAEgW,SAASlW,EAAE,OAAO35B,OAAO45B,EAAE54B,QAAQ0qC,cAAc9sB,EAAEmgB,QAAQpF,EAAEe,QAAQqM,SAASnM,EAAEmE,QAAQpF,EAAEe,QAAQsM,SAASnM,EAAElB,EAAEe,QAAQsL,mBAAmB,GAAG6B,SAAStK,GAAGoK,YAAYhO,EAAE,QAAQte,EAAEse,EAAEe,QAAQyI,cAAcvkB,EAAEugB,YAAYtF,GAAGjb,EAAEqgB,cAAczB,EAAE7D,EAAEe,QAAQyI,cAAcvI,EAAEuE,WAAWtE,EAAE0C,GAAG1D,GAAGe,EAAEqE,cAAcrB,EAAE/D,EAAEjb,EAAEqgB,cAAcxgB,EAAEob,EAAEe,EAAEqE,cAAcpB,EAAExiB,GAAGuiB,EAAEhf,EAAEqgB,cAAczB,GAAG/e,EAAEmc,EAAEqE,cAAcpF,EAAEiE,EAAEziB,GAAGuiB,EAAEhf,EAAEugB,WAAW3B,GAAG/e,EAAEmc,EAAEuE,WAAWtE,EAAE0C,EAAE5D,EAAEe,QAAQyI,cAAc1I,WAAWd,EAAE,eAAekE,GAAGpD,WAAWd,EAAE,gBAAgBmE,IAAIiS,6BAA6BA,CAACpW,EAAEC,KAAK,MAAMC,EAAED,EAAEj2B,QAAQ,4BAA4BN,cAAc,oBAAoBub,EAAEixB,SAASlW,EAAE,QAAQ35B,OAAO45B,EAAE54B,QAAQinC,gBAAgBrN,EAAE56B,OAAO65B,EAAE74B,QAAQonC,QAAQvN,EAAEkE,QAAQpF,EAAEe,QAAQqM,SAASxJ,EAAEwB,QAAQpF,EAAEe,QAAQsM,SAAS3rB,EAAEuD,EAAEic,EAAEsE,YAAYvE,GAAGC,EAAEoE,cAAczB,EAAE5e,EAAE2e,EAAE4B,YAAYvE,GAAG2C,EAAE0B,cAAcxE,WAAWd,EAAE,eAAeiB,GAAGH,WAAWd,EAAE,gBAAgBte,EAAEwf,EAAEsE,WAAW3B,EAAED,EAAE4B,WAAWvgB,IAAIoxB,gBAAgBA,CAACrW,EAAEC,EAAEC,EAAEjb,KAAK,IAAIgc,GAAE,CAAEiG,KAAKA,KAAK,GAAG,aAAalH,EAAE19B,KAAK,OAAO6zC,4BAA4BnW,EAAE/a,GAAG6b,WAAWd,EAAE,eAAe35B,OAAO4e,EAAE5d,QAAQ0qC,eAAevG,MAAMA,KAAK,GAAG,aAAaxL,EAAE19B,KAAK,OAAO8zC,6BAA6BpW,EAAE/a,GAAG6b,WAAWd,EAAE,gBAAgB35B,OAAO4e,EAAE5d,QAAQinC,mBAAmBpO,KAAK,CAAEgH,KAAKA,KAAK,IAAIhH,EAAE,OAAO,OAAOA,EAAEF,EAAEsW,kBAAa,EAAOpW,EAAEj8B,KAAK+7B,EAAEA,EAAEC,IAAIuL,MAAMA,KAAK,IAAItL,EAAE,OAAO,OAAOA,EAAEF,EAAEuW,mBAAc,EAAOrW,EAAEj8B,KAAK+7B,EAAEA,EAAEC,KAAMC,KAAKF,EAAEe,QAAQiC,cAAchD,EAAE19B,MAAMw+B,WAAWd,EAAE,cAAcA,EAAE19B,MAAM+wC,OAAOrT,GAAG,OAAOiB,EAAEjB,EAAEe,QAAQM,YAAY33B,cAAc,aAAaw2B,SAASe,EAAEpK,SAASgX,gBAAgB7N,EAAE/a,EAAEib,GAAE,GAAG,IAAKsW,gBAAgBA,CAACxW,EAAEC,EAAEC,KAAK,IAAIjb,EAAE,MAAMgc,EAAEhB,EAAEr9B,OAAOs+B,EAAED,EAAEj3B,QAAQ,aAAak2B,OAAO0D,EAAE,CAACsD,KAAKA,IAAI8K,YAAYhS,EAAEiB,GAAGuK,MAAMA,IAAIgD,aAAaxO,EAAEiB,IAAI,GAAGC,GAAGlB,EAAEyW,cAAczW,EAAEyW,aAAazW,EAAEC,GAAGiB,GAAGlB,EAAEe,QAAQiC,cAAc9C,EAAE,OAAO0D,EAAE1D,KAAK,MAAMxe,EAAEuf,EAAEj3B,QAAQ,YAAYk2B,MAAMA,MAAM,GAAGxe,EAAE,OAAO20B,gBAAgBrW,EAAEC,EAAEC,EAAExe,GAAG,MAAMmiB,EAAE5C,EAAEj3B,QAAQ,oBAAoBi6B,EAAEhD,EAAEj3B,QAAQ,uBAAuBg2B,EAAEe,QAAQiC,cAAc9C,GAAGgB,GAAG,aAAalB,EAAE19B,MAAM09B,EAAEe,QAAQiC,cAAc9C,GAAG2D,IAAII,KAAKnD,WAAWd,EAAE,cAAcA,EAAE19B,MAAM+wC,OAAOrT,GAAG,OAAO/a,EAAE+a,EAAEe,QAAQM,YAAY33B,cAAc,aAAaw2B,SAASjb,EAAE4R,UAAU6f,uBAAuBA,CAAC1W,EAAEC,KAAK,MAAMC,EAAE,CAACsL,MAAMxL,EAAEoG,oBAAoBc,KAAKlH,EAAEqG,oBAAoB4P,UAAUllB,QAAS9L,IAAIib,EAAEjb,IAAIgb,EAAEr9B,QAAQ4zC,gBAAgBxW,EAAEC,EAAEhb,MAAO0xB,sBAAsBA,CAAC3W,EAAEC,KAAK,IAAID,EAAEwI,oBAAoBxI,EAAE4W,kBAAkB,OAAO,MAAM1W,EAAED,EAAEr9B,OAAOoH,QAAQ,yBAAyBib,EAAE+a,EAAEe,QAAQM,YAAY1+B,iBAAiB,8BAA8B,IAAIu9B,IAAIjb,EAAE,GAAG,OAAO,MAAMgc,EAAE56B,OAAO65B,EAAEqI,WAAWrH,EAAE76B,OAAO65B,EAAE74B,QAAQgiC,YAAYzF,EAAEjjC,MAAMC,KAAKqkB,GAAG3d,OAAQ04B,GAAG35B,OAAO25B,EAAE34B,QAAQigC,oBAAoBrG,GAAIjB,EAAE4W,kBAAkB5W,EAAEiB,EAAEC,EAAE0C,EAAE3D,IAAI4W,mBAAmBA,CAAC7W,EAAEC,KAAK,IAAID,EAAEyR,eAAe,OAAO,MAAMvR,EAAED,EAAEr9B,OAAOoH,QAAQ,sBAAsBib,EAAEgb,EAAEr9B,OAAOoH,QAAQ,sBAAsBi3B,EAAEhc,EAAEA,EAAEtiB,iBAAiB,2BAA2Bq9B,EAAEe,QAAQM,YAAY1+B,iBAAiB,2BAA2B,IAAIu9B,IAAIe,EAAE,GAAG,OAAO,MAAMC,EAAE76B,OAAO65B,EAAE74B,QAAQsqC,WAAW/N,EAAEjjC,MAAMC,KAAKqgC,GAAG35B,OAAQ04B,GAAG35B,OAAO25B,EAAE34B,QAAQ2gC,iBAAiB9G,GAAIlB,EAAEyR,eAAezR,EAAEkB,EAAE0C,EAAE3D,IAAI6W,YAAY9W,IAAI,MAAMC,EAAEA,IAAI4T,iBAAiB7T,EAAEC,GAAG4W,mBAAmB7W,EAAEC,GAAG0W,sBAAsB3W,EAAEC,GAAG0V,gBAAgB3V,EAAEC,GAAGyW,uBAAuB1W,EAAEC,IAAI,OAAOD,EAAEe,QAAQM,YAAYh9B,iBAAiB,QAAQ47B,GAAG,IAAID,EAAEe,QAAQM,YAAY98B,oBAAoB,QAAQ07B,IAAI8W,gBAAgB/W,IAAI,GAAG,aAAaA,EAAE19B,OAAO09B,EAAEqM,oBAAoB,GAAGrM,EAAEqM,mBAAmB,IAAI,MAAM,IAAI1/B,MAAM6zB,cAAcK,sBAAsB,GAAG,aAAab,EAAE19B,MAAM09B,EAAEqM,mBAAmB,EAAE,MAAM,IAAI1/B,MAAM6zB,cAAcK,sBAAsBC,WAAWd,EAAE,qBAAqBA,EAAEqM,mBAAmBrM,EAAEqM,mBAAmB,aAAarM,EAAE19B,KAAK,EAAE,IAAI00C,aAAaA,KAAK,MAAMhX,EAAE,IAAI/F,KAAK,OAAO,IAAIA,KAAK+F,EAAE6F,UAAU,IAAI7F,EAAEiX,qBAAqBtR,cAAcC,UAAU,EAAE,KAAKsR,YAAYA,CAAClX,EAAEC,IAAI,UAAUD,EAAEgX,eAAehX,aAAa/F,MAAM,iBAAiB+F,GAAG,iBAAiBA,EAAE0F,WAAW,CAAC1F,IAAI,GAAGC,EAAEkX,UAAUnX,IAAI,IAAIC,EAAEC,EAAEjb,EAAE,MAAMgc,EAAEiW,YAAYlX,EAAEoN,QAAQpN,EAAEoN,SAASlM,EAAEgW,YAAYlX,EAAEqN,QAAQrN,EAAEqN,SAASzJ,EAAEsT,YAAYlX,EAAEiG,eAAehF,GAAGvf,EAAEw1B,YAAYlX,EAAEkG,eAAehF,GAAGJ,WAAWd,EAAE,YAAYkX,YAAYlX,EAAEuG,UAAUvG,EAAEuG,YAAYzF,WAAWd,EAAE,iBAAiB4D,EAAEwB,QAAQnE,IAAImE,QAAQxB,GAAG3C,EAAE2C,EAAE3C,GAAGH,WAAWd,EAAE,iBAAiBte,EAAE0jB,QAAQlE,IAAIkE,QAAQ1jB,GAAGwf,EAAExf,EAAEwf,GAAG,MAAM2C,EAAE7D,EAAEuV,mBAAmBvV,EAAEyH,iBAAiBrC,QAAQxB,GAAGwB,QAAQpF,EAAEe,QAAQwF,WAAWzF,WAAWd,EAAE,iBAAiB6D,GAAG7D,EAAEyH,gBAAgBzH,EAAEe,QAAQwF,UAAU3C,GAAG9C,WAAWd,EAAE,iBAAiBA,EAAEyH,gBAAgBzH,EAAEe,QAAQwF,UAAU7kB,GAAGof,WAAWd,EAAE,eAAeA,EAAEmG,aAAa,KAAKnG,EAAEyH,gBAAgB/B,WAAW1F,EAAEmG,cAAcnG,EAAEyH,gBAAgB,CAACzH,EAAEe,QAAQkF,gBAAgB,IAAIjG,EAAEe,QAAQoF,aAAa5gC,OAAO,GAAGy6B,EAAEe,QAAQoF,aAAanhB,KAAM,CAACgb,EAAEC,KAAK,IAAIhG,KAAK+F,IAAI,IAAI/F,KAAKgG,IAAKa,WAAWd,EAAE,cAAcA,EAAE0H,YAAY,GAAGhC,WAAW1F,EAAE0H,aAAa,KAAK,OAAOzH,EAAED,EAAEe,QAAQ2G,kBAAa,EAAOzH,EAAE,MAAM,OAAOC,EAAEF,EAAEe,QAAQoF,mBAAc,EAAOjG,EAAE,KAAKY,WAAWd,EAAE,eAAeA,EAAEe,QAAQoF,aAAa7+B,OAAQ24B,IAAID,EAAEe,QAAQ2G,YAAY5iC,SAASm7B,KAAMD,EAAEe,QAAQ2G,YAAYniC,OAAO,GAAGy6B,EAAEe,QAAQ2G,YAAY1iB,KAAM,CAACgb,EAAEC,KAAK,IAAIhG,KAAK+F,IAAI,IAAI/F,KAAKgG,KAAM,OAAOhb,EAAE+a,EAAEe,QAAQ2G,kBAAa,EAAOziB,EAAE,KAAK+a,EAAEyH,kBAAkB3G,WAAWd,EAAE,iBAAiBA,EAAEe,QAAQ2G,YAAY,IAAI5G,WAAWd,EAAE,iBAAiBA,EAAEe,QAAQ2G,YAAY1H,EAAEe,QAAQ2G,YAAYniC,OAAO,KAAKu7B,WAAWd,EAAE,UAAUA,EAAEoX,qBAAqBnW,EAAEjB,EAAEe,QAAQkF,gBAAgBnF,WAAWd,EAAE,UAAUA,EAAEoX,qBAAqBlW,EAAElB,EAAEe,QAAQmF,iBAAiBmR,kBAAkBrX,IAAI,IAAIC,EAAEa,WAAWd,EAAE,iBAAiB,OAAOC,EAAED,EAAE0G,oBAAe,EAAOzG,EAAE,IAAIyF,WAAW1F,EAAE0G,eAAe,KAAK4Q,wBAAwBtX,IAAI,MAAMC,EAAEA,IAAI,MAAMC,EAAE,IAAIjG,KAAKgG,GAAGsX,kBAAkBvX,EAAEE,EAAEsF,WAAWtF,EAAEoF,gBAAgB,GAAGtF,EAAEiG,gBAAgB,UAAUjG,EAAEiG,iBAAiB/F,EAAEF,EAAEiG,eAAehhB,EAAE,IAAIgV,KAAK,IAAIA,KAAKiG,GAAG2F,UAAU5gB,EAAE4gB,WAAW,CAAC,MAAM3F,EAAEF,EAAE0G,cAAcnhC,QAAQy6B,EAAE0G,cAAc,GAAGhB,WAAW1F,EAAE0G,eAAe,GAAG1G,EAAEiG,eAAe,OAAOhG,EAAEmF,QAAQ8R,YAAYhX,EAAEF,EAAEiG,mBAAkB,CAAE,CAAC,IAAI/F,EAAEjb,EAAE,GAAG+a,EAAEkG,gBAAgB,UAAUlG,EAAEkG,gBAAgB,EAAElG,EAAEC,IAAI,IAAIhG,KAAK+F,GAAG6F,UAAU5F,EAAE4F,UAAhC,CAA2C7F,EAAEkG,eAAe,IAAIjM,MAAM,CAAC,MAAMiG,EAAEF,EAAE0G,cAAcnhC,QAAQy6B,EAAE0G,cAAc,GAAGhB,WAAW1F,EAAE0G,eAAe,GAAG1G,EAAEkG,eAAe,OAAOjG,EAAEmF,QAAQ8R,YAAYhX,EAAEF,EAAEkG,mBAAkB,CAAE,CAAC,OAAM,GAAIqR,kBAAkBA,CAACvX,EAAEC,EAAEC,KAAKY,WAAWd,EAAE,gBAAgBC,GAAGa,WAAWd,EAAE,eAAeE,GAAGY,WAAWd,EAAE,cAAcE,IAAIsX,sBAAsBxX,IAAI,IAAIC,EAAE,GAAGD,EAAEyX,2BAA2B,OAAOxX,EAAED,EAAE0G,oBAAe,EAAOzG,EAAE,UAAK,IAASD,EAAEwJ,oBAAe,IAASxJ,EAAEuJ,aAAa,CAAC,MAAMtJ,EAAEmF,QAAQM,WAAW1F,EAAE0G,eAAe,IAAI,YAAY6Q,kBAAkBvX,EAAEC,EAAEuF,WAAWvF,EAAEqF,cAAc,CAAC,GAAGgS,wBAAwBtX,GAAG,OAAO,MAAME,OAAE,IAASF,EAAEwJ,eAAenjC,OAAO25B,EAAEwJ,gBAAgB,GAAGnjC,OAAO25B,EAAEwJ,eAAe,GAAGvkB,OAAE,IAAS+a,EAAEuJ,cAAcljC,OAAO25B,EAAEuJ,eAAe,GAAGljC,OAAO25B,EAAEuJ,eAAe,KAAKgO,kBAAkBvX,EAAEE,EAAE75B,OAAO25B,EAAEwJ,eAAepE,QAAQpF,EAAEe,QAAQwF,WAAWf,WAAWvgB,EAAE5e,OAAO25B,EAAEuJ,cAAcnE,QAAQpF,EAAEe,QAAQwF,WAAWjB,gBAAgBoS,SAAS1X,IAAI,IAAIC,EAAEC,EAAEjb,EAAE,IAAI+a,EAAE+K,kBAAkB,OAAO,IAAI,CAAC,GAAG,IAAIjmC,SAASk7B,EAAE+K,mBAAmB,MAAM,IAAIp+B,MAAM6zB,cAAcI,eAAe,MAAMK,EAAE,KAAKjB,EAAE+K,kBAAkB7J,EAAED,EAAE,4CAA4C,sCAAsC,IAAI2C,EAAEliB,EAAEmiB,GAAG,OAAO5e,EAAE,OAAOib,EAAE,OAAOD,EAAED,EAAE2X,mBAAc,EAAO1X,EAAE/3B,MAAMg5B,SAAI,EAAOhB,EAAE76B,MAAM,IAAI4f,EAAE,GAAG2e,EAAE3C,IAAI4C,IAAIA,EAAE,OAAOD,EAAE3C,EAAE2O,gBAAgBrK,OAAOvF,EAAEuQ,cAAchL,OAAOvF,EAAEuQ,aAAa7uB,EAAE6jB,OAAOvF,EAAEyQ,eAAe5M,EAAE5C,EAAE56B,OAAOupC,gBAAgBrK,OAAOvF,EAAEuQ,gBAAgB,GAAG,KAAK,KAAK,MAAMzP,WAAWd,EAAE,gBAAgB4D,EAAE6B,SAAS,EAAE,MAAM3E,WAAWd,EAAE,kBAAkBte,EAAE+jB,SAAS,EAAE,MAAM3E,WAAWd,EAAE,kBAAkB6D,GAAG/C,WAAWd,EAAE,eAAe,GAAGA,EAAEe,QAAQmO,iBAAiBlP,EAAEe,QAAQoO,kBAAkBtL,EAAE,IAAIA,IAAI,OAAO+T,iBAAiB5X,IAAIc,WAAWd,EAAE,cAAcA,EAAE19B,MAAMy0C,gBAAgB/W,GAAGmX,UAAUnX,GAAGwX,sBAAsBxX,GAAGqX,kBAAkBrX,GAAG0X,SAAS1X,IAAIle,MAAMA,CAACke,GAAGkH,KAAKjH,EAAEuL,MAAMtL,EAAEoL,MAAMrmB,EAAE+lB,KAAK/J,EAAE2G,OAAO1G,GAAG0C,GAAE,KAAM,IAAIliB,EAAE,MAAMmiB,EAAE,CAACqD,KAAKlH,EAAEuJ,aAAaiC,MAAMxL,EAAEwJ,cAAc8B,MAAMtL,EAAE0G,cAAcsE,KAAKhL,EAAE2X,cAAiB3X,EAAEuJ,aAAatJ,EAAE4D,EAAEqD,KAAKlH,EAAEe,QAAQwI,aAAavJ,EAAEwJ,cAActJ,EAAE2D,EAAE2H,MAAMxL,EAAEe,QAAQyI,cAAcxJ,EAAE2X,aAAa1W,EAAE4C,EAAEmH,KAAKhL,EAAEe,QAAQ4W,aAAa3X,EAAE0G,cAAc,eAAezhB,IAAI,OAAOvD,EAAEse,EAAEe,QAAQ2F,oBAAe,EAAOhlB,EAAE,IAAI,CAACse,EAAEe,QAAQ2F,cAAc,KAAI,IAAKzhB,EAAE4e,EAAEyH,MAAMtL,EAAEe,QAAQ2F,cAAcxF,GAAGJ,WAAWd,EAAE,SAAS,CAAC0L,OAAO,CAACiD,MAAM,GAAGhB,KAAK,IAAI0D,SAAS,CAAC1C,MAAM,GAAGhB,KAAK,MAAMiK,iBAAiB5X,GAAG4D,GAAGyP,OAAOrT,GAAGA,EAAEuJ,aAAa1F,EAAEqD,KAAKlH,EAAEwJ,cAAc3F,EAAE2H,MAAMxL,EAAE0G,cAAc7C,EAAEyH,MAAMtL,EAAE2X,aAAa9T,EAAEmH,KAAK,oBAAoBhL,EAAE2G,oBAAoB1hB,GAAGuwB,sBAAsBxV,EAAE,OAAO6X,cAAc7X,IAAI,MAAMC,EAAEr3B,SAASg1B,cAAc,OAAO,OAAOqC,EAAEwE,UAAUzE,EAAE0E,OAAOgI,SAASzM,EAAE54B,QAAQslC,GAAG,WAAW1M,EAAE54B,QAAQywC,QAAQ,GAAG7X,EAAE54B,QAAQ47B,iBAAiB,GAAGnC,WAAWd,EAAE,iBAAgB,GAAIc,WAAWd,EAAE,qBAAoB,GAAIc,WAAWd,EAAE,cAAcC,GAAGr3B,SAAS0gB,KAAK2b,YAAYjF,EAAEe,QAAQM,aAAavf,MAAMke,EAAE,CAACkH,MAAK,EAAGsE,OAAM,EAAGF,OAAM,EAAGN,MAAK,EAAGpD,QAAO,IAAKh8B,WAAY,IAAIqP,KAAK+kB,IAAKA,EAAE+X,QAAQ/X,EAAE+X,OAAO/X,GAAGsT,gBAAgBtT,GAAG8W,YAAY9W,IAAIgY,eAAehY,GAAGgU,cAAchU,EAAEA,EAAEmD,aAAa8U,YAAYjY,IAAIc,WAAWd,EAAE,eAAeA,EAAEe,QAAQM,aAAa,MAAMpB,EAAEA,KAAKD,EAAEe,QAAQmX,cAActsC,WAAY,IAAIqP,KAAK+kB,IAAK6X,cAAc7X,IAAIA,EAAEe,QAAQS,aAAan9B,iBAAiB,QAAQ47B,GAAG,MAAMC,EAAE,mBAAmBF,EAAEmD,cAAa,IAAKnD,EAAEmD,YAAYle,EAAEA,KAAK6c,sBAAsB9B,GAAGgC,qBAAqBhC,GAAGgY,eAAehY,IAAIC,KAAKC,GAAGF,EAAEe,QAAQS,aAAan9B,iBAAiB,QAAQ4gB,GAAG,MAAMgc,EAAEhB,IAAI,MAAMC,EAAE,QAAQD,EAAE9/B,MAAM8/B,EAAEkY,SAASlzB,EAAE,CAAC,UAAU,YAAY,YAAY,cAAcngB,SAASm7B,EAAE9/B,MAAM+/B,GAAGjb,IAAI,CAACgb,IAAI,IAAIC,EAAE,IAAIF,EAAEe,QAAQgC,kBAAkB,OAAM,EAAG,GAAGn6B,SAASmD,gBAAgBi0B,EAAEe,QAAQS,aAAa,OAAM,EAAG,MAAMvc,EAAE+a,GAAGA,EAAEmC,UAAU,IAAInC,EAAEz1B,aAAa,aAAa,SAASy1B,EAAEt4B,aAAa,iBAAiBu5B,EAAE,OAAOf,EAAEt3B,SAAS25B,iBAAiBvC,EAAEe,QAAQM,YAAYmB,WAAWC,aAAa,CAACC,WAAW1C,GAAG/a,EAAE+a,GAAGwC,WAAWG,cAAcH,WAAWI,cAAcC,YAAY3C,EAAEjb,EAAE+a,EAAEe,QAAQM,aAAarB,EAAEe,QAAQM,YAAY,MAAMJ,GAAGA,EAAEkB,SAAS,IAAIlC,EAAEtvB,iBAAiBswB,EAAEpK,QAAS,EAA5d,CAA8doJ,IAAI,OAAOD,EAAEe,QAAQS,aAAan9B,iBAAiB,UAAU48B,GAAG,KAAKjB,EAAEe,QAAQS,aAAaj9B,oBAAoB,QAAQ07B,GAAGC,GAAGF,EAAEe,QAAQS,aAAaj9B,oBAAoB,QAAQ0gB,GAAG+a,EAAEe,QAAQS,aAAaj9B,oBAAoB,UAAU08B,KAAKmX,KAAKpY,IAAIc,WAAWd,EAAE,kBAAkBA,EAAEe,QAAQM,YAAY8H,WAAU,IAAKrI,WAAWd,EAAE,UAAS,GAAIA,EAAEoB,UAAU6W,YAAYjY,IAAI4X,iBAAiB5X,GAAGqT,OAAOrT,GAAGA,EAAE+X,QAAQ/X,EAAE+X,OAAO/X,GAAGsT,gBAAgBtT,GAAG8W,YAAY9W,KAAK1P,OAAOA,CAAC0P,EAAEC,KAAK,IAAID,EAAEe,QAAQI,OAAO,MAAM,IAAIx0B,MAAM6zB,cAAcE,SAAS5e,MAAMke,EAAEK,eAAeA,eAAe,GAAG,CAAC6G,MAAK,EAAGsE,OAAM,EAAGF,OAAM,EAAGN,MAAK,EAAGpD,QAAO,IAAK3H,KAAKD,EAAEoB,YAAYpB,EAAEe,QAAQmX,gBAAgBlY,EAAEqY,UAAUrY,EAAEqY,SAASrY,IAAIsY,kBAAkBA,CAACtY,EAAEC,KAAK,MAAMC,EAAE98B,OAAOvC,KAAKo/B,GAAG,IAAI,IAAIhb,EAAE,EAAEA,EAAEib,EAAE36B,OAAO0f,IAAI,CAAC,MAAMgc,EAAEf,EAAEjb,GAAG,iBAAiB+a,EAAEiB,IAAI,iBAAiBhB,EAAEgB,IAAIhB,EAAEgB,aAAahH,MAAMt5B,MAAM43C,QAAQtY,EAAEgB,SAAI,IAAShB,EAAEgB,KAAKjB,EAAEiB,GAAGhB,EAAEgB,IAAIqX,kBAAkBtY,EAAEiB,GAAGhB,EAAEgB,GAAG,GAAGhhC,IAAIA,CAAC+/B,EAAEC,EAAEC,KAAKoY,kBAAkBtY,EAAEC,GAAGD,EAAEe,QAAQI,QAAQ7Q,OAAO0P,EAAEE,IAAI,SAASsY,uBAAuBxY,EAAEC,GAAG,MAAMC,EAAE,OAAO,IAAID,IAAID,EAAE,OAAOE,EAAE,MAAM6D,QAAQ9e,EAAE+e,gBAAgB/C,GAAG6C,qBAAqB9D,EAAEC,GAAGiB,EAAEjc,EAAE7I,MAAM6I,EAAE5I,MAAM,OAAO6kB,GAAGjc,EAAE3I,OAAO,SAAS4kB,GAAGjc,EAAE1I,IAAI,CAAC,MAAM,UAAU5b,MAAM43C,QAAQtX,GAAG,CAAC,WAAWA,EAAE,GAAG,MAAM,YAAYA,EAAE57B,MAAM,IAAI47B,IAAIf,CAAC,CAAC,MAAMuY,YAAYA,CAACzY,EAAEC,EAAEC,KAAK,IAAIF,EAAE,OAAO,MAAM/a,EAAE,SAASib,EAAEsY,uBAAuBxY,EAAEC,GAAGC,EAAEe,EAAE,CAAC1kB,KAAK0jB,EAAEj1B,aAAasR,OAAO0jB,EAAEh1B,aAAaoR,KAAK,EAAE4G,OAAOgd,EAAE5V,YAAY,EAAE6V,EAAE7V,YAAY,EAAE/N,MAAM2jB,EAAE5V,YAAY6V,EAAE7V,aAAa8W,EAAEvgC,MAAM43C,QAAQtzB,GAAGA,EAAE,GAAG,SAAS2e,EAAEjjC,MAAM43C,QAAQtzB,GAAGA,EAAE,GAAGA,EAAEgb,EAAE54B,QAAQqxC,WAAWxX,EAAE,MAAM3kB,IAAImF,EAAEtF,KAAKynB,GAAGR,UAAUrD,GAAGiE,EAAEviB,EAAEuf,EAAEC,GAAG,IAAIpc,EAAE+e,EAAE5C,EAAE2C,GAAG,MAAML,GAAGW,GAAGZ,wBAAwB,GAAGxe,EAAEmb,EAAEvT,YAAYwX,EAAE,CAAC,MAAMlE,EAAEj4B,OAAOsrB,WAAWzqB,SAAS0gB,KAAKoD,YAAY5H,EAAEof,EAAEjE,EAAEvT,YAAYsT,CAAC,MAAMlb,EAAE,IAAIA,EAAE,GAAG1hB,OAAOk1B,OAAO2H,EAAE1kB,MAAM,CAACa,KAAK,GAAG0I,MAAMvI,IAAI,GAAG0nB,SAAShpB,KAAK+kB,IAAI,GAAGA,EAAEe,QAAQgC,kBAAkB,OAAO,IAAI/C,EAAEe,QAAQiC,YAAY,YAAYhD,EAAEe,QAAQM,YAAYsX,QAAQ7X,WAAWd,EAAE,kBAAkB,IAAIc,WAAWd,EAAE,qBAAoB,GAAIA,EAAEoB,WAAW0B,eAAe9C,EAAEe,QAAQM,aAAaoX,YAAYzY,EAAEe,QAAQS,aAAaxB,EAAEe,QAAQM,YAAYrB,EAAE4Y,iBAAiB5Y,EAAEe,QAAQM,YAAYp6B,gBAAgB,2BAA2B,MAAMg5B,EAAEA,KAAKwY,YAAYzY,EAAEe,QAAQS,aAAaxB,EAAEe,QAAQM,YAAYrB,EAAE4Y,kBAAkB7wC,OAAO1D,iBAAiB,SAAS47B,GAAGD,EAAEe,QAAQmC,gBAAgBxzB,KAAM,IAAI3H,OAAOxD,oBAAoB,SAAS07B,IAAK,MAAMC,EAAED,IAAI,WAAWA,EAAE9/B,KAAK6a,KAAKglB,IAAIp3B,SAASvE,iBAAiB,UAAU67B,GAAGF,EAAEe,QAAQmC,gBAAgBxzB,KAAM,IAAI9G,SAASrE,oBAAoB,UAAU27B,IAAK,MAAMjb,EAAEgb,IAAIA,EAAEr9B,SAASo9B,EAAEe,QAAQS,cAAcxB,EAAEe,QAAQM,YAAYr9B,SAASi8B,EAAEr9B,SAASoY,KAAKglB,IAAIp3B,SAASvE,iBAAiB,QAAQ4gB,EAAE,CAAC4zB,SAAQ,IAAK7Y,EAAEe,QAAQmC,gBAAgBxzB,KAAM,IAAI9G,SAASrE,oBAAoB,QAAQ0gB,EAAE,CAAC4zB,SAAQ,KAAO7Y,EAAE8Y,QAAQ9Y,EAAE8Y,OAAO9Y,IAAI+J,OAAO,CAAC8C,YAAY,WAAW7C,WAAW,sBAAsBW,UAAU,CAACa,MAAM,aAAatE,KAAK,sBAAsB2D,UAAU,CAACW,MAAM,iBAAiBtE,KAAK,0BAA0BsE,MAAM,wCAAwCE,OAAO,iBAAiBxE,KAAK,sCAAsC8E,MAAM,gBAAgB7E,KAAK,mBAAmB+B,WAAW,6BAA6BoC,MAAM,6BAA6BL,cAAc,oBAAoB8N,UAAU,QAAQC,YAAY,UAAUC,UAAU,6BAA6BC,YAAY,+BAA+BvJ,WAAW,mCAAmCjL,OAAO,CAACgI,SAAS,KAAKpC,SAAS,cAAcC,KAAK,UAAUC,OAAO,YAAYV,OAAO,YAAYG,cAAc,qBAAqBuB,MAAM,WAAWtE,KAAK,UAAU2D,UAAU,yBAAyBF,UAAU,yBAAyBT,QAAQ,aAAaC,QAAQ,aAAauB,OAAO,YAAY2C,YAAY,mBAAmBrC,MAAM,WAAW8F,UAAU,iBAAiB3K,KAAK,UAAUuK,QAAQ,eAAe7F,YAAY,kBAAkB9C,iBAAiB,yBAAyBE,mBAAmB,2BAA2BC,WAAW,iBAAiBoC,MAAM,WAAW3B,SAAS,gBAAgB9B,KAAK,UAAUM,QAAQ,eAAexD,UAAU,iBAAiByG,iBAAiB,wBAAwBJ,KAAK,UAAU4F,YAAY,mBAAmBC,SAAS,gBAAgBC,WAAW,kBAAkBC,YAAY,mBAAmBC,WAAW,kBAAkBC,UAAU,kBAAkB,MAAMkI,gBAAgBjsC,cAAcqzB,cAAc19B,KAAK,OAAO,WAAW09B,cAAc19B,KAAK,aAAY,GAAI09B,cAAc19B,KAAK,eAAc,GAAI09B,cAAc19B,KAAK,kBAAkB,QAAQ09B,cAAc19B,KAAK,eAAe,GAAG09B,cAAc19B,KAAK,iBAAiB,GAAG09B,cAAc19B,KAAK,kBAAkB,oBAAoB09B,cAAc19B,KAAK,SAAS,MAAM09B,cAAc19B,KAAK,YAAY,SAAS09B,cAAc19B,KAAK,UAAU,cAAc09B,cAAc19B,KAAK,UAAU,cAAc09B,cAAc19B,KAAK,kBAAkB09B,cAAc19B,KAAK,kBAAkB09B,cAAc19B,KAAK,uBAAsB,GAAI09B,cAAc19B,KAAK,wBAAuB,GAAI09B,cAAc19B,KAAK,sBAAsB09B,cAAc19B,KAAK,eAAe,IAAI09B,cAAc19B,KAAK,mBAAkB,GAAI09B,cAAc19B,KAAK,oBAAmB,GAAI09B,cAAc19B,KAAK,oBAAmB,GAAI09B,cAAc19B,KAAK,kBAAkB,IAAI09B,cAAc19B,KAAK,gBAAe,GAAI09B,cAAc19B,KAAK,cAAc,IAAI09B,cAAc19B,KAAK,uBAAsB,GAAI09B,cAAc19B,KAAK,oBAAmB,GAAI09B,cAAc19B,KAAK,qBAAoB,GAAI09B,cAAc19B,KAAK,+BAA8B,GAAI09B,cAAc19B,KAAK,4BAA2B,GAAI09B,cAAc19B,KAAK,qBAAqB,UAAU09B,cAAc19B,KAAK,uBAAsB,GAAI09B,cAAc19B,KAAK,sBAAqB,GAAI09B,cAAc19B,KAAK,qBAAoB,GAAI09B,cAAc19B,KAAK,gBAAgB,IAAI09B,cAAc19B,KAAK,iBAAiB09B,cAAc19B,KAAK,gBAAgB09B,cAAc19B,KAAK,mBAAmB,IAAI09B,cAAc19B,KAAK,mBAAmB,CAAC,EAAE,IAAI09B,cAAc19B,KAAK,gBAAgB09B,cAAc19B,KAAK,gBAAgB,UAAU09B,cAAc19B,KAAK,cAAc,GAAG09B,cAAc19B,KAAK,cAAc,IAAI09B,cAAc19B,KAAK,gBAAgB,GAAG09B,cAAc19B,KAAK,gBAAgB,IAAI09B,cAAc19B,KAAK,eAAe,OAAO09B,cAAc19B,KAAK,eAAe,GAAG09B,cAAc19B,KAAK,iBAAiB,GAAG09B,cAAc19B,KAAK,gBAAiBm9B,GAAGA,GAAIO,cAAc19B,KAAK,eAAe09B,cAAc19B,KAAK,kBAAkB09B,cAAc19B,KAAK,qBAAqB09B,cAAc19B,KAAK,gBAAgB09B,cAAc19B,KAAK,gBAAgB09B,cAAc19B,KAAK,eAAe09B,cAAc19B,KAAK,gBAAgB09B,cAAc19B,KAAK,gBAAgB09B,cAAc19B,KAAK,mBAAmB09B,cAAc19B,KAAK,4BAA4B09B,cAAc19B,KAAK,mBAAmB09B,cAAc19B,KAAK,oBAAoB09B,cAAc19B,KAAK,mBAAmB09B,cAAc19B,KAAK,UAAU09B,cAAc19B,KAAK,YAAY09B,cAAc19B,KAAK,aAAa09B,cAAc19B,KAAK,UAAU09B,cAAc19B,KAAK,UAAU09B,cAAc19B,KAAK,SAAS,IAAI09B,cAAc19B,KAAK,SAASw9B,eAAe,GAAG0J,SAASxJ,cAAc19B,KAAK,UAAU,CAAC2pC,QAAQ,GAAG3P,SAAS,GAAG2O,MAAM,GAAGtE,KAAK,KAAK3G,cAAc19B,KAAK,SAASw9B,eAAe,GAAGqE,QAAQ,EAAE,MAAM0U,UAAU,MAAMpZ,UAAUmZ,gBAAgBjsC,YAAY+yB,EAAEC,GAAG,IAAIjb,EAAEpX,QAAQ0yB,cAAc19B,KAAK,OAAQ,IAAIu1C,KAAKv1C,OAAQ09B,cAAc19B,KAAK,SAAUm9B,GAAG1P,OAAOztB,KAAKm9B,IAAKO,cAAc19B,KAAK,UAAW,IAAIm+B,QAAQn+B,OAAQ09B,cAAc19B,KAAK,OAAQ,IAAIoY,KAAKpY,OAAQ09B,cAAc19B,KAAK,OAAQ,IAAImY,KAAKnY,OAAQ09B,cAAc19B,KAAK,MAAO,CAACm9B,EAAEC,IAAIhgC,IAAI4C,KAAKm9B,EAAEC,IAAKM,cAAc19B,KAAK,WAAWA,KAAKk+B,QAAQT,cAAcD,eAAe,GAAGx9B,KAAKk+B,SAAS,CAAC6G,OAAO,CAAC8D,OAAO,CAACiD,MAAM,GAAGhB,KAAK,IAAI0D,SAAS,CAAC1C,MAAM,GAAGhB,KAAK,OAAO7M,WAAWj+B,KAAK,cAAc,iBAAiBo9B,EAAE,OAAOhb,EAAE+a,EAAEqZ,iBAAiB94C,IAAI0/B,IAAIhb,EAAEpiB,KAAKy2C,gBAAgBrZ,GAAGA,GAAGC,GAAGoY,kBAAkBz1C,KAAKq9B,EAAE,CAACoZ,gBAAgBrZ,GAAG,MAAMC,EAAEt3B,SAASc,cAAcu2B,GAAG,IAAIC,EAAE,MAAM,IAAIvzB,MAAM6zB,cAAcC,iBAAiBR,IAAI,OAAOD,EAAEqZ,iBAAiBp5C,IAAIggC,EAAEC,GAAGA,CAAC,GAAGK,cAAc6Y,UAAU,mBAAmB,IAAIr5C,KAAK,IAAIw5C,SAASH,UCe7z5D,MAAM1sC,OAAO,aACPsB,WAAW,gBACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf0qB,eAAe,SAASpuB,cACxBuL,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxB6D,uBAAuB,QAAQ7D,uBAC/BsrC,uBAAyB,UAAUtrC,uBAEnC4D,uBAAuB,gCAEvB2nC,WAAa,IAEbjtC,UAAU,CACdktC,gBAAiB,KACjBtM,QAAS,KACTC,QAAS,KACTsM,WAAY,KACZC,eAAgB,KAChBvN,mBAAoB,EACpBhF,aAAc,EACdwS,QAAQ,EACRjS,OAAQ,UACRkS,gBAAiB,KACjBpT,cAAe,GACfqT,cAAe,SACfj9B,UAAW,OACXk9B,WAAY,IAGRvtC,cAAc,CAClBitC,gBAAiB,gBACjBtM,QAAS,8BACTC,QAAS,8BACTsM,WAAY,yBACZC,eAAgB,gCAChBvN,mBAAoB,SACpBhF,aAAc,SACdwS,OAAQ,UACRjS,OAAQ,SACRkS,gBAAiB,wBACjBpT,cAAe,QACfqT,cAAe,SACfj9B,UAAW,SACXk9B,WAAY,UAOd,MAAMC,mBAAmBrsC,cACvBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKq3C,UAAY,KACjBr3C,KAAKkY,UAAW,EAEhBlY,KAAKs3C,eACP,CAGA,kBAAW3tC,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,SACE,IAAIpP,KAAKkL,QAAQ8rC,OAIjB,OAAOh3C,KAAKkY,SAAWlY,KAAKmY,OAASnY,KAAKoY,MAC5C,CAEAA,OACMpY,KAAKkL,QAAQ8rC,SAIZh3C,KAAKq3C,WAAahwC,WAAWrH,KAAKiL,WAAajL,KAAKkY,UAIvC3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,cACxC/H,mBAId7O,KAAKq3C,UAAUj/B,OACfpY,KAAKkY,UAAW,EAEhB3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,eACtC,CAEAsB,OACMnY,KAAKkL,QAAQ8rC,QAIZh3C,KAAKq3C,WAAcr3C,KAAKkY,WAIX3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cACxCjI,mBAId7O,KAAKq3C,UAAUl/B,OACfnY,KAAKkY,UAAW,EAEhB3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBACtC,CAEA3L,UACMpL,KAAKu3C,iBACPv3C,KAAKu3C,eAAe3qB,aACpB5sB,KAAKu3C,eAAiB,MAGpBv3C,KAAKq3C,WACPr3C,KAAKq3C,UAAUlZ,UAGjBn+B,KAAKq3C,UAAY,KACjBrsC,MAAMI,SACR,CAEAosC,mBACE,MAAM/O,EAAQzoC,KAAKq3C,WAAWnZ,SAAS2F,cACvC,OAAO4E,EAAQ,IAAIA,GAAS,EAC9B,CAEAgP,iBAAiBhP,GACXzoC,KAAKq3C,WACPr3C,KAAKq3C,UAAUj6C,IAAI,CAAEymC,cAAe4E,GAExC,CAGA6O,gBACEt3C,KAAK03C,SAAqC,UAA1B13C,KAAKiL,SAAS4C,QAC9B7N,KAAK23C,UAAY33C,KAAKkL,QAAQ8rC,OAG1Bh3C,KAAK23C,YAAc33C,KAAK03C,WAC1B13C,KAAK43C,YAAc53C,KAAKiL,SAASpE,cAAc,sCAGjD7G,KAAK63C,iBAAmB73C,KAAK83C,0BAC7B93C,KAAK+3C,gBAAkB/3C,KAAKg4C,yBAE5B,MAAMC,EAAkBj4C,KAAKk4C,wBAI7Bl4C,KAAKq3C,UAAY,IAAIX,SAAS12C,KAAK63C,iBAAkBI,GACrDj4C,KAAKq3C,UAAU9B,OAGfv1C,KAAKm4C,sBAGDn4C,KAAK03C,UAAY13C,KAAKiL,SAAS7H,OACjCpD,KAAKo4C,mBAIPp4C,KAAKq4C,iCACP,CAEAA,kCACE,MAAMxU,cAAEA,GAAkB7jC,KAAKkL,QAC/B,IAAK24B,GAA0C,IAAzBA,EAAcnhC,OAClC,OAGF,MAAM41C,EAAgBt4C,KAAKu4C,oBAAoB1U,GAE3C7jC,KAAK03C,WACP13C,KAAKiL,SAAS7H,MAAQk1C,GAGpBt4C,KAAK43C,cACP53C,KAAK43C,YAAYx0C,MAAQygC,EAAc13B,KAAK,MAG1CnM,KAAK+3C,kBACP/3C,KAAK+3C,gBAAgBlc,YAAcyc,EAEvC,CAEAR,0BACE,IAAIb,gBAAEA,GAAoBj3C,KAAKkL,QAO/B,GAL+B,iBAApB+rC,IACTA,EAAkBlxC,SAASc,cAAcowC,KAItCA,GAAmBj3C,KAAK03C,WAAa13C,KAAK23C,UAAW,CACxD,MAAMngC,EAASxX,KAAKiL,SAAS9D,QAAQ,eACjCqQ,IACFy/B,EAAkBz/B,EAEtB,CAEA,OAAOy/B,GAAmBj3C,KAAKiL,QACjC,CAEA+sC,yBACE,MAAMjB,eAAEA,GAAmB/2C,KAAKkL,QAEhC,MAA8B,iBAAnB6rC,EACFhxC,SAASc,cAAckwC,IAIT,IAAnBA,GAA+C,OAAnBA,IAA4B/2C,KAAK03C,WAAa13C,KAAK23C,UAC5D33C,KAAKiL,SAASpE,cAAc,iCAC1B7G,KAAKiL,SAGvB8rC,CACT,CAEAyB,oBACE,OAAOx4C,KAAKiL,SAAS9D,QAAQ,kBAC/B,CAEAsxC,qBAEE,MAAM5B,gBAAEA,GAAoB72C,KAAKkL,QACjC,GAAI2rC,EACF,OAAOA,EAGT,MAAMjqC,EAAW5M,KAAKw4C,oBACtB,OAAO5rC,GAAU/H,aAAa,kBAAoB,IACpD,CAEA6zC,oBAAoBr7C,GAClB,IAAKA,EACH,OAGF,MAAMs7C,EAAQ34C,KAAKy4C,qBAEfE,EAEFt7C,EAAQ6G,aAAa,gBAAiBy0C,GAGtCt7C,EAAQ+G,gBAAgB,gBAE5B,CAEA+zC,sBAEE,MAAMvrC,EAAW5M,KAAKw4C,oBACjB5rC,IAAY5M,KAAKkL,QAAQ2rC,kBAK9B72C,KAAKu3C,eAAiB,IAAIjI,iBAAiB,KACzCtvC,KAAK04C,oBAAoB14C,KAAKq3C,WAAWnZ,SAASM,eAGpDx+B,KAAKu3C,eAAehqB,QAAQ3gB,EAAU,CACpCtI,YAAY,EACZs0C,gBAAiB,CAAC,mBAEtB,CAEAV,wBAEE,MAAMS,EAAQ34C,KAAKy4C,qBAEbI,EAAYF,GAAmB,SAAVA,EAA8BA,EAAX,SAExCV,EAAkB,IACnBj4C,KAAKkL,QAAQisC,WAChB5Y,WAAYv+B,KAAK23C,UACjB5B,gBAAiB/1C,KAAKkL,QAAQ+O,UAC9BuqB,aAAcxkC,KAAKkL,QAAQs5B,aAC3BO,OAAQ/kC,KAAKkL,QAAQ65B,OACrBjB,mBAAoB9jC,KAAKkL,QAAQgsC,cACjCrT,cAAe7jC,KAAKkL,QAAQ24B,cAC5B2F,mBAAoBxpC,KAAKkL,QAAQs+B,mBACjC/pC,KAAMO,KAAKkL,QAAQs+B,mBAAqB,EAAI,WAAa,UACzDqG,cAAegJ,EACf7I,gBAAiB,kBACjBiD,YAAaA,CAACxB,EAAMtyC,IAAUa,KAAK84C,iBAAiBrH,EAAMtyC,GAC1D+1C,OAAQzD,IACNzxC,KAAK04C,oBAAoBjH,EAAKvT,QAAQM,cAExCyX,OAAQA,KACNj2C,KAAKkY,UAAW,EAChBlY,KAAK04C,oBAAoB14C,KAAKq3C,UAAUnZ,QAAQM,cAElD+B,OAAQA,KACNvgC,KAAKkY,UAAW,IAKpB,GAAIlY,KAAKkL,QAAQ24B,cAAcnhC,OAAS,EAAG,CACzC,MAAMq2C,EAAY/4C,KAAKg5C,WAAWh5C,KAAKkL,QAAQ24B,cAAc,IAC7DoU,EAAgBtR,cAAgBoS,EAAUpW,WAC1CsV,EAAgBvR,aAAeqS,EAAUtW,aAC3C,CAUA,OARIziC,KAAKkL,QAAQq/B,UACf0N,EAAgB1N,QAAUvqC,KAAKkL,QAAQq/B,SAGrCvqC,KAAKkL,QAAQs/B,UACfyN,EAAgBzN,QAAUxqC,KAAKkL,QAAQs/B,SAGlCyN,CACT,CAEAa,iBAAiBrH,EAAMtyC,GACrB,MAAM0kC,EAAgB,IAAI4N,EAAKvT,QAAQ2F,eAEvC,GAAIA,EAAcnhC,OAAS,EAAG,CAC5B,MAAM41C,EAAgBt4C,KAAKu4C,oBAAoB1U,GAE3C7jC,KAAK03C,WACP13C,KAAKiL,SAAS7H,MAAQk1C,GAGpBt4C,KAAK43C,cACP53C,KAAK43C,YAAYx0C,MAAQygC,EAAc13B,KAAK,MAG1CnM,KAAK+3C,kBACP/3C,KAAK+3C,gBAAgBlc,YAAcyc,EAEvC,CAEA/4C,aAAaoD,QAAQ3C,KAAKiL,SAAUwuB,eAAc,CAChDgP,MAAO5E,EACP1kC,UAGFa,KAAKi5C,yBAAyBpV,EAChC,CAEAoV,yBAAyBpV,GACnB7jC,KAAK23C,YAKyB,WAA/B33C,KAAKkL,QAAQgsC,eAA8BrT,EAAcnhC,OAAS,GACnC,oBAA/B1C,KAAKkL,QAAQgsC,eAAuCrT,EAAcnhC,QAAU,IAG7EqG,WAAW,IAAM/I,KAAKmY,OAvWT,IAyWjB,CAEA6gC,WAAWE,GACT,MAAO7U,EAAMsE,EAAOwQ,GAAOD,EAAQ1yC,MAAM,KACzC,OAAO,IAAI4wB,KAAKiN,EAAMsE,EAAQ,EAAGwQ,EACnC,CAEAC,YAAYF,GACV,MAAMlU,EAAOhlC,KAAKg5C,WAAWE,GACvBnU,EAAiC,YAAxB/kC,KAAKkL,QAAQ65B,YAAuB3U,EAAYpwB,KAAKkL,QAAQ65B,QACtE+R,WAAEA,GAAe92C,KAAKkL,QAG5B,MAA0B,mBAAf4rC,EACFA,EAAW9R,EAAMD,GAItB+R,GAAoC,iBAAfA,EAChB,IAAIuC,KAAKC,eAAevU,EAAQ+R,GAAYyC,OAAOvU,GAIrDA,EAAKwU,mBAAmBzU,EACjC,CAEAwT,oBAAoB9P,GAClB,GAAqB,IAAjBA,EAAM/lC,OACR,MAAO,GAGT,GAAqB,IAAjB+lC,EAAM/lC,OACR,OAAO1C,KAAKo5C,YAAY3Q,EAAM,IAIhC,MAAMgR,EAA2C,oBAA/Bz5C,KAAKkL,QAAQgsC,cAAsC,MAAQ,KAC7E,OAAOzO,EAAMx8B,IAAIgW,GAAKjiB,KAAKo5C,YAAYn3B,IAAI9V,KAAKstC,EAClD,CAEArB,mBAEE,MAAMh1C,EAAQpD,KAAKiL,SAAS7H,MAAM4I,OAClC,IAAK5I,EACH,OAGF,MAAM4hC,EAAO,IAAI5N,KAAKh0B,GACtB,IAAKI,OAAOk2C,MAAM1U,EAAKhC,WAAY,CACjC,MAGM2W,EAAY,GAHL3U,EAAKvC,iBACJC,OAAOsC,EAAKrC,WAAa,GAAGC,SAAS,EAAG,QAC1CF,OAAOsC,EAAKzC,WAAWK,SAAS,EAAG,OAE/C5iC,KAAKq3C,UAAUj6C,IAAI,CAAEymC,cAAe,CAAC8V,IACvC,CACF,EAOFp6C,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAGzD,UAAjBa,KAAK6N,SAAiD,SAA1B7N,KAAKwE,QAAQo1C,WAI7Cz6C,EAAM2O,iBACNspC,WAAWzrC,oBAAoB3L,MAAMoP,SACvC,GAEA7P,aAAa2C,GAAG6D,SAAU4wC,uBAAwB1nC,uBAAsB,WAEjD,UAAjBjP,KAAK6N,SAITupC,WAAWzrC,oBAAoB3L,MAAMoY,MACvC,GAGA7Y,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW0I,SAASjG,iBAAiB,GAAGmP,iDACjDmoC,WAAWzrC,oBAAoBtO,KC9cnC,MAAMw8C,gBAAkB,cAexB,MAAMC,mBAAmB/uC,cACvBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK0X,kBAAmB,EACxB1X,KAAK+5C,gBAAiB,EACtB/5C,KAAKg6C,qBACP,CAIA,eAAWnwC,GACT,MAAO,YACT,CAIAowC,cAAaC,MAAEA,GAAQ,EAAIC,kBAAEA,GAAoB,GAAS,IACxDn6C,KAAK+5C,eAAiBG,EAElBA,EACFl6C,KAAKiL,SAASmvC,YAEdp6C,KAAKiL,SAASmN,OAGZ+hC,GACFp0C,SAAS0gB,KAAKjf,UAAU0J,IA1CN,cA4CtB,CAEAmpC,eACEr6C,KAAKs6C,uBACLt6C,KAAKiL,SAAS2D,QACd5O,KAAK+5C,gBAAiB,EAGjBh0C,SAASc,cAAc,uBAC1Bd,SAAS0gB,KAAKjf,UAAUvJ,OArDN,cAuDtB,CAKAq8C,uBAGE,IAAK,MAAMjtC,KAAMjB,eAAe3L,KAFf,yDAE8BT,KAAKiL,UAAW,CAC7D,MAAM1N,EAAWwN,cAAcW,YAAY2B,GACvC9P,GAAqC,mBAAlBA,EAAS4a,MAC9B5a,EAAS4a,MAEb,CAGA,IAAK,MAAM9K,KAAMjB,eAAe3L,KAAK,cAAeT,KAAKiL,UAAW,CAClE,MAAM1N,EAAWwN,cAAcW,YAAY2B,GACvC9P,GAAqC,mBAAlBA,EAAS4a,MAC9B5a,EAAS4a,MAEb,CACF,CAEAoiC,6BAME,GAL2Bh7C,aAAaoD,QACtC3C,KAAKiL,SACLjL,KAAKqK,YAAYuB,UAAU,kBAGNiD,iBACrB,OAGF,MAAM2rC,EAAcx6C,KAAKy6C,sBACzBz6C,KAAKiL,SAASzD,UAAU0J,IAAIspC,GAC5Bx6C,KAAKwL,eAAe,KAClBxL,KAAKiL,SAASzD,UAAUvJ,OAAOu8C,IAC9Bx6C,KAAKiL,SACV,CAGAwvC,sBACE,MAAO,eACT,CAIAT,sBACE,MAAMU,EAAW16C,KAAKqK,YAAYgB,UAKlC9L,aAAa2C,GAAGlC,KAAKiL,SAAU,SAAU9L,IAEvCA,EAAM2O,iBAED9N,KAAKkL,QAAQmI,UAKlBrT,KAAK26C,YACL36C,KAAKmY,QALHnY,KAAKu6C,+BASTh7C,aAAa2C,GAAGlC,KAAKiL,SAAU,UAAUyvC,IAAYv7C,IACjC,WAAdA,EAAM7B,KAAoB0C,KAAK+5C,iBAInC56C,EAAM2O,iBAED9N,KAAKkL,QAAQmI,WAIlBrT,KAAK26C,YACL36C,KAAKmY,WAKP5Y,aAAa2C,GAAGlC,KAAKiL,SAAU,QAAQyvC,IAAYv7C,IAE7CA,EAAMY,SAAWC,KAAKiL,UAAajL,KAAK+5C,iBAId,WAA1B/5C,KAAKkL,QAAQ0vC,SAKjB56C,KAAKmY,OAJHnY,KAAKu6C,+BAMX,CAGAI,YACE,EC1JJ,MAAM9wC,OAAO,SACPsB,WAAW,YACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf6H,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxBwvC,aAAe,SAASxvC,cACxB6D,uBAAuB,QAAQ7D,uBAE/ByvC,oBAAsB,kBAEtB7rC,uBAAuB,4BAEvBtF,UAAU,CACdixC,UAAU,EACVvnC,UAAU,EACV6mC,OAAO,GAGHtwC,cAAc,CAClBgxC,SAAU,mBACVvnC,SAAU,UACV6mC,MAAO,WAOT,MAAMa,eAAejB,WAEnB,kBAAWnwC,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,OAAOlO,GACL,OAAOlB,KAAKiL,SAAS+vC,KAAOh7C,KAAKmY,OAASnY,KAAKoY,KAAKlX,EACtD,CAEAkX,KAAKlX,GACClB,KAAKiL,SAAS+vC,MAAQh7C,KAAK0X,kBAIbnY,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,aAAY,CAChE1V,kBAGY2N,mBAId7O,KAAK0X,kBAAmB,EAEnB1X,KAAKkL,QAAQgvC,OAChBl6C,KAAKiL,SAASzD,UAAU0J,IAvDF,mBA0DxBlR,KAAKi6C,aAAa,CAChBC,MAAOl6C,KAAKkL,QAAQgvC,MACpBC,kBAAmBn6C,KAAKkL,QAAQgvC,QAIlCl6C,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,cAAa,CAC/C3V,mBAEDlB,KAAKiL,UAAU,GACpB,CAEAkN,OACOnY,KAAKiL,SAAS+vC,OAAQh7C,KAAK0X,mBAIdnY,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cAExCjI,mBAId7O,KAAK0X,kBAAmB,EAIxB1X,KAAKq6C,eACLr6C,KAAKiL,SAASzD,UAAUvJ,OAxFA,mBA0FxB+B,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBACnC/W,KAAKiL,UAAU,IACpB,CAEAgwC,eAEE,CAIFN,YACEp7C,aAAaoD,QAAQ3C,KAAKiL,SAAU4vC,aACtC,EAOFt7C,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9E,MAAMY,EAASqM,eAAemB,uBAAuBvN,MAEjD,CAAC,IAAK,QAAQiC,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGRvO,aAAa4C,IAAIpC,EAAQ6W,aAAYskC,IAC/BA,EAAUrsC,kBAIdtP,aAAa4C,IAAIpC,EAAQgX,eAAc,KACjCjQ,UAAU9G,OACZA,KAAKg0B,YAMX,MAAMhqB,EAAShG,YAAYK,kBAAkBrE,MAGvCm7C,EAAgBn7C,KAAKmH,QAAQ,gBAGnC,GAFmBg0C,GAAiBA,IAAkBp7C,EAEtC,CAEIg7C,OAAOpvC,oBAAoB5L,EAAQiK,GAC3CoO,KAAKpY,MAGf,MAAMo7C,EAAkBL,OAAOrvC,YAAYyvC,GAK3C,YAJIC,GACFA,EAAgBjjC,OAIpB,CAEa4iC,OAAOpvC,oBAAoB5L,EAAQiK,GAC3CoF,OAAOpP,KACd,GAEAyN,qBAAqBstC,QC1KrB,MAAMlxC,OAAO,cACPsB,WAAW,iBACXE,YAAY,IAAIF,aAEhBkwC,aAAe,SAAShwC,cACxBiwC,eAAiB,WAAWjwC,cAE5BkwC,oBAAsB,eACtBC,yBAA2B,oBAC3BC,kBAAoB,SAEpBC,kBAAoB,YACpBC,kBAAoB,YACpBC,yBAA2B,uBAC3BC,uBAAyB,qBACzBC,gBAAkB,oBAElBnyC,UAAU,CACdoyC,SAAU,OACVC,SAAU,sPACVjvB,UAAW,GAGPnjB,cAAc,CAClBmyC,SAAU,SACVC,SAAU,SACVjvB,UAAW,UAOb,MAAMkvB,oBAAoBlxC,cACxBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKk8C,OAAS,GACdl8C,KAAKm8C,eAAiB,GACtBn8C,KAAKo8C,cAAgB,KACrBp8C,KAAKq8C,gBAAkB,KACvBr8C,KAAK4uB,gBAAkB,KACvB5uB,KAAKs8C,gBAAiB,EAEtBt8C,KAAKu8C,OACP,CAGA,kBAAW5yC,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGA4jB,SACEztB,KAAKw8C,qBACLj9C,aAAaoD,QAAQ3C,KAAKiL,SAAUowC,aACtC,CAEAjwC,UACMpL,KAAK4uB,iBACP5uB,KAAK4uB,gBAAgBhC,aAIvB5sB,KAAKy8C,gBAGDz8C,KAAKq8C,iBAAmBr8C,KAAKq8C,gBAAgB5d,eAC/Cz+B,KAAKq8C,gBAAgB5d,cAAcxgC,SAGrC+M,MAAMI,SACR,CAGAmxC,QAEEv8C,KAAKiL,SAASzD,UAAU0J,IA9EA,gBAiFxBlR,KAAKk8C,OAAS,IAAI9vC,eAAe3L,KA7EX,YA6EmCT,KAAKiL,WAG9D,IAAK,MAAO3B,EAAO+xB,KAASr7B,KAAKk8C,OAAOl6C,UACtCq5B,EAAK72B,QAAQk4C,WAAapzC,EAI5BtJ,KAAK28C,sBAGL38C,KAAK48C,uBAGL58C,KAAKw8C,qBAELx8C,KAAKs8C,gBAAiB,CACxB,CAEAK,sBAIE,GAFA38C,KAAKq8C,gBAAkBjwC,eAAeG,QAhGT,uBAgG2CvM,KAAKiL,UAEzEjL,KAAKq8C,gBAEP,YADAr8C,KAAKo8C,cAAgBhwC,eAAeG,QAlGX,qBAkG2CvM,KAAKiL,WAI3E,MAAM4xC,EAAe92C,SAASg1B,cAAc,MAC5C8hB,EAAajb,UAAY,6BACzBib,EAAa7a,UAAY,2LAEahiC,KAAKkL,QAAQ8wC,4DACbh8C,KAAKkL,QAAQ6wC,2FAKnD/7C,KAAKiL,SAASqqB,OAAOunB,GACrB78C,KAAKq8C,gBAAkBQ,EAAah2C,cAlHP,wBAmH7B7G,KAAKo8C,cAAgBS,EAAah2C,cAlHP,qBAmH7B,CAEA+1C,uBACgC,oBAAnB/uB,gBAMX7tB,KAAK4uB,gBAAkB,IAAIf,eAAe,KACxC7tB,KAAKw8C,uBAGPx8C,KAAK4uB,gBAAgBrB,QAAQvtB,KAAKiL,WARhC1L,aAAa2C,GAAGgD,OAAQ,SAAU,IAAMlF,KAAKw8C,qBASjD,CAEAA,qBAEEx8C,KAAKy8C,gBAEL,MAAMK,EAAW98C,KAAKiL,SAASsc,YACzBs1B,EAAe78C,KAAKq8C,iBAAiBl1C,QAAQ,aAGnD,IAAI41C,EAAY,EAChB,MAAMC,EAAkB,GAClBC,EAAoBH,GAJJD,GAAct1B,aAAe,GAIE,GAGrD,IAAK,MAAM8T,KAAQr7B,KAAKk8C,OAEtBa,GADkB1hB,EAAK9T,YAInB8T,EAAK7zB,UAAUrG,SAAS26C,kBAIxBiB,EAAYE,GACdD,EAAgBnwC,KAAKwuB,GAMzB,GADqBr7B,KAAKk8C,OAAOx5C,OAASs6C,EAAgBt6C,OACvC1C,KAAKkL,QAAQ6hB,WAAa/sB,KAAKk8C,OAAOx5C,OAAS1C,KAAKkL,QAAQ6hB,UAAW,CAExF,MAAMmwB,EAASl9C,KAAKk8C,OAAO15C,MAAMxC,KAAKkL,QAAQ6hB,WAAWtoB,OAAO42B,IAASA,EAAK7zB,UAAUrG,SAAS26C,kBACjGkB,EAAgBt6C,OAAS,EACzBs6C,EAAgBnwC,QAAQqwC,EAC1B,CAGAl9C,KAAKm9C,gBAAgBH,GAGjBH,IACEG,EAAgBt6C,OAAS,EAC3Bm6C,EAAar1C,UAAUvJ,OAlLL,UAoLlB4+C,EAAar1C,UAAU0J,IApLL,WAyLlB8rC,EAAgBt6C,OAAS,GAC3BnD,aAAaoD,QAAQ3C,KAAKiL,SAAUqwC,eAAgB,CAClD8B,cAAeJ,EAAgBt6C,OAC/Bw5B,aAAcl8B,KAAKk8C,OAAOx5C,OAASs6C,EAAgBt6C,QAGzD,CAEAy6C,gBAAgBxoC,GACd,GAAK3U,KAAKo8C,cAAV,CAKAp8C,KAAKo8C,cAAcpa,UAAY,GAC/BhiC,KAAKm8C,eAAiB,GAEtB,IAAK,MAAM9gB,KAAQ1mB,EAAO,CACxB,MAAM0oC,EAAOjxC,eAAeG,QAxMR,YAwMmC8uB,GACvD,IAAKgiB,EACH,SAGF,MAAMC,EAAaD,EAAK/W,WAAU,GAClCgX,EAAW1b,UAAY,YAEnByb,EAAK71C,UAAUrG,SAAS,WAC1Bm8C,EAAW91C,UAAU0J,IAAI,WAGvBmsC,EAAK71C,UAAUrG,SAAS,aAAek8C,EAAK31C,aAAa,cAC3D41C,EAAW91C,UAAU0J,IAAI,YAG3BlR,KAAKo8C,cAAc9mB,OAAOgoB,GAG1BjiB,EAAK7zB,UAAU0J,IA9NK,UA+NpBmqB,EAAK72B,QAAQ+4C,cAAgB,OAE7Bv9C,KAAKm8C,eAAetvC,KAAKwuB,EAC3B,CA9BA,CA+BF,CAEAohB,gBACE,IAAK,MAAMphB,KAAQr7B,KAAKk8C,OACtB7gB,EAAK7zB,UAAUvJ,OAvOK,iBAwObo9B,EAAK72B,QAAQ+4C,cAGlBv9C,KAAKo8C,gBACPp8C,KAAKo8C,cAAcpa,UAAY,IAGjChiC,KAAKm8C,eAAiB,EACxB,EAOF58C,aAAa2C,GAAG6D,SAAU,mBAAoB,KAC5C,IAAK,MAAM1I,KAAW+O,eAAe3L,KAAK,mCACxCw7C,YAAYtwC,oBAAoBtO,KC7PpC,MAAMwM,OAAO,YACPsB,WAAW,eACXE,YAAY,IAAIF,aAChB4D,eAAe,YACfoD,sBAAsB,OAAO9G,uBAE7BuL,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxBmyC,aAAe,SAASnyC,cACxB6D,uBAAuB,QAAQ7D,uBAE/B4D,uBAAuB,+BAEvBtF,UAAU,CACdixC,UAAU,EACVvnC,UAAU,EACV8V,QAAQ,GAGJvf,cAAc,CAClBgxC,SAAU,mBACVvnC,SAAU,UACV8V,OAAQ,WAOV,MAAMs0B,kBAAkB3D,WAEtB,kBAAWnwC,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,OAAOlO,GACL,OAAOlB,KAAKiL,SAAS+vC,KAAOh7C,KAAKmY,OAASnY,KAAKoY,KAAKlX,EACtD,CAEAkX,KAAKlX,GACH,GAAIlB,KAAKiL,SAAS+vC,MAAQh7C,KAAK0X,iBAC7B,OAKF,GAFkBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,aAAY,CAAE1V,kBAEtD2N,iBACZ,OAGF7O,KAAK0X,kBAAmB,EAMxB,MAAMgmC,EAAW/7C,QAAQ3B,KAAKkL,QAAQ0vC,YAAc56C,KAAKkL,QAAQie,OAEjEnpB,KAAKi6C,aAAa,CAChBC,MAAOwD,EACPvD,mBAAoBn6C,KAAKkL,QAAQie,SAKnCnpB,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,cAAa,CAAE3V,mBAClDlB,KAAKiL,UAAU,EACpB,CAEAkN,OACOnY,KAAKiL,SAAS+vC,OAAQh7C,KAAK0X,mBAIdnY,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cAExCjI,mBAId7O,KAAK0X,kBAAmB,EAKxB1X,KAAKq6C,eAELr6C,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBACnC/W,KAAKiL,UAAU,IACpB,CAGAwvC,sBACE,MAAO,kBACT,EAOFl7C,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9E,MAAMY,EAASqM,eAAemB,uBAAuBvN,MAMrD,GAJI,CAAC,IAAK,QAAQiC,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGJzG,WAAWrH,MACb,OAGFT,aAAa4C,IAAIpC,EAAQgX,eAAc,KAEjCjQ,UAAU9G,OACZA,KAAKg0B,UAKT,MAAM2pB,EAAcvxC,eAAeG,QAAQ,0BACvCoxC,GAAeA,IAAgB59C,GACjC09C,UAAU/xC,YAAYiyC,GAAaxlC,OAGxBslC,UAAU9xC,oBAAoB5L,GACtCqP,OAAOpP,KACd,GAEAT,aAAa2C,GAAGgD,OAAQiN,sBAAqB,KAC3C,IAAK,MAAMvS,KAAYwM,eAAe3L,KAAK,0BACzCg9C,UAAU9xC,oBAAoB/L,GAAUwY,SAI5C7Y,aAAa2C,GAAGgD,OAAQs4C,aAAc,KACpC,IAAK,MAAMngD,KAAW+O,eAAe3L,KAAK,uCACG,UAAvC2F,iBAAiB/I,GAAS2tB,UAC5ByyB,UAAU9xC,oBAAoBtO,GAAS8a,SAK7C1K,qBAAqBgwC,WCnKrB,MAAM5zC,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf6uC,sBAAwB,iBAAiBvyC,cAEzCwyC,uBAAyB,qBAEzBC,gBAAkB,CAAC,OAAQ,OAAQ,OAAQ,UAE3Cn0C,UAAU,CACdo0C,MAAO,KACPC,UAAW,EACXC,SAAU,CACRC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,OAAQ,UAEVC,QAAS,CACPN,UAAW,EACXO,YAAa,EACbC,UAAW,EACXC,UAAW,EACXC,QAAS,EACTC,QAAS,EACTC,gBAAiB,EACjBC,aAAc,GAEhBC,WAAY,CAAC,EAAG,EAAG,GACnBC,OAAQ,MAGJn1C,cAAc,CAClBm0C,MAAO,wBACPC,UAAW,SACXC,SAAU,SACVK,QAAS,SACTQ,WAAY,QACZC,OAAQ,mBAOV,MAAMC,iBAAiBj0C,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKi/C,OAASj/C,KAAKk/C,YACnBl/C,KAAKm/C,UAAY/yC,eAAe3L,KAAK,oBAAqBT,KAAKiL,UAC/DjL,KAAKo/C,aAAehzC,eAAeG,QAAQ,iBAAkBvM,KAAKiL,SAASwzB,eAC3Ez+B,KAAKq/C,iBAAmB,KAEpBr/C,KAAKi/C,SACPj/C,KAAKiU,qBAELjU,KAAKs/C,YAET,CAGA,kBAAW31C,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGA01C,cACE,OAAOv/C,KAAKq/C,gBACd,CAEAvlC,WACE9Z,KAAKs/C,WACP,CAGAJ,YACE,GAAIl/C,KAAKkL,QAAQ6yC,MACf,MAAqC,iBAAvB/9C,KAAKkL,QAAQ6yC,MACzB3xC,eAAeG,QAAQvM,KAAKkL,QAAQ6yC,OACpC/9C,KAAKkL,QAAQ6yC,MAIjB,MAAMvmC,EAASxX,KAAKiL,SAASwzB,cAC7B,OAAOryB,eAAeG,QAAQ,yBAA0BiL,EAC1D,CAEAvD,qBACE1U,aAAa2C,GAAGlC,KAAKi/C,OAAQ,QAAS,IAAMj/C,KAAKs/C,aACjD//C,aAAa2C,GAAGlC,KAAKi/C,OAAQ,SAAU,IAAMj/C,KAAKs/C,YACpD,CAEAA,YACE,MAAME,EAAWx/C,KAAKi/C,OAAO77C,MACvBq8C,EAAQz/C,KAAK0/C,gBAAgBF,GAC7BG,EAAW3/C,KAAK4/C,iBAAiBH,GAEnCE,IAAa3/C,KAAKq/C,mBACpBr/C,KAAKq/C,iBAAmBM,EACxB3/C,KAAK6/C,UAAUF,EAAUF,GAEzBlgD,aAAaoD,QAAQ3C,KAAKiL,SAAU2yC,sBAAuB,CACzD+B,WACAF,QACAD,SAAUA,EAAS98C,OAAS,EAAI,MAAQ,KAG9C,CAEAg9C,gBAAgBF,GACd,IAAKA,EACH,OAAO,EAIT,GAAmC,mBAAxBx/C,KAAKkL,QAAQ6zC,OACtB,OAAO/+C,KAAKkL,QAAQ6zC,OAAOS,GAG7B,MAAMlB,QAAEA,GAAYt+C,KAAKkL,QACzB,IAAIu0C,EAAQ,EAsCZ,OAnCID,EAAS98C,QAAU1C,KAAKkL,QAAQ8yC,YAClCyB,GAASnB,EAAQN,WAGfwB,EAAS98C,QAAU1C,KAAKkL,QAAQ8yC,UAAY,IAC9CyB,GAASnB,EAAQC,aAIf,QAAQ5zC,KAAK60C,KACfC,GAASnB,EAAQE,WAGf,QAAQ7zC,KAAK60C,KACfC,GAASnB,EAAQG,WAGf,KAAK9zC,KAAK60C,KACZC,GAASnB,EAAQI,SAIf,yBAAyB/zC,KAAK60C,KAChCC,GAASnB,EAAQK,SAIf,iDAAiDh0C,KAAK60C,KACxDC,GAASnB,EAAQM,iBAGfY,EAAS98C,QAAU,KACrB+8C,GAASnB,EAAQO,cAGZY,CACT,CAEAG,iBAAiBH,GACf,GAAc,IAAVA,EACF,OAAO,KAGT,MAAOvB,EAAMC,EAAMC,GAAQp+C,KAAKkL,QAAQ4zC,WAExC,OAAIW,GAASvB,EACJ,OAGLuB,GAAStB,EACJ,OAGLsB,GAASrB,EACJ,OAGF,QACT,CAEAyB,UAAUF,GAEJA,EACF3/C,KAAKiL,SAASzG,QAAQs7C,WAAaH,SAE5B3/C,KAAKiL,SAASzG,QAAQs7C,WAI/B,MAAMC,EAAgBJ,EAAW7B,gBAAgBv0C,QAAQo2C,IAAY,EAErE,IAAK,MAAOr2C,EAAO02C,KAAYhgD,KAAKm/C,UAAUn9C,UACxCsH,GAASy2C,EACXC,EAAQx4C,UAAU0J,IAAI,UAEtB8uC,EAAQx4C,UAAUvJ,OAAO,UAK7B,GAAI+B,KAAKo/C,aACP,GAAIO,GAAY3/C,KAAKkL,QAAQ+yC,SAAS0B,GAAW,CAC/C3/C,KAAKo/C,aAAavjB,YAAc77B,KAAKkL,QAAQ+yC,SAAS0B,GACtD3/C,KAAKo/C,aAAa56C,QAAQs7C,WAAaH,EAGvC,MAAMM,EAAW,CACf/B,KAAM,SACNC,KAAM,UACNC,KAAM,OACNC,OAAQ,WAEVr+C,KAAKo/C,aAAa1mC,MAAMwnC,YAAY,mBAAoB,SAASD,EAASN,WAC5E,MACE3/C,KAAKo/C,aAAavjB,YAAc,UACzB77B,KAAKo/C,aAAa56C,QAAQs7C,UAGvC,EAOFvgD,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW+O,eAAe3L,KAzOR,sBA0O3Bu+C,SAASrzC,oBAAoBtO,KCjPjC,MAAMwM,OAAO,WACPsB,WAAW,eACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfoxC,eAAiB,WAAW90C,cAC5B+0C,YAAc,QAAQ/0C,cAEtBg1C,kBAAoB,gBACpBC,eAAiB,QAEjB32C,UAAU,CACdjH,OAAQ,EACR69C,MAAM,GAGF32C,cAAc,CAClBlH,OAAQ,SACR69C,KAAM,WAOR,MAAMC,iBAAiBz1C,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKygD,QAAUr0C,eAAe3L,KApBX,QAoBgCT,KAAKiL,UACxDjL,KAAK0gD,eACL1gD,KAAKiU,oBACP,CAGA,kBAAWtK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAwpC,WACE,OAAOrzC,KAAKygD,QAAQx0C,IAAI8xC,GAASA,EAAM36C,OAAO+I,KAAK,GACrD,CAEAw0C,SAASv9C,GACP,MAAMw9C,EAAQle,OAAOt/B,GAAOoD,MAAM,IAClC,IAAK,MAAO8C,EAAOy0C,KAAU/9C,KAAKygD,QAAQz+C,UACxC+7C,EAAM36C,MAAQw9C,EAAMt3C,IAAU,GAGhCtJ,KAAK6gD,gBACP,CAEA5pB,QACE,IAAK,MAAM8mB,KAAS/9C,KAAKygD,QACvB1C,EAAM36C,MAAQ,GAGhBpD,KAAKygD,QAAQ,IAAIzsB,OACnB,CAEAA,QAEE,MAAM8sB,EAAa9gD,KAAKygD,QAAQhgD,KAAKs9C,IAAUA,EAAM36C,OACjD09C,EACFA,EAAW9sB,QAEXh0B,KAAKygD,QAAQM,IAAG,IAAK/sB,OAEzB,CAGA0sB,eACE,IAAK,MAAM3C,KAAS/9C,KAAKygD,QAEvB1C,EAAM75C,aAAa,YAAa,KAChC65C,EAAM75C,aAAa,YAAa,WAChC65C,EAAM75C,aAAa,UAAW,QAG1B65C,IAAU/9C,KAAKygD,QAAQ,GACzB1C,EAAM75C,aAAa,eAAgB,iBAEnC65C,EAAM75C,aAAa,eAAgB,OAIjClE,KAAKkL,QAAQq1C,MACfxC,EAAM75C,aAAa,OAAQ,WAGjC,CAEA+P,qBACE,IAAK,MAAO3K,EAAOy0C,KAAU/9C,KAAKygD,QAAQz+C,UACxCzC,aAAa2C,GAAG67C,EAAO,QAAS5+C,GAASa,KAAKghD,aAAa7hD,EAAOmK,IAClE/J,aAAa2C,GAAG67C,EAAO,UAAW5+C,GAASa,KAAKihD,eAAe9hD,EAAOmK,IACtE/J,aAAa2C,GAAG67C,EAAO,QAAS5+C,GAASa,KAAKkhD,aAAa/hD,IAC3DI,aAAa2C,GAAG67C,EAAO,QAAS5+C,GAASa,KAAKmhD,aAAahiD,GAE/D,CAEA6hD,aAAa7hD,EAAOmK,GAClB,MAAMy0C,EAAQ5+C,EAAMY,OAGf,QAAQ4K,KAAKozC,EAAM36C,SACtB26C,EAAM36C,MAAQ26C,EAAM36C,MAAM7B,QAAQ,MAAO,KAG3C,MAAM6B,MAAEA,GAAU26C,EAGlB,GAAI36C,EAAMV,OAAS,EAAG,CAEpB,MAAMk+C,EAAQx9C,EAAMoD,MAAM,IAC1Bu3C,EAAM36C,MAAQw9C,EAAM,IAAM,GAE1B,IAAK,IAAI/hC,EAAI,EAAGA,EAAI+hC,EAAMl+C,QAAU4G,EAAQuV,EAAI7e,KAAKygD,QAAQ/9C,OAAQmc,IACnE7e,KAAKygD,QAAQn3C,EAAQuV,GAAGzb,MAAQw9C,EAAM/hC,GAIxC,MAAMkD,EAAYnc,KAAK6D,IAAIH,EAAQs3C,EAAMl+C,OAAQ1C,KAAKygD,QAAQ/9C,OAAS,GACvE1C,KAAKygD,QAAQ1+B,GAAWiS,OAC1B,MAAW5wB,GAASkG,EAAQtJ,KAAKygD,QAAQ/9C,OAAS,GAEhD1C,KAAKygD,QAAQn3C,EAAQ,GAAG0qB,QAG1Bz0B,aAAaoD,QAAQ3C,KAAKiL,SAAUm1C,YAAa,CAC/Ch9C,MAAOpD,KAAKqzC,WACZ/pC,UAGFtJ,KAAK6gD,gBACP,CAEAI,eAAe9hD,EAAOmK,GACpB,MAAMhM,IAAEA,GAAQ6B,EAEhB,OAAQ7B,GACN,IAAK,aACE0C,KAAKygD,QAAQn3C,GAAOlG,OAASkG,EAAQ,IAExCnK,EAAM2O,iBACN9N,KAAKygD,QAAQn3C,EAAQ,GAAGlG,MAAQ,GAChCpD,KAAKygD,QAAQn3C,EAAQ,GAAG0qB,SAG1B,MAGF,IAAK,SAEH70B,EAAM2O,iBACN,IAAK,IAAI+Q,EAAIvV,EAAOuV,EAAI7e,KAAKygD,QAAQ/9C,OAAS,EAAGmc,IAC/C7e,KAAKygD,QAAQ5hC,GAAGzb,MAAQpD,KAAKygD,QAAQ5hC,EAAI,GAAGzb,MAG9CpD,KAAKygD,QAAQM,IAAG,GAAI39C,MAAQ,GAC5B,MAGF,IAAK,YACCkG,EAAQ,IACVnK,EAAM2O,iBACN9N,KAAKygD,QAAQn3C,EAAQ,GAAG0qB,SAG1B,MAGF,IAAK,aACC1qB,EAAQtJ,KAAKygD,QAAQ/9C,OAAS,IAChCvD,EAAM2O,iBACN9N,KAAKygD,QAAQn3C,EAAQ,GAAG0qB,SAQhC,CAEAktB,aAAa/hD,GACXA,EAAM2O,iBACN,MACMszC,GADcjiD,EAAMkiD,eAAiBn8C,OAAOm8C,eAAeC,QAAQ,QAC/C//C,QAAQ,MAAO,IAAIiB,MAAM,EAAGxC,KAAKygD,QAAQ/9C,QAEnE,GAAI0+C,EAAQ,CACVphD,KAAK2gD,SAASS,GAGd,MAAMG,EAAY37C,KAAK6D,IAAI23C,EAAO1+C,OAAQ1C,KAAKygD,QAAQ/9C,QAAU,EACjE1C,KAAKygD,QAAQc,GAAWvtB,OAC1B,CACF,CAEAmtB,aAAahiD,GAEXA,EAAMY,OAAOyhD,QACf,CAEAX,iBACE,MAAMz9C,EAAQpD,KAAKqzC,WACAjwC,EAAMV,SAAW1C,KAAKygD,QAAQ/9C,QAC/C1C,KAAKygD,QAAQ7+B,MAAMm8B,GAAyB,KAAhBA,EAAM36C,QAGlC7D,aAAaoD,QAAQ3C,KAAKiL,SAAUk1C,eAAgB,CAAE/8C,SAE1D,EAOF7D,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW+O,eAAe3L,KA7Nb,iBA8NtB+/C,SAAS70C,oBAAoBtO,KCtOjC,MAAMwM,OAAO,YACPsB,WAAW,gBACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf0yC,UAAY,MAAMp2C,cAClBq2C,aAAe,SAASr2C,cACxBouB,aAAe,SAASpuB,cACxBs2C,aAAe,SAASt2C,cAExBu2C,yBAA2B,uBAC3BC,qBAAuB,cACvBC,cAAgB,QAChBC,sBAAwB,gBAExBC,gBAAkB,OAClBC,wBAA0B,eAC1BjzC,oBAAoB,SAEpBkzC,qBAAuB,gPAEvBv4C,UAAU,CACd8vC,UAAW,IACX0I,iBAAiB,EACjBC,SAAU,KACVnoB,YAAa,GACbooB,aAAa,EACbC,YAAaJ,qBACbK,cAAc,GAGV34C,cAAc,CAClB6vC,UAAW,gBACX0I,gBAAiB,UACjBC,SAAU,gBACVnoB,YAAa,SACbooB,YAAa,UACbC,YAAa,SACbC,aAAc,WAOhB,MAAMC,kBAAkBz3C,cACtBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKi/C,OAAS7yC,eAAeG,QAtCJ,cAsCkCvM,KAAKiL,UAChEjL,KAAKyiD,OAAS,GACdziD,KAAK0iD,eAAiB,IAAI9jD,IAC1BoB,KAAK2iD,YAAc,KAEd3iD,KAAKi/C,QACRj/C,KAAK4iD,eAGP5iD,KAAK6iD,2BACL7iD,KAAKiU,oBACP,CAGA,kBAAWtK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAqH,IAAI9N,GACF,MAAM0/C,EAAepgB,OAAOt/B,GAAO4I,OAEnC,IAAK82C,EACH,OAAO,KAIT,IAAK9iD,KAAKkL,QAAQi3C,iBAAmBniD,KAAKyiD,OAAOxgD,SAAS6gD,GACxD,OAAO,KAIT,GAA8B,OAA1B9iD,KAAKkL,QAAQk3C,UAAqBpiD,KAAKyiD,OAAO//C,QAAU1C,KAAKkL,QAAQk3C,SACvE,OAAO,KAQT,GALiB7iD,aAAaoD,QAAQ3C,KAAKiL,SAAUw2C,UAAW,CAC9Dr+C,MAAO0/C,EACP5hD,cAAelB,KAAKi/C,SAGTpwC,iBACX,OAAO,KAGT,MAAMk0C,EAAO/iD,KAAKgjD,YAAYF,GAQ9B,OAPA9iD,KAAKiL,SAAS+vB,aAAa+nB,EAAM/iD,KAAKi/C,QACtCj/C,KAAKyiD,OAAO51C,KAAKi2C,GAEjBvjD,aAAaoD,QAAQ3C,KAAKiL,SAAUwuB,aAAc,CAChDj5B,OAAQR,KAAKijD,cAGRF,CACT,CAEA9kD,OAAOilD,GACL,IAAIH,EACA3/C,EAUJ,MAR2B,iBAAhB8/C,GACT9/C,EAAQ8/C,EACRH,EAAO/iD,KAAKmjD,iBAAiB//C,KAE7B2/C,EAAOG,EACP9/C,EAAQpD,KAAKojD,cAAcL,OAGxBA,IAAS3/C,MAIM7D,aAAaoD,QAAQ3C,KAAKiL,SAAUy2C,aAAc,CACpEt+C,QACA2/C,OACA7hD,cAAelB,KAAKi/C,SAGNpwC,mBAKhB7O,KAAK0iD,eAAexkD,OAAO6kD,GACvB/iD,KAAK2iD,cAAgBI,IACvB/iD,KAAK2iD,YAAc,MAIrBI,EAAK9kD,SACL+B,KAAKyiD,OAASziD,KAAKyiD,OAAOh+C,OAAO0U,GAAKA,IAAM/V,GAE5C7D,aAAaoD,QAAQ3C,KAAKiL,SAAUwuB,aAAc,CAChDj5B,OAAQR,KAAKijD,eAGR,GACT,CAEAI,iBACE,MAAMC,EAAgB,IAAItjD,KAAK0iD,gBAC/B,IAAK,MAAMK,KAAQO,EACjBtjD,KAAK/B,OAAO8kD,GAGd/iD,KAAKi/C,QAAQjrB,OACf,CAEAivB,YACE,MAAO,IAAIjjD,KAAKyiD,OAClB,CAEAc,oBACE,MAAO,IAAIvjD,KAAK0iD,gBAAgBz2C,IAAI82C,GAAQ/iD,KAAKojD,cAAcL,GACjE,CAEA9rB,QACE,MAAMusB,EAAQp3C,eAAe3L,KAlKX,QAkK+BT,KAAKiL,UACtD,IAAK,MAAM83C,KAAQS,EACjBT,EAAK9kD,SAGP+B,KAAKyiD,OAAS,GACdziD,KAAK0iD,eAAezrB,QACpBj3B,KAAK2iD,YAAc,KAEnBpjD,aAAaoD,QAAQ3C,KAAKiL,SAAUwuB,aAAc,CAChDj5B,OAAQ,IAEZ,CAEAijD,iBACE,IAAK,MAAMV,KAAQ/iD,KAAK0iD,eACtBK,EAAKv7C,UAAUvJ,OA7KK,UAgLtB+B,KAAK0iD,eAAezrB,QACpBj3B,KAAK2iD,YAAc,KAEnBpjD,aAAaoD,QAAQ3C,KAAKiL,SAAU02C,aAAc,CAChD7oC,SAAU,IAEd,CAEA4qC,WAAWX,EAAM9lC,EAAU,IACzB,MAAM0mC,eAAEA,GAAiB,EAAKC,YAAEA,GAAc,GAAU3mC,EAClD4mC,EAAe7jD,KAAK8jD,mBAE1B,GAAKD,EAAa5hD,SAAS8gD,GAA3B,CAIA,GAAIa,GAAe5jD,KAAK2iD,YAAa,CAEnC,MAAMoB,EAAcF,EAAat6C,QAAQvJ,KAAK2iD,aACxCqB,EAAYH,EAAat6C,QAAQw5C,GACjCnpC,EAAQhU,KAAK6D,IAAIs6C,EAAaC,GAC9BnqC,EAAMjU,KAAK4D,IAAIu6C,EAAaC,GAE7BL,GACH3jD,KAAKyjD,iBAGP,IAAK,IAAI5kC,EAAIjF,EAAOiF,GAAKhF,EAAKgF,IAC5B7e,KAAK0iD,eAAexxC,IAAI2yC,EAAahlC,IACrCglC,EAAahlC,GAAGrX,UAAU0J,IA7MR,SA+MtB,MAAWyyC,EAEL3jD,KAAK0iD,eAAellD,IAAIulD,IAC1B/iD,KAAK0iD,eAAexkD,OAAO6kD,GAC3BA,EAAKv7C,UAAUvJ,OAnNG,YAqNlB+B,KAAK0iD,eAAexxC,IAAI6xC,GACxBA,EAAKv7C,UAAU0J,IAtNG,UAuNlBlR,KAAK2iD,YAAcI,IAIrB/iD,KAAKyjD,iBACLzjD,KAAK0iD,eAAexxC,IAAI6xC,GACxBA,EAAKv7C,UAAU0J,IA7NK,UA8NpBlR,KAAK2iD,YAAcI,GAGrBxjD,aAAaoD,QAAQ3C,KAAKiL,SAAU02C,aAAc,CAChD7oC,SAAU9Y,KAAKujD,qBApCjB,CAsCF,CAEAvvB,QACEh0B,KAAKi/C,QAAQjrB,OACf,CAGA8vB,mBACE,OAAO13C,eAAe3L,KAjPJ,QAiPwBT,KAAKiL,SACjD,CAEA23C,eACE,MAAM7E,EAAQh4C,SAASg1B,cAAc,SACrCgjB,EAAMt+C,KAAO,OACbs+C,EAAMnc,UAAY,aACd5hC,KAAKkL,QAAQ+uB,cACf8jB,EAAM9jB,YAAcj6B,KAAKkL,QAAQ+uB,aAGnCj6B,KAAKiL,SAASqqB,OAAOyoB,GACrB/9C,KAAKi/C,OAASlB,CAChB,CAEA8E,2BACE,MAAMoB,EAAgB73C,eAAe3L,KAjQnB,QAiQuCT,KAAKiL,UAC9D,IAAK,MAAM83C,KAAQkB,EAAe,CAChC,MAAM7gD,EAAQpD,KAAKojD,cAAcL,GAC7B3/C,IACFpD,KAAKyiD,OAAO51C,KAAKzJ,GACjBpD,KAAKkkD,WAAWnB,GAEpB,CACF,CAEAmB,WAAWnB,GAETA,EAAK7+C,aAAa,WAAY,KAG1BlE,KAAKkL,QAAQm3C,cAAgBj2C,eAAeG,QA/QtB,gBA+QqDw2C,IAC7EA,EAAKztB,OAAOt1B,KAAKmkD,uBAErB,CAEAnB,YAAY5/C,GACV,MAAM2/C,EAAOh9C,SAASg1B,cAAc,QAUpC,OATAgoB,EAAKnhB,UApRe,OAqRpBmhB,EAAKv+C,QAAQ4/C,YAAchhD,EAG3B2/C,EAAKztB,OAAOvvB,SAASs+C,eAAejhD,IAGpCpD,KAAKkkD,WAAWnB,GAETA,CACT,CAEAoB,uBACE,MAAM90C,EAAStJ,SAASg1B,cAAc,UAMtC,OALA1rB,EAAO5P,KAAO,SACd4P,EAAOuyB,UAlSqB,eAmS5BvyB,EAAOnL,aAAa,aAAc,UAClCmL,EAAOnL,aAAa,WAAY,MAChCmL,EAAO2yB,UAAYhiC,KAAKkL,QAAQo3C,YACzBjzC,CACT,CAEA8zC,iBAAiB//C,GAEf,OADcpD,KAAK8jD,mBACNrjD,KAAKsiD,GAAQ/iD,KAAKojD,cAAcL,KAAU3/C,EACzD,CAEAggD,cAAcL,GACZ,GAAIA,EAAKv+C,QAAQ4/C,YACf,OAAOrB,EAAKv+C,QAAQ4/C,YAGtB,MAAME,EAAQvB,EAAKzc,WAAU,GACvBie,EAAUn4C,eAAeG,QAvTL,gBAuToC+3C,GAK9D,OAJIC,GACFA,EAAQtmD,SAGHqmD,EAAMzoB,aAAa7vB,QAAU,EACtC,CAEAiI,qBAEE1U,aAAa2C,GAAGlC,KAAKi/C,OAAQ,UAAW9/C,GAASa,KAAKwkD,oBAAoBrlD,IAC1EI,aAAa2C,GAAGlC,KAAKi/C,OAAQ,QAAS9/C,GAASa,KAAKghD,aAAa7hD,IACjEI,aAAa2C,GAAGlC,KAAKi/C,OAAQ,QAAS9/C,GAASa,KAAKkhD,aAAa/hD,IACjEI,aAAa2C,GAAGlC,KAAKi/C,OAAQ,QAAS,IAAMj/C,KAAKyjD,kBAE7CzjD,KAAKkL,QAAQq3C,cACfhjD,aAAa2C,GAAGlC,KAAKi/C,OAAQ,OAAQ9/C,IAE9BA,EAAM+B,eAAeiG,QA1UZ,UA2UZnH,KAAKykD,yBAMXllD,aAAa2C,GAAGlC,KAAKiL,SAAU,QAjVb,QAiVqC9L,IAErD,GAAIA,EAAMY,OAAOoH,QAlVO,iBAmVtB,OAGF,MAAM47C,EAAO5jD,EAAMY,OAAOoH,QAvVV,SAwVZ47C,IACF5jD,EAAM2O,iBACN9N,KAAK0jD,WAAWX,EAAM,CACpBY,eAAgBxkD,EAAMulD,SAAWvlD,EAAMwlD,QACvCf,YAAazkD,EAAMm2C,WAErByN,EAAK/uB,WAKTz0B,aAAa2C,GAAGlC,KAAKiL,SAAU,QAlWL,gBAkWqC9L,IAC7DA,EAAMm3B,kBACN,MAAMysB,EAAO5jD,EAAMY,OAAOoH,QArWV,SAsWZ47C,IACF/iD,KAAK/B,OAAO8kD,GACZ/iD,KAAKi/C,QAAQjrB,WAKjBz0B,aAAa2C,GAAGlC,KAAKiL,SAAU,UA7Wb,QA6WuC9L,IACvDa,KAAK4kD,mBAAmBzlD,KAI1BI,aAAa2C,GAAGlC,KAAKiL,SAAU,QAAS9L,IAClCA,EAAMY,SAAWC,KAAKiL,WACxBjL,KAAKyjD,iBACLzjD,KAAKi/C,QAAQjrB,UAGnB,CAEAwwB,oBAAoBrlD,GAClB,MAAM7B,IAAEA,GAAQ6B,EAEhB,OAAQ7B,GACN,IAAK,QACH6B,EAAM2O,iBACN9N,KAAKykD,uBACL,MAGF,IAAK,YACL,IAAK,SACH,GAA0B,KAAtBzkD,KAAKi/C,OAAO77C,MAAc,CAC5BjE,EAAM2O,iBACN,MAAM01C,EAAQxjD,KAAK8jD,mBAEnB,GAAIN,EAAM9gD,OAAS,EAAG,CAEpB,MAAMmiD,EAAWrB,EAAMzC,IAAG,GAC1B/gD,KAAK0jD,WAAWmB,GAChBA,EAAS7wB,OACX,CACF,CAEA,MAGF,IAAK,YACH,GAAmC,IAA/Bh0B,KAAKi/C,OAAO6F,gBAAqD,IAA7B9kD,KAAKi/C,OAAO8F,aAAoB,CACtE5lD,EAAM2O,iBACN,MAAM01C,EAAQxjD,KAAK8jD,mBACnB,GAAIN,EAAM9gD,OAAS,EAAG,CACpB,MAAMmiD,EAAWrB,EAAMzC,IAAG,GACtB5hD,EAAMm2C,SACRt1C,KAAK0jD,WAAWmB,EAAU,CAAElB,gBAAgB,IAE5C3jD,KAAK0jD,WAAWmB,GAGlBA,EAAS7wB,OACX,CACF,CAEA,MAGF,IAAK,SACHh0B,KAAKi/C,OAAO77C,MAAQ,GACpBpD,KAAKyjD,iBACLzjD,KAAKi/C,OAAO+F,OAMlB,CAEAJ,mBAAmBzlD,GACjB,MAAM7B,IAAEA,GAAQ6B,EACV4jD,EAAO5jD,EAAMY,OAAOoH,QArbR,SAsblB,IAAK47C,EACH,OAGF,MAAMS,EAAQxjD,KAAK8jD,mBACbmB,EAAezB,EAAMj6C,QAAQw5C,GAEnC,OAAQzlD,GACN,IAAK,YACL,IAAK,SACH6B,EAAM2O,iBACN9N,KAAKklD,kBAAkBD,EAAczB,GACrC,MAGF,IAAK,YACHrkD,EAAM2O,iBACN9N,KAAKmlD,cAAc3B,EAAOyB,GAAc,EAAI9lD,EAAMm2C,UAClD,MAGF,IAAK,aACHn2C,EAAM2O,iBACN9N,KAAKmlD,cAAc3B,EAAOyB,EAAc,EAAG9lD,EAAMm2C,UACjD,MAGF,IAAK,OACHn2C,EAAM2O,iBACN9N,KAAKolD,gBAAgB5B,EAAO,EAAGrkD,EAAMm2C,UACrC,MAGF,IAAK,MAYL,IAAK,SACHn2C,EAAM2O,iBACN9N,KAAKyjD,iBACLzjD,KAAKi/C,QAAQjrB,QACb,MATF,IAAK,IACHh0B,KAAKqlD,iBAAiBlmD,EAAOqkD,GAanC,CAEA0B,kBAAkBD,EAAczB,GAC9B,GAAiC,IAA7BxjD,KAAK0iD,eAAe/kD,KACtB,OAGF,MAAMokB,EAAYnc,KAAK6D,IAAIw7C,EAAczB,EAAM9gD,OAAS1C,KAAK0iD,eAAe/kD,KAAO,GACnFqC,KAAKqjD,iBAEL,MAAMiC,EAAiBtlD,KAAK8jD,mBAC5B,GAAIwB,EAAe5iD,OAAS,EAAG,CAC7B,MAAM6iD,EAAa3/C,KAAK4D,IAAI,EAAG5D,KAAK6D,IAAIsY,EAAWujC,EAAe5iD,OAAS,IAC3E4iD,EAAeC,GAAYvxB,QAC3Bh0B,KAAK0jD,WAAW4B,EAAeC,GACjC,MACEvlD,KAAKi/C,QAAQjrB,OAEjB,CAEAmxB,cAAc3B,EAAOyB,EAAch0C,EAAWqkC,GAC5C,MAAMkQ,EAAcP,EAAeh0C,EAEnC,GAAIA,EAAY,GAAKu0C,GAAe,EAAG,CACrC,MAAMC,EAAajC,EAAMgC,GACzBxlD,KAAK0jD,WAAW+B,EAAYnQ,EAAW,CAAEqO,gBAAgB,EAAMC,aAAa,GAAS,IACrF6B,EAAWzxB,OACb,MAAO,GAAI/iB,EAAY,GAAKu0C,EAAchC,EAAM9gD,OAAQ,CACtD,MAAM+iD,EAAajC,EAAMgC,GACzBxlD,KAAK0jD,WAAW+B,EAAYnQ,EAAW,CAAEqO,gBAAgB,EAAMC,aAAa,GAAS,IACrF6B,EAAWzxB,OACb,MAAW/iB,EAAY,IACrBjR,KAAKyjD,iBACLzjD,KAAKi/C,QAAQjrB,QAEjB,CAEAoxB,gBAAgB5B,EAAOgC,EAAalQ,GAClC,GAAqB,IAAjBkO,EAAM9gD,OACR,OAGF,MAAM+iD,EAAajC,EAAMgC,GACzBxlD,KAAK0jD,WAAW+B,EAAYnQ,EAAW,CAAEsO,aAAa,GAAS,IAC/D6B,EAAWzxB,OACb,CAEAqxB,iBAAiBlmD,EAAOqkD,GACtB,GAAMrkD,EAAMulD,SAAWvlD,EAAMwlD,QAA7B,CAIAxlD,EAAM2O,iBACN,IAAK,MAAMszB,KAAKoiB,EACdxjD,KAAK0iD,eAAexxC,IAAIkwB,GACxBA,EAAE55B,UAAU0J,IA9hBQ,UAiiBtB3R,aAAaoD,QAAQ3C,KAAKiL,SAAU02C,aAAc,CAChD7oC,SAAU9Y,KAAKujD,qBATjB,CAWF,CAEAvC,aAAa7hD,GACX,MAAMiE,MAAEA,GAAUjE,EAAMY,QAClB05C,UAAEA,GAAcz5C,KAAKkL,QAE3B,GAAIuuC,GAAar2C,EAAMnB,SAASw3C,GAAY,CAC1C,MAAMzpB,EAAQ5sB,EAAMoD,MAAMizC,GAC1B,IAAK,MAAMvpB,KAAQF,EAAMxtB,MAAM,GAAG,GAChCxC,KAAKkR,IAAIgf,EAAKlkB,QAGhBhM,KAAKi/C,OAAO77C,MAAQ4sB,EAAM+wB,IAAG,EAC/B,CACF,CAEAG,aAAa/hD,GACX,MAAMs6C,UAAEA,GAAcz5C,KAAKkL,QAC3B,IAAKuuC,EACH,OAGF,MAAMiM,GAAcvmD,EAAMkiD,eAAiBn8C,OAAOm8C,eAAeC,QAAQ,QACzE,GAAIoE,EAAWzjD,SAASw3C,GAAY,CAClCt6C,EAAM2O,iBAEN,MAAMkiB,EAAQ01B,EAAWl/C,MAAMizC,GAC/B,IAAK,MAAMvpB,KAAQF,EACjBhwB,KAAKkR,IAAIgf,EAAKlkB,OAElB,CACF,CAEAy4C,uBACE,MAAMrhD,EAAQpD,KAAKi/C,OAAO77C,MAAM4I,OAC5B5I,IACFpD,KAAKkR,IAAI9N,GACTpD,KAAKi/C,OAAO77C,MAAQ,GAExB,EAOF7D,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW+O,eAAe3L,KA1lBN,wBA2lB7B+hD,UAAU72C,oBAAoBtO,KC5mBlC,MAAMsoD,uBAAyB,iBAElBC,iBAAmB,CAE9B,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAAQD,wBAC5CvjC,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/ByjC,KAAM,GACNxjC,EAAG,GACHyjC,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,GAAI,GACJC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJ/nC,EAAG,GACHzJ,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDyxC,GAAI,GACJC,GAAI,GACJvlB,EAAG,GACHwlB,IAAK,GACLhmB,EAAG,GACHimB,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACL9I,OAAQ,GACRhd,EAAG,GACH+lB,GAAI,IAIAC,cAAgB,IAAIzoD,IAAI,CAC5B,aACA,OACA,OACA,WACA,WACA,SACA,MACA,eASI0oD,iBAAmB,0DAEnBC,iBAAmBA,CAACC,EAAWC,KACnC,MAAMlY,EAAgBiY,EAAU5jC,SAAS7f,cAEzC,OAAI0jD,EAAqBxlD,SAASstC,IAC5B8X,cAAc7pD,IAAI+xC,IACb5tC,QAAQ2lD,iBAAiB38C,KAAK68C,EAAUE,YAO5CD,EAAqBhjD,OAAOkjD,GAAkBA,aAA0Bj9C,QAC5Ek9C,KAAKC,GAASA,EAAMl9C,KAAK4kC,KAGvB,SAASuY,aAAaC,EAAYC,EAAWC,GAClD,IAAKF,EAAWrlD,OACd,OAAOqlD,EAGT,GAAIE,GAAgD,mBAArBA,EAC7B,OAAOA,EAAiBF,GAG1B,MACMG,GADY,IAAIhjD,OAAOijD,WACKC,gBAAgBL,EAAY,aACxD3qC,EAAW,GAAG/Q,UAAU67C,EAAgBzhC,KAAK3mB,iBAAiB,MAEpE,IAAK,MAAMzC,KAAW+f,EAAU,CAC9B,MAAMirC,EAAchrD,EAAQumB,SAAS7f,cAErC,IAAKxD,OAAOvC,KAAKgqD,GAAW/lD,SAASomD,GAAc,CACjDhrD,EAAQY,SACR,QACF,CAEA,MAAMqqD,EAAgB,GAAGj8C,UAAUhP,EAAQiH,YACrCikD,EAAoB,GAAGl8C,OAAO27C,EAAU,MAAQ,GAAIA,EAAUK,IAAgB,IAEpF,IAAK,MAAMb,KAAac,EACjBf,iBAAiBC,EAAWe,IAC/BlrD,EAAQ+G,gBAAgBojD,EAAU5jC,SAGxC,CAEA,OAAOskC,EAAgBzhC,KAAKub,SAC9B,CCnGA,MAAMn4B,OAAO,kBAEPF,UAAU,CACdq+C,UAAWpC,iBACXte,QAAS,GACTkhB,WAAY,GACZ7+B,MAAM,EACN8+B,UAAU,EACVC,WAAY,KACZC,SAAU,eAGN/+C,cAAc,CAClBo+C,UAAW,SACX1gB,QAAS,SACTkhB,WAAY,oBACZ7+B,KAAM,UACN8+B,SAAU,UACVC,WAAY,kBACZC,SAAU,UAGNC,mBAAqB,CACzBC,MAAO,iCACPjpD,SAAU,oBAOZ,MAAMkpD,wBAAwBp/C,OAC5BW,YAAYL,GACVgB,QACAhL,KAAKkL,QAAUlL,KAAK+J,WAAWC,EACjC,CAGA,kBAAWL,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAk/C,aACE,OAAOxoD,OAAOC,OAAOR,KAAKkL,QAAQo8B,SAC/Br7B,IAAIjC,GAAUhK,KAAKgpD,yBAAyBh/C,IAC5CvF,OAAO9C,QACZ,CAEAsnD,aACE,OAAOjpD,KAAK+oD,aAAarmD,OAAS,CACpC,CAEAwmD,cAAc5hB,GAGZ,OAFAtnC,KAAKmpD,cAAc7hB,GACnBtnC,KAAKkL,QAAQo8B,QAAU,IAAKtnC,KAAKkL,QAAQo8B,WAAYA,GAC9CtnC,IACT,CAEAopD,SACE,MAAMC,EAAkBtjD,SAASg1B,cAAc,OAC/CsuB,EAAgBrnB,UAAYhiC,KAAKspD,eAAetpD,KAAKkL,QAAQy9C,UAE7D,IAAK,MAAO/oD,EAAUu8B,KAAS57B,OAAOyB,QAAQhC,KAAKkL,QAAQo8B,SACzDtnC,KAAKupD,YAAYF,EAAiBltB,EAAMv8B,GAG1C,MAAM+oD,EAAWU,EAAgB78C,SAAS,GACpCg8C,EAAaxoD,KAAKgpD,yBAAyBhpD,KAAKkL,QAAQs9C,YAM9D,OAJIA,GACFG,EAASnhD,UAAU0J,OAAOs3C,EAAWhiD,MAAM,MAGtCmiD,CACT,CAGAx+C,iBAAiBH,GACfgB,MAAMb,iBAAiBH,GACvBhK,KAAKmpD,cAAcn/C,EAAOs9B,QAC5B,CAEA6hB,cAAcK,GACZ,IAAK,MAAO5pD,EAAU0nC,KAAY/mC,OAAOyB,QAAQwnD,GAC/Cx+C,MAAMb,iBAAiB,CAAEvK,WAAUipD,MAAOvhB,GAAWshB,mBAEzD,CAEAW,YAAYZ,EAAUrhB,EAAS1nC,GAC7B,MAAM6pD,EAAkBr9C,eAAeG,QAAQ3M,EAAU+oD,GAEpDc,KAILniB,EAAUtnC,KAAKgpD,yBAAyB1hB,IAOpC5gC,YAAU4gC,GACZtnC,KAAK0pD,sBAAsB9iD,WAAW0gC,GAAUmiB,GAI9CzpD,KAAKkL,QAAQye,KACf8/B,EAAgBznB,UAAYhiC,KAAKspD,eAAehiB,GAIlDmiB,EAAgB5tB,YAAcyL,EAd5BmiB,EAAgBxrD,SAepB,CAEAqrD,eAAeE,GACb,OAAOxpD,KAAKkL,QAAQu9C,SAAWX,aAAa0B,EAAKxpD,KAAKkL,QAAQ88C,UAAWhoD,KAAKkL,QAAQw9C,YAAcc,CACtG,CAEAR,yBAAyBQ,GACvB,OAAOlhD,QAAQkhD,EAAK,MAACp5B,EAAWpwB,MAClC,CAEA0pD,sBAAsBrsD,EAASosD,GAC7B,GAAIzpD,KAAKkL,QAAQye,KAGf,OAFA8/B,EAAgBznB,UAAY,QAC5BynB,EAAgBn0B,OAAOj4B,GAIzBosD,EAAgB5tB,YAAcx+B,EAAQw+B,WACxC,EC1HF,MAAMhyB,OAAO,UACP8/C,sBAAwB,IAAI/qD,IAAI,CAAC,WAAY,YAAa,eAE1D6P,kBAAkB,OAClBm7C,iBAAmB,QACnBl7C,kBAAkB,OAElBm7C,uBAAyB,iBACzBC,eAAiB,SACjB76C,uBAAuB,6BAEvB86C,iBAAmB,gBAEnBC,cAAgB,QAChBC,cAAgB,QAChBC,cAAgB,QAChBC,eAAiB,SAEjBrzC,aAAa,OACbC,eAAe,SACfH,aAAa,OACbC,cAAc,QACduzC,eAAiB,WACjBC,cAAc,QACdC,gBAAgB,UAChBC,iBAAiB,WACjBv4C,mBAAmB,aACnBC,iBAAmB,aAEnBu4C,cAAgB,CACpBC,KAAM,OACNC,IAAK,MACLC,MAAOviD,UAAU,OAAS,QAC1BwiD,OAAQ,SACRC,KAAMziD,UAAU,QAAU,QAGtBuB,UAAU,CACdq+C,UAAWpC,iBACXkF,WAAW,EACXxtC,SAAU,kBACVoV,WAAW,EACXq4B,YAAa,GACbC,MAAO,EACPjqC,mBAAoB,CAAC,MAAO,QAAS,SAAU,QAC/C4I,MAAM,EACNvJ,OAAQ,CAAC,EAAG,GACZnG,UAAW,MACX0Y,eAAgB,KAChB81B,UAAU,EACVC,WAAY,KACZ9oD,UAAU,EACV+oD,SAAU,+GAIVsC,MAAO,GACPtoD,QAAS,eAGLiH,cAAc,CAClBo+C,UAAW,SACX8C,UAAW,UACXxtC,SAAU,mBACVoV,UAAW,2BACXq4B,YAAa,oBACbC,MAAO,kBACPjqC,mBAAoB,QACpB4I,KAAM,UACNvJ,OAAQ,0BACRnG,UAAW,oBACX0Y,eAAgB,yBAChB81B,SAAU,UACVC,WAAY,kBACZ9oD,SAAU,mBACV+oD,SAAU,SACVsC,MAAO,4BACPtoD,QAAS,UAOX,MAAMuoD,gBAAgBngD,cACpBV,YAAYhN,EAAS2M,GAKnBgB,MAAM3N,EAAS2M,GAGfhK,KAAKmrD,YAAa,EAClBnrD,KAAKorD,SAAW,EAChBprD,KAAKqrD,WAAa,KAClBrrD,KAAKsrD,eAAiB,GACtBtrD,KAAKizB,iBAAmB,KACxBjzB,KAAKurD,iBAAmB,KACxBvrD,KAAKwrD,YAAc,KACnBxrD,KAAKkzB,qBAAuB,GAC5BlzB,KAAKmzB,sBAAwB,KAG7BnzB,KAAKyrD,IAAM,KAEXzrD,KAAK4zB,6BACL5zB,KAAK0rD,gBAEA1rD,KAAKkL,QAAQtL,UAChBI,KAAK2rD,WAET,CAGA,kBAAWhiD,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGA+hD,SACE5rD,KAAKmrD,YAAa,CACpB,CAEAU,UACE7rD,KAAKmrD,YAAa,CACpB,CAEAW,gBACE9rD,KAAKmrD,YAAcnrD,KAAKmrD,UAC1B,CAEA/7C,SACOpP,KAAKmrD,aAINnrD,KAAKkY,WACPlY,KAAK+rD,SAIP/rD,KAAKgsD,SACP,CAEA5gD,UACEoK,aAAaxV,KAAKorD,UAElB7rD,aAAaC,IAAIQ,KAAKiL,SAAS9D,QApJZ,UAGE,gBAiJqDnH,KAAKisD,mBAE3EjsD,KAAKiL,SAASpG,aAAa,2BAC7B7E,KAAKiL,SAAS/G,aAAa,QAASlE,KAAKiL,SAASpG,aAAa,2BAGjE7E,KAAKo0B,mBACLp0B,KAAKs0B,8BACLtpB,MAAMI,SACR,CAEA,UAAMgN,GACJ,GAAoC,SAAhCpY,KAAKiL,SAASyN,MAAM6L,QACtB,MAAM,IAAIza,MAAM,uCAGlB,IAAM9J,KAAKksD,mBAAoBlsD,KAAKmrD,WAClC,OAGF,MAAMjQ,EAAY37C,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UA5JxD,SA8JTugD,GADaxkD,eAAe3H,KAAKiL,WACLjL,KAAKiL,SAAS8Y,cAAcnc,iBAAiBzG,SAASnB,KAAKiL,UAE7F,GAAIiwC,EAAUrsC,mBAAqBs9C,EACjC,OAGFnsD,KAAKo0B,mBAEL,MAAMq3B,EAAMzrD,KAAKosD,iBAEjBpsD,KAAKiL,SAAS/G,aAAa,mBAAoBunD,EAAI5mD,aAAa,OAEhE,IAAI6tB,UAAEA,GAAc1yB,KAAKkL,QACzB,MAAMmhD,EAAgBrsD,KAAKiL,SAAS9D,QAAQ,gBAkB5C,GAjBIklD,GAAiB35B,IAAc3sB,SAAS0gB,OAC1CiM,EAAY25B,GAGTrsD,KAAKiL,SAAS8Y,cAAcnc,gBAAgBzG,SAASnB,KAAKyrD,OAC7D/4B,EAAU4C,OAAOm2B,GACjBlsD,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UAhLpC,oBAmLb5L,KAAK+zB,gBAAgB03B,GAE3BA,EAAIjkD,UAAU0J,IAtMM,QA4MhB,iBAAkBnL,SAAS6B,gBAC7B,IAAK,MAAMvK,IAAW,GAAGgP,UAAUtG,SAAS0gB,KAAKja,UAC/CjN,aAAa2C,GAAG7E,EAAS,YAAa4K,MAc1CjI,KAAKwL,eAVYoN,KACfrZ,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UAnMvC,WAqMU,IAApB5L,KAAKqrD,YACPrrD,KAAK+rD,SAGP/rD,KAAKqrD,YAAa,GAGUrrD,KAAKyrD,IAAKzrD,KAAKuW,cAC/C,CAEA4B,OACE,GAAKnY,KAAKkY,aAIQ3Y,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UAvNxD,SAwNDiD,iBAAd,CASA,GALY7O,KAAKosD,iBACb5kD,UAAUvJ,OA1OM,QA8OhB,iBAAkB8H,SAAS6B,gBAC7B,IAAK,MAAMvK,IAAW,GAAGgP,UAAUtG,SAAS0gB,KAAKja,UAC/CjN,aAAaC,IAAInC,EAAS,YAAa4K,MAI3CjI,KAAKsrD,eAA4B,OAAI,EACrCtrD,KAAKsrD,eAA4B,OAAI,EACrCtrD,KAAKsrD,eAA4B,OAAI,EACrCtrD,KAAKqrD,WAAa,KAelBrrD,KAAKwL,eAbYoN,KACX5Y,KAAKssD,yBAIJtsD,KAAKqrD,YACRrrD,KAAKo0B,mBAGPp0B,KAAKiL,SAAS7G,gBAAgB,oBAC9B7E,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UArPtC,aAwPa5L,KAAKyrD,IAAKzrD,KAAKuW,cA/B7C,CAgCF,CAEAkX,SACMztB,KAAKizB,kBAAoBjzB,KAAKyrD,KAChCzrD,KAAKy0B,yBAET,CAGAy3B,iBACE,OAAOvqD,QAAQ3B,KAAKusD,YACtB,CAEAH,iBAKE,OAJKpsD,KAAKyrD,MACRzrD,KAAKyrD,IAAMzrD,KAAKwsD,kBAAkBxsD,KAAKwrD,aAAexrD,KAAKysD,2BAGtDzsD,KAAKyrD,GACd,CAEAe,kBAAkBllB,GAChB,MAAMmkB,EAAMzrD,KAAK0sD,oBAAoBplB,GAAS8hB,SAE9CqC,EAAIjkD,UAAUvJ,OAjSM,OAEA,QAgSpBwtD,EAAIjkD,UAAU0J,IAAI,MAAMlR,KAAKqK,YAAYR,aAEzC,MAAM8iD,EAAQjnD,OAAO1F,KAAKqK,YAAYR,MAAMpG,WAQ5C,OANAgoD,EAAIvnD,aAAa,KAAMyoD,GAEnB3sD,KAAKuW,eACPk1C,EAAIjkD,UAAU0J,IAzSI,QA4Sbu6C,CACT,CAEAmB,WAAWtlB,GACTtnC,KAAKwrD,YAAclkB,EACftnC,KAAKkY,aACPlY,KAAKo0B,mBACLp0B,KAAKoY,OAET,CAEAs0C,oBAAoBplB,GAalB,OAZItnC,KAAKurD,iBACPvrD,KAAKurD,iBAAiBrC,cAAc5hB,GAEpCtnC,KAAKurD,iBAAmB,IAAIzC,gBAAgB,IACvC9oD,KAAKkL,QAGRo8B,UACAkhB,WAAYxoD,KAAKgpD,yBAAyBhpD,KAAKkL,QAAQ6/C,eAIpD/qD,KAAKurD,gBACd,CAEAkB,yBACE,MAAO,CACL5C,CAACA,wBAAyB7pD,KAAKusD,YAEnC,CAEAA,YACE,OAAOvsD,KAAKgpD,yBAAyBhpD,KAAKkL,QAAQ+/C,QAAUjrD,KAAKiL,SAASpG,aAAa,yBACzF,CAGAgoD,6BAA6B1tD,GAC3B,OAAOa,KAAKqK,YAAYsB,oBAAoBxM,EAAME,eAAgBW,KAAK8sD,qBACzE,CAEAv2C,cACE,OAAOvW,KAAKkL,QAAQ4/C,WAAc9qD,KAAKyrD,KAAOzrD,KAAKyrD,IAAIjkD,UAAUrG,SAvV7C,OAwVtB,CAEA+W,WACE,OAAOlY,KAAKyrD,KAAOzrD,KAAKyrD,IAAIjkD,UAAUrG,SAzVlB,OA0VtB,CAEAwzB,cAAc82B,GAEZ,GAAIzrD,KAAKmzB,sBAAuB,CAC9B,MAAMlZ,EAAYoW,uBAAuBrwB,KAAKmzB,sBAAuB,OACrE,OAAOq3B,cAAcvwC,EAAUpP,gBAAkBoP,CACnD,CAGA,MAAMA,EAAY3R,QAAQtI,KAAKkL,QAAQ+O,UAAW,CAACja,KAAMyrD,EAAKzrD,KAAKiL,WACnE,OAAOu/C,cAAcvwC,EAAUpP,gBAAkBoP,CACnD,CAEA2Z,6BAEwC,iBAA3B5zB,KAAKkL,QAAQ+O,WAKxBja,KAAKmzB,sBAAwBtD,yBAAyB7vB,KAAKkL,QAAQ+O,UAAW,OAE1Eja,KAAKmzB,uBACPnzB,KAAK+0B,6BAPL/0B,KAAKmzB,sBAAwB,IASjC,CAEA4B,4BACE/0B,KAAKs0B,8BACLt0B,KAAKkzB,qBAAuBvC,0BAA0B,KAChD3wB,KAAKkY,YACPlY,KAAKy0B,2BAGX,CAEAH,8BACEtD,2BAA2BhxB,KAAKkzB,sBAChClzB,KAAKkzB,qBAAuB,EAC9B,CAEA,qBAAMa,CAAgB03B,GACpB,MAAMxxC,EAAYja,KAAK20B,cAAc82B,GAC/BsB,EAAetB,EAAI5kD,cAAc,IAAI7G,KAAKqK,YAAYR,oBAGtD7J,KAAKy0B,wBAAwBg3B,EAAKxxC,EAAW8yC,GAGnD/sD,KAAKizB,iBAAmBzF,WACtBxtB,KAAKiL,SACLwgD,EACA,IAAMzrD,KAAKy0B,wBAAwBg3B,EAAK,KAAMsB,GAElD,CAEA,6BAAMt4B,CAAwBg3B,EAAMzrD,KAAKyrD,IAAKxxC,EAAY,KAAM8yC,EAAe,MAC7E,IAAKtB,EACH,OAGGxxC,IACHA,EAAYja,KAAK20B,cAAc82B,IAG5BsB,IACHA,EAAetB,EAAI5kD,cAAc,IAAI7G,KAAKqK,YAAYR,eAGxD,MAAM0U,EAAave,KAAK40B,uBAAuBm4B,GACzCp6B,EAAiB3yB,KAAK60B,mBAAmB5a,EAAWsE,IAEpDnF,EAAEA,EAACC,EAAEA,EAAGY,UAAWub,EAAc5W,eAAEA,SAAyBN,gBAChEte,KAAKiL,SACLwgD,EACA94B,GAoBF,GAhBApyB,OAAOk1B,OAAOg2B,EAAI/yC,MAAO,CACvBsS,SAAU,WACVzR,KAAM,GAAGH,MACTM,IAAK,GAAGL,QAIN0zC,IACFA,EAAar0C,MAAMsS,SAAW,YAIhChnB,YAAYC,iBAAiBwnD,EAAK,YAAaj2B,GAI3Cu3B,GAAgBnuC,EAAeO,MAAO,CACxC,MAAQ/F,EAAG4zC,EAAQ3zC,EAAG4zC,GAAWruC,EAAeO,MAC1C1C,EAAa+Y,EAAelzB,WAAW,QAAUkzB,EAAelzB,WAAW,UAIjF/B,OAAOk1B,OAAOs3B,EAAar0C,MAAO,CAChCa,KAAMkD,GAAyB,OAAXuwC,EAAkB,GAAGA,MAAa,GACtDtzC,IAAM+C,GAAyB,OAAXwwC,EAAkC,GAAhB,GAAGA,MAEzCzzC,MAAO,GACPC,OAAQ,IAEZ,CACF,CAEAub,aACE,MAAM5U,OAAEA,GAAWpgB,KAAKkL,QAExB,MAAsB,iBAAXkV,EACFA,EAAO5Z,MAAM,KAAKyF,IAAI7I,GAASI,OAAOqS,SAASzS,EAAO,KAGzC,mBAAXgd,EAEF,EAAGnG,YAAWS,WACJ0F,EAAO,CAAEnG,YAAWc,UAAWL,EAAMK,UAAWC,SAAUN,EAAMM,UAAYhb,KAAKiL,UAK7FmV,CACT,CAEA4oC,yBAAyBQ,GACvB,OAAOlhD,QAAQkhD,EAAK,CAACxpD,KAAKiL,SAAUjL,KAAKiL,UAC3C,CAEA2pB,uBAAuBm4B,GACrB,MAAM73B,EAAcl1B,KAAKg1B,aAEnBzW,EAAa,CAEjB6B,OACyB,mBAAhB8U,EACLA,EACA,CAAEvU,SAAUuU,EAAY,IAAM,EAAGrU,UAAWqU,EAAY,IAAM,IAGlE1U,KAAK,CACHO,mBAAoB/gB,KAAKkL,QAAQ6V,qBAGnCkC,MAAM,CACJ3F,SAAoC,oBAA1Btd,KAAKkL,QAAQoS,SAAiC,oBAAsBtd,KAAKkL,QAAQoS,YAS/F,OAJIyvC,GACFxuC,EAAW1R,KAAKsS,MAAM,CAAE9hB,QAAS0vD,KAG5BxuC,CACT,CAEAsW,mBAAmB5a,EAAWsE,GAC5B,MAAM6W,EAAgB,CACpBnb,YACAsE,cAGF,MAAO,IACF6W,KACA9sB,QAAQtI,KAAKkL,QAAQynB,eAAgB,MAACvC,EAAWgF,IAExD,CAEAs2B,gBACE,MAAMwB,EAAWltD,KAAKkL,QAAQvI,QAAQ6D,MAAM,KAE5C,IAAK,MAAM7D,KAAWuqD,EACpB,GAAgB,UAAZvqD,EACFpD,aAAa2C,GAAGlC,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UA3fpC,SA2f4D5L,KAAKkL,QAAQtL,SAAUT,IAC7F,MAAM++B,EAAUl+B,KAAK6sD,6BAA6B1tD,GAClD++B,EAAQotB,eAA4B,QAAMptB,EAAQhmB,YAAcgmB,EAAQotB,eAA4B,OACpGptB,EAAQ9uB,gBAEL,GAvgBU,WAugBNzM,EAA4B,CACrC,MAAMwqD,EA3gBQ,UA2gBExqD,EACd3C,KAAKqK,YAAYuB,UA/fF,cAggBf5L,KAAKqK,YAAYuB,UAlgBL,WAmgBRwhD,EA9gBQ,UA8gBGzqD,EACf3C,KAAKqK,YAAYuB,UAjgBF,cAkgBf5L,KAAKqK,YAAYuB,UApgBJ,YAsgBfrM,aAAa2C,GAAGlC,KAAKiL,SAAUkiD,EAASntD,KAAKkL,QAAQtL,SAAUT,IAC7D,MAAM++B,EAAUl+B,KAAK6sD,6BAA6B1tD,GAClD++B,EAAQotB,eAA8B,YAAfnsD,EAAMM,KAnhBjB,QADA,UAohBuE,EACnFy+B,EAAQ8tB,WAEVzsD,aAAa2C,GAAGlC,KAAKiL,SAAUmiD,EAAUptD,KAAKkL,QAAQtL,SAAUT,IAC9D,MAAM++B,EAAUl+B,KAAK6sD,6BAA6B1tD,GAClD++B,EAAQotB,eAA8B,aAAfnsD,EAAMM,KAxhBjB,QADA,SA0hBVy+B,EAAQjzB,SAAS9J,SAAShC,EAAM+B,eAElCg9B,EAAQ6tB,UAEZ,CAGF/rD,KAAKisD,kBAAoB,KACnBjsD,KAAKiL,UACPjL,KAAKmY,QAIT5Y,aAAa2C,GAAGlC,KAAKiL,SAAS9D,QA5iBX,UAGE,gBAyiBoDnH,KAAKisD,kBAChF,CAEAN,YACE,MAAMV,EAAQjrD,KAAKiL,SAASpG,aAAa,SAEpComD,IAIAjrD,KAAKiL,SAASpG,aAAa,eAAkB7E,KAAKiL,SAAS4wB,YAAY7vB,QAC1EhM,KAAKiL,SAAS/G,aAAa,aAAc+mD,GAG3CjrD,KAAKiL,SAAS/G,aAAa,yBAA0B+mD,GACrDjrD,KAAKiL,SAAS7G,gBAAgB,SAChC,CAEA4nD,SACMhsD,KAAKkY,YAAclY,KAAKqrD,WAC1BrrD,KAAKqrD,YAAa,GAIpBrrD,KAAKqrD,YAAa,EAElBrrD,KAAKqtD,YAAY,KACXrtD,KAAKqrD,YACPrrD,KAAKoY,QAENpY,KAAKkL,QAAQ8/C,MAAM5yC,MACxB,CAEA2zC,SACM/rD,KAAKssD,yBAITtsD,KAAKqrD,YAAa,EAElBrrD,KAAKqtD,YAAY,KACVrtD,KAAKqrD,YACRrrD,KAAKmY,QAENnY,KAAKkL,QAAQ8/C,MAAM7yC,MACxB,CAEAk1C,YAAYnuD,EAASouD,GACnB93C,aAAaxV,KAAKorD,UAClBprD,KAAKorD,SAAWriD,WAAW7J,EAASouD,EACtC,CAEAhB,uBACE,OAAO/rD,OAAOC,OAAOR,KAAKsrD,gBAAgBrpD,UAAS,EACrD,CAEA8H,WAAWC,GACT,MAAMujD,EAAiBvpD,YAAYK,kBAAkBrE,KAAKiL,UAE1D,IAAK,MAAMuiD,KAAiBjtD,OAAOvC,KAAKuvD,GAClC5D,sBAAsBnsD,IAAIgwD,WACrBD,EAAeC,GAW1B,OAPAxjD,EAAS,IACJujD,KACmB,iBAAXvjD,GAAuBA,EAASA,EAAS,IAEtDA,EAAShK,KAAKiK,gBAAgBD,GAC9BA,EAAShK,KAAKkK,kBAAkBF,GAChChK,KAAKmK,iBAAiBH,GACfA,CACT,CAEAE,kBAAkBF,GAkBhB,OAjBAA,EAAO0oB,WAAiC,IAArB1oB,EAAO0oB,UAAsB3sB,SAAS0gB,KAAO7f,WAAWoD,EAAO0oB,WAEtD,iBAAjB1oB,EAAOghD,QAChBhhD,EAAOghD,MAAQ,CACb5yC,KAAMpO,EAAOghD,MACb7yC,KAAMnO,EAAOghD,QAIW,iBAAjBhhD,EAAOihD,QAChBjhD,EAAOihD,MAAQjhD,EAAOihD,MAAMxnD,YAGA,iBAAnBuG,EAAOs9B,UAChBt9B,EAAOs9B,QAAUt9B,EAAOs9B,QAAQ7jC,YAG3BuG,CACT,CAEA8iD,qBACE,MAAM9iD,EAAS,GAEf,IAAK,MAAO1M,EAAK8F,KAAU7C,OAAOyB,QAAQhC,KAAKkL,SACzClL,KAAKqK,YAAYV,QAAQrM,KAAS8F,IACpC4G,EAAO1M,GAAO8F,GAUlB,OANA4G,EAAOpK,UAAW,EAClBoK,EAAOrH,QAAU,SAKVqH,CACT,CAEAoqB,mBACMp0B,KAAKizB,mBACPjzB,KAAKizB,mBACLjzB,KAAKizB,iBAAmB,MAGtBjzB,KAAKyrD,MACPzrD,KAAKyrD,IAAIxtD,SACT+B,KAAKyrD,IAAM,KAEf,EAOF,MAAMgC,YAActuD,IAClB,MAAMY,EAASZ,EAAMY,OAAOoH,QAAQ8H,wBACpC,IAAKlP,EACH,OAIF,MAAM2tD,EAAUxC,QAAQv/C,oBAAoB5L,GAGzB,YAAfZ,EAAMM,OACRiuD,EAAQpC,eAAet3B,OAAQ,EAC/B05B,EAAQ1B,WAIZzsD,aAAa2C,GAAG6D,SA/qBM,UA+qBmBkJ,uBAAsBw+C,aAC/DluD,aAAa2C,GAAG6D,SA9qBS,aA8qBmBkJ,uBAAsBw+C,aC5tBlE,MAAM5jD,OAAO,UAEP8jD,eAAiB,kBACjBC,iBAAmB,gBACnB3+C,uBAAuB,6BAEvBo7C,cAAc,QACdC,gBAAgB,UAChBt4C,iBAAmB,aAEnBrI,UAAU,IACXuhD,QAAQvhD,QACX29B,QAAS,GACTlnB,OAAQ,CAAC,EAAG,GACZnG,UAAW,QACX0uC,SAAU,8IAKVhmD,QAAS,SAGLiH,cAAc,IACfshD,QAAQthD,YACX09B,QAAS,kCAOX,MAAMumB,gBAAgB3C,QAEpB,kBAAWvhD,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAqiD,iBACE,OAAOlsD,KAAKusD,aAAevsD,KAAK8tD,aAClC,CAGArB,yBACE,MAAO,CACLkB,CAACA,gBAAiB3tD,KAAKusD,YACvBqB,CAACA,kBAAmB5tD,KAAK8tD,cAE7B,CAEAA,cACE,OAAO9tD,KAAKgpD,yBAAyBhpD,KAAKkL,QAAQo8B,QACpD,EAOF,MAAMymB,YAAc5uD,IAClB,MAAMY,EAASZ,EAAMY,OAAOoH,QAAQ8H,wBACpC,IAAKlP,EACH,OAIiB,UAAfZ,EAAMM,MACRN,EAAM2O,iBAIR,MAAMkgD,EAAUH,QAAQliD,oBAAoB5L,GAGzB,UAAfZ,EAAMM,KACRuuD,EAAQ5+C,SACgB,YAAfjQ,EAAMM,OACfuuD,EAAQ1C,eAAet3B,OAAQ,EAC/Bg6B,EAAQhC,WAKZzsD,aAAa2C,GAAG6D,SAtFI,QAsFmBkJ,uBAAsB8+C,aAC7DxuD,aAAa2C,GAAG6D,SAtFM,UAsFmBkJ,uBAAsB8+C,aAC/DxuD,aAAa2C,GAAG6D,SAtFS,aAsFmBkJ,uBAAsB8+C,aC1FlE,MAAMlkD,OAAO,YACPsB,WAAW,eACXE,YAAY,IAAIF,aAChB4D,aAAe,YAEfk/C,eAAiB,WAAW5iD,cAC5Bg/C,cAAc,QAAQh/C,cACtB8G,sBAAsB,OAAO9G,uBAE7B6iD,qBAAuB,YACvBl/C,oBAAoB,SAEpBm/C,kBAAoB,yBACpBC,sBAAwB,SACxBC,wBAA0B,oBAC1BC,mBAAqB,YACrBC,mBAAqB,YACrBC,oBAAsB,mBACtBC,oBAAsB,qDACtBC,uBAAuB,0BAEvB/kD,UAAU,CACdsjB,WAAY,eACZ0hC,cAAc,EACd5uD,OAAQ,KACRgtB,UAAW,CAAC,GAAK,GAAK,IAGlBnjB,cAAc,CAClBqjB,WAAY,SACZ0hC,aAAc,UACd5uD,OAAQ,UACRgtB,UAAW,SAOb,MAAM6hC,kBAAkB7jD,cACtBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAGfhK,KAAK6uD,aAAe,IAAI3xD,IACxB8C,KAAK8uD,oBAAsB,IAAI5xD,IAC/B8C,KAAK+uD,aAA6D,YAA9C3oD,iBAAiBpG,KAAKiL,UAAUqZ,UAA0B,KAAOtkB,KAAKiL,SAC1FjL,KAAKgvD,cAAgB,KACrBhvD,KAAKivD,UAAY,KACjBjvD,KAAKkvD,oBAAsB,CACzBC,gBAAiB,EACjBC,gBAAiB,GAEnBpvD,KAAK6sB,SACP,CAGA,kBAAWljB,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAgjB,UACE7sB,KAAKqvD,mCACLrvD,KAAKsvD,2BAEDtvD,KAAKivD,UACPjvD,KAAKivD,UAAUriC,aAEf5sB,KAAKivD,UAAYjvD,KAAKuvD,kBAGxB,IAAK,MAAMC,KAAWxvD,KAAK8uD,oBAAoBtuD,SAC7CR,KAAKivD,UAAU1hC,QAAQiiC,EAE3B,CAEApkD,UACEpL,KAAKivD,UAAUriC,aACf5hB,MAAMI,SACR,CAGAlB,kBAAkBF,GAOhB,OANAA,EAAOjK,OAAS6G,WAAWoD,EAAOjK,SAAWgG,SAAS0gB,KAEtB,iBAArBzc,EAAO+iB,YAChB/iB,EAAO+iB,UAAY/iB,EAAO+iB,UAAUvmB,MAAM,KAAKyF,IAAI7I,GAASI,OAAO8C,WAAWlD,KAGzE4G,CACT,CAEAslD,2BACOtvD,KAAKkL,QAAQyjD,eAKlBpvD,aAAaC,IAAIQ,KAAKkL,QAAQnL,OAAQsqD,eAEtC9qD,aAAa2C,GAAGlC,KAAKkL,QAAQnL,OAAQsqD,cAhGX,SAgG+ClrD,IACvE,MAAMswD,EAAoBzvD,KAAK8uD,oBAAoBpxD,IAAIyB,EAAMY,OAAO2vD,MACpE,GAAID,EAAmB,CACrBtwD,EAAM2O,iBACN,MAAM/F,EAAO/H,KAAK+uD,cAAgB7pD,OAC5BkX,EAASqzC,EAAkB1nC,UAAY/nB,KAAKiL,SAAS8c,UAC3D,GAAIhgB,EAAK4nD,SAEP,YADA5nD,EAAK4nD,SAAS,CAAEj2C,IAAK0C,EAAQwzC,SAAU,WAKzC7nD,EAAKme,UAAY9J,CACnB,IAEJ,CAEAmzC,kBACE,MAAMtyC,EAAU,CACdlV,KAAM/H,KAAK+uD,aACXhiC,UAAW/sB,KAAKkL,QAAQ6hB,UACxBE,WAAYjtB,KAAKkL,QAAQ+hB,YAG3B,OAAO,IAAIK,qBAAqBtrB,GAAWhC,KAAK6vD,kBAAkB7tD,GAAUib,EAC9E,CAGA4yC,kBAAkB7tD,GAChB,MAAM8tD,EAAgBjH,GAAS7oD,KAAK6uD,aAAanxD,IAAI,IAAImrD,EAAM9oD,OAAOuF,MAChEyqD,EAAWlH,IACf7oD,KAAKkvD,oBAAoBC,gBAAkBtG,EAAM9oD,OAAOgoB,UACxD/nB,KAAKgwD,SAASF,EAAcjH,KAGxBuG,GAAmBpvD,KAAK+uD,cAAgBhpD,SAAS6B,iBAAiBse,UAClE+pC,EAAkBb,GAAmBpvD,KAAKkvD,oBAAoBE,gBACpEpvD,KAAKkvD,oBAAoBE,gBAAkBA,EAE3C,IAAK,MAAMvG,KAAS7mD,EAAS,CAC3B,IAAK6mD,EAAMqH,eAAgB,CACzBlwD,KAAKgvD,cAAgB,KACrBhvD,KAAKmwD,kBAAkBL,EAAcjH,IAErC,QACF,CAEA,MAAMuH,EAA2BvH,EAAM9oD,OAAOgoB,WAAa/nB,KAAKkvD,oBAAoBC,gBAEpF,GAAIc,GAAmBG,GAGrB,GAFAL,EAASlH,IAEJuG,EACH,YAOCa,GAAoBG,GACvBL,EAASlH,EAEb,CACF,CAEAwG,mCACErvD,KAAK6uD,aAAe,IAAI3xD,IACxB8C,KAAK8uD,oBAAsB,IAAI5xD,IAE/B,MAAMmzD,EAAcjkD,eAAe3L,KAtKT,SAsKqCT,KAAKkL,QAAQnL,QAE5E,IAAK,MAAMuwD,KAAUD,EAAa,CAEhC,IAAKC,EAAOZ,MAAQroD,WAAWipD,GAC7B,SAGF,MAAMb,EAAoBrjD,eAAeG,QAAQgkD,UAAUD,EAAOZ,MAAO1vD,KAAKiL,UAG1EnE,UAAU2oD,KACZzvD,KAAK6uD,aAAazxD,IAAImzD,UAAUD,EAAOZ,MAAOY,GAC9CtwD,KAAK8uD,oBAAoB1xD,IAAIkzD,EAAOZ,KAAMD,GAE9C,CACF,CAEAO,SAASjwD,GACHC,KAAKgvD,gBAAkBjvD,IAI3BC,KAAKmwD,kBAAkBnwD,KAAKkL,QAAQnL,QACpCC,KAAKgvD,cAAgBjvD,EACrBA,EAAOyH,UAAU0J,IAlMK,UAmMtBlR,KAAKwwD,iBAAiBzwD,GAEtBR,aAAaoD,QAAQ3C,KAAKiL,SAAUgjD,eAAgB,CAAE/sD,cAAenB,IACvE,CAEAywD,iBAAiBzwD,GAEf,GAAIA,EAAOyH,UAAUrG,SA3MI,aA2M4B,CACnD,MAAMsvD,EAAa1wD,EAAOoH,QAAQ,UAAU6F,uBAK5C,YAJIyjD,GAAY/jD,QAAQgiD,yBACtB+B,EAAWjpD,UAAU0J,IA7MH,UAiNtB,CAEA,IAAK,MAAMw/C,KAAatkD,eAAeO,QAAQ5M,EA/MnB,qBAkN1B,IAAK,MAAMs7B,KAAQjvB,eAAeU,KAAK4jD,EAAWjC,qBAChDpzB,EAAK7zB,UAAU0J,IAvNG,SA0NxB,CAEAi/C,kBAAkB34C,GAChBA,EAAOhQ,UAAUvJ,OA7NK,UA+NtB,MAAM0yD,EAAcvkD,eAAe3L,KAAK,gBAAiD+W,GACzF,IAAK,MAAMkM,KAAQitC,EACjBjtC,EAAKlc,UAAUvJ,OAjOK,SAmOxB,EAOFsB,aAAa2C,GAAGgD,OAAQiN,sBAAqB,KAC3C,IAAK,MAAMy+C,KAAOxkD,eAAe3L,KAAK0tD,mBACpCS,UAAUjjD,oBAAoBilD,KCxPlC,MAAM/mD,OAAO,MACPsB,WAAW,SACXE,YAAY,UAEZyL,aAAa,cACbC,eAAe,gBACfH,aAAa,cACbC,cAAc,eACd3H,qBAAuB,eACvB6C,cAAgB,iBAChBI,oBAAsB,cAEtBb,eAAiB,YACjBC,gBAAkB,aAClB4f,aAAe,UACfC,eAAiB,YACjBC,SAAW,OACXC,QAAU,MAEVtiB,kBAAoB,SACpBP,kBAAkB,OAClBC,kBAAkB,OAClBggD,qBAAuB,0BACvB78B,cAAgB,QAChBg/B,yBAA2B,QAAQnC,wBAEnCoC,mBAAqB,sCACrBC,eAAiB,8BACjBC,eAAiB,YAAYH,6CAA6CA,yCAAyCA,2BACnH5hD,uBAAuB,yBACvBgiD,oBAAsB,GAAGD,mBAAmB/hD,yBAE5CiiD,4BAA8B,gCAMpC,MAAMC,YAAYpmD,cAChBV,YAAYhN,GACV2N,MAAM3N,GACN2C,KAAKozB,QAAUpzB,KAAKiL,SAAS9D,QAAQ2pD,oBAEhC9wD,KAAKozB,UAOVpzB,KAAKoxD,sBAAsBpxD,KAAKozB,QAASpzB,KAAKqxD,gBAE9C9xD,aAAa2C,GAAGlC,KAAKiL,SAAU8G,cAAe5S,GAASa,KAAKkV,SAAS/V,IACvE,CAGA,eAAW0K,GACT,MAzDS,KA0DX,CAGAuO,OACE,MAAMk5C,EAAYtxD,KAAKiL,SACvB,GAAIjL,KAAKuxD,cAAcD,GACrB,OAIF,MAAME,EAASxxD,KAAKyxD,iBAEdC,EAAYF,EAChBjyD,aAAaoD,QAAQ6uD,EAAQ16C,aAAY,CAAE5V,cAAeowD,IAC1D,KAEgB/xD,aAAaoD,QAAQ2uD,EAAW16C,aAAY,CAAE1V,cAAeswD,IAEjE3iD,kBAAqB6iD,GAAaA,EAAU7iD,mBAI1D7O,KAAK2xD,YAAYH,EAAQF,GACzBtxD,KAAK4xD,UAAUN,EAAWE,GAC5B,CAGAI,UAAUv0D,EAASw0D,GACZx0D,IAILA,EAAQmK,UAAU0J,IAvEI,UAyEtBlR,KAAK4xD,UAAUxlD,eAAemB,uBAAuBlQ,IAgBrD2C,KAAKwL,eAdYoN,KACsB,QAAjCvb,EAAQwH,aAAa,SAKzBxH,EAAQ+G,gBAAgB,YACxB/G,EAAQ6G,aAAa,iBAAiB,GACtClE,KAAK8xD,YAAYz0D,GAAS,GAC1BkC,aAAaoD,QAAQtF,EAASwZ,cAAa,CACzC3V,cAAe2wD,KARfx0D,EAAQmK,UAAU0J,IA3EF,SAuFU7T,EAASA,EAAQmK,UAAUrG,SAxFrC,SAyFtB,CAEAwwD,YAAYt0D,EAASw0D,GACdx0D,IAILA,EAAQmK,UAAUvJ,OAjGI,UAkGtBZ,EAAQ2nD,OAERhlD,KAAK2xD,YAAYvlD,eAAemB,uBAAuBlQ,IAcvD2C,KAAKwL,eAZYoN,KACsB,QAAjCvb,EAAQwH,aAAa,SAKzBxH,EAAQ6G,aAAa,iBAAiB,GACtC7G,EAAQ6G,aAAa,WAAY,MACjClE,KAAK8xD,YAAYz0D,GAAS,GAC1BkC,aAAaoD,QAAQtF,EAAS0Z,eAAc,CAAE7V,cAAe2wD,KAP3Dx0D,EAAQmK,UAAUvJ,OAtGF,SAgHUZ,EAASA,EAAQmK,UAAUrG,SAjHrC,SAkHtB,CAEA+T,SAAS/V,GACP,IAAM,CAACmS,eAAgBC,gBAAiB4f,aAAcC,eAAgBC,SAAUC,SAASrvB,SAAS9C,EAAM7B,KACtG,OAGF6B,EAAMm3B,kBACNn3B,EAAM2O,iBAEN,MAAMtB,EAAWxM,KAAKqxD,eAAe5sD,OAAOpH,IAAYgK,WAAWhK,IACnE,IAAI00D,EAEJ,GAAI,CAAC1gC,SAAUC,SAASrvB,SAAS9C,EAAM7B,KACrCy0D,EAAoBvlD,EAASrN,EAAM7B,MAAQ+zB,SAAW,EAAI7kB,EAAS9J,OAAS,OACvE,CACL,MAAMoT,EAAS,CAACvE,gBAAiB6f,gBAAgBnvB,SAAS9C,EAAM7B,KAChEy0D,EAAoB/oD,qBAAqBwD,EAAUrN,EAAMY,OAAQ+V,GAAQ,EAC3E,CAEIi8C,IACFA,EAAkB/9B,MAAM,CAAEg+B,eAAe,IACzCb,IAAIxlD,oBAAoBomD,GAAmB35C,OAE/C,CAEAi5C,eACE,OAAOjlD,eAAe3L,KAAKwwD,oBAAqBjxD,KAAKozB,QACvD,CAEAq+B,iBACE,OAAOzxD,KAAKqxD,eAAe5wD,KAAKgM,GAASzM,KAAKuxD,cAAc9kD,KAAW,IACzE,CAEA2kD,sBAAsB55C,EAAQhL,GAC5BxM,KAAKiyD,yBAAyBz6C,EAAQ,OAAQ,WAE9C,IAAK,MAAM/K,KAASD,EAClBxM,KAAKkyD,6BAA6BzlD,EAEtC,CAEAylD,6BAA6BzlD,GAC3BA,EAAQzM,KAAKmyD,iBAAiB1lD,GAC9B,MAAM2lD,EAAWpyD,KAAKuxD,cAAc9kD,GAC9B4lD,EAAYryD,KAAKsyD,iBAAiB7lD,GACxCA,EAAMvI,aAAa,gBAAiBkuD,GAEhCC,IAAc5lD,GAChBzM,KAAKiyD,yBAAyBI,EAAW,OAAQ,gBAG9CD,GACH3lD,EAAMvI,aAAa,WAAY,MAGjClE,KAAKiyD,yBAAyBxlD,EAAO,OAAQ,OAG7CzM,KAAKuyD,mCAAmC9lD,EAC1C,CAEA8lD,mCAAmC9lD,GACjC,MAAM1M,EAASqM,eAAemB,uBAAuBd,GAEhD1M,IAILC,KAAKiyD,yBAAyBlyD,EAAQ,OAAQ,YAE1C0M,EAAMnH,IACRtF,KAAKiyD,yBAAyBlyD,EAAQ,kBAAmB,GAAG0M,EAAMnH,MAEtE,CAEAwsD,YAAYz0D,EAAS29C,GACnB,MAAMqX,EAAYryD,KAAKsyD,iBAAiBj1D,GAClCozD,EAAarkD,eAAeG,QAAQmiD,qBAAsB2D,GAChE,IAAK5B,EACH,OAGF,MAAM79B,EAAOxmB,eAAeG,QAlMV,QAkMiC8lD,GAEnD5B,EAAWjpD,UAAU4H,OAxMC,SAwMyB4rC,GAC3CpoB,GACFA,EAAKprB,UAAU4H,OAxMG,OAwMqB4rC,GAGzCyV,EAAWvsD,aAAa,gBAAiB82C,EAC3C,CAEAiX,yBAAyB50D,EAASmqD,EAAWpkD,GACtC/F,EAAQqK,aAAa8/C,IACxBnqD,EAAQ6G,aAAasjD,EAAWpkD,EAEpC,CAEAmuD,cAAc15C,GACZ,OAAOA,EAAKrQ,UAAUrG,SAvNA,SAwNxB,CAGAgxD,iBAAiBt6C,GACf,OAAOA,EAAKnL,QAAQukD,qBAAuBp5C,EAAOzL,eAAeG,QAAQ0kD,oBAAqBp5C,EAChG,CAGAy6C,iBAAiBz6C,GACf,OAAOA,EAAK1Q,QAAQ4pD,iBAAmBl5C,CACzC,EAOFtY,aAAa2C,GAAG6D,SApPa,eAoPmBkJ,uBAAsB,SAAU9P,GAC1E,CAAC,IAAK,QAAQ8C,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGJzG,WAAWrH,OAIfmxD,IAAIxlD,oBAAoB3L,MAAMoY,MAChC,GAKA7Y,aAAa2C,GAAGgD,OAjQY,cAiQiB,KAC3C,IAAK,MAAM7H,KAAW+O,eAAe3L,KAAKywD,6BACxCC,IAAIxlD,oBAAoBtO,KC7Q5B,MAAMwM,OAAO,QACPsB,WAAW,WACXE,YAAY,YAEZmnD,gBAAkB,qBAClBC,eAAiB,oBACjBnI,cAAgB,mBAChBC,eAAiB,oBACjBzzC,WAAa,gBACbC,aAAe,kBACfH,WAAa,gBACbC,YAAc,iBAEdpI,gBAAkB,OAClBikD,gBAAkB,OAClBhkD,gBAAkB,OAClBikD,mBAAqB,UAErB/oD,cAAc,CAClBkhD,UAAW,UACX8H,SAAU,UACV5H,MAAO,UAGHrhD,UAAU,CACdmhD,WAAW,EACX8H,UAAU,EACV5H,MAAO,KAOT,MAAM6H,cAAc9nD,cAClBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKorD,SAAW,KAChBprD,KAAK8yD,sBAAuB,EAC5B9yD,KAAK+yD,yBAA0B,EAC/B/yD,KAAK0rD,eACP,CAGA,kBAAW/hD,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuO,OACoB7Y,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,YAExC/H,mBAId7O,KAAKgzD,gBAEDhzD,KAAKkL,QAAQ4/C,WACf9qD,KAAKiL,SAASzD,UAAU0J,IAvDN,QAiEpBlR,KAAKiL,SAASzD,UAAUvJ,OAhEJ,QAiEpBiK,OAAOlI,KAAKiL,UACZjL,KAAKiL,SAASzD,UAAU0J,IAjEJ,OACG,WAkEvBlR,KAAKwL,eAXYoN,KACf5Y,KAAKiL,SAASzD,UAAUvJ,OAxDH,WAyDrBsB,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,aAEpC7W,KAAKizD,sBAOuBjzD,KAAKiL,SAAUjL,KAAKkL,QAAQ4/C,WAC5D,CAEA3yC,OACOnY,KAAKkzD,YAIQ3zD,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,YAExCjI,mBAUd7O,KAAKiL,SAASzD,UAAU0J,IAtFD,WAuFvBlR,KAAKwL,eAPYoN,KACf5Y,KAAKiL,SAASzD,UAAU0J,IAnFN,QAoFlBlR,KAAKiL,SAASzD,UAAUvJ,OAlFH,UADH,QAoFlBsB,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,eAIR/W,KAAKiL,SAAUjL,KAAKkL,QAAQ4/C,YAC5D,CAEA1/C,UACEpL,KAAKgzD,gBAEDhzD,KAAKkzD,WACPlzD,KAAKiL,SAASzD,UAAUvJ,OA/FN,QAkGpB+M,MAAMI,SACR,CAEA8nD,UACE,OAAOlzD,KAAKiL,SAASzD,UAAUrG,SAtGX,OAuGtB,CAGA8xD,qBACOjzD,KAAKkL,QAAQ0nD,WAId5yD,KAAK8yD,sBAAwB9yD,KAAK+yD,0BAItC/yD,KAAKorD,SAAWriD,WAAW,KACzB/I,KAAKmY,QACJnY,KAAKkL,QAAQ8/C,QAClB,CAEAmI,eAAeh0D,EAAOi0D,GACpB,OAAQj0D,EAAMM,MACZ,IAAK,YACL,IAAK,WACHO,KAAK8yD,qBAAuBM,EAC5B,MAGF,IAAK,UACL,IAAK,WACHpzD,KAAK+yD,wBAA0BK,EASnC,GAAIA,EAEF,YADApzD,KAAKgzD,gBAIP,MAAMj9C,EAAc5W,EAAM+B,cACtBlB,KAAKiL,WAAa8K,GAAe/V,KAAKiL,SAAS9J,SAAS4U,IAI5D/V,KAAKizD,oBACP,CAEAvH,gBACEnsD,aAAa2C,GAAGlC,KAAKiL,SAAUunD,gBAAiBrzD,GAASa,KAAKmzD,eAAeh0D,GAAO,IACpFI,aAAa2C,GAAGlC,KAAKiL,SAAUwnD,eAAgBtzD,GAASa,KAAKmzD,eAAeh0D,GAAO,IACnFI,aAAa2C,GAAGlC,KAAKiL,SAAUq/C,cAAenrD,GAASa,KAAKmzD,eAAeh0D,GAAO,IAClFI,aAAa2C,GAAGlC,KAAKiL,SAAUs/C,eAAgBprD,GAASa,KAAKmzD,eAAeh0D,GAAO,GACrF,CAEA6zD,gBACEx9C,aAAaxV,KAAKorD,UAClBprD,KAAKorD,SAAW,IAClB,EAOF39C,qBAAqBolD,OCzLrB,MAAMhpD,KAAO,UACPsB,SAAW,aACXE,UAAY,IAAIF,WAEhBkoD,aAAe,SAAShoD,YACxBioD,cAAgB,UAAUjoD,YAC1Bg/C,YAAc,QAEdp7C,qBAAuB,6BAEvBrF,YAAc,CAClB49C,UAAW,SACXpkD,MAAO,2BAGHuG,QAAU,CACd69C,UAAW,QACXpkD,MAAO,MAOT,MAAMmwD,gBAAgBxoD,cAEpB,kBAAWpB,GACT,OAAOA,OACT,CAEA,sBAAWC,GACT,OAAOA,WACT,CAEA,eAAWC,GACT,OAAOA,IACT,CAGAuF,SACsB7P,aAAaoD,QAAQ3C,KAAKiL,SAAUooD,cAExCxkD,mBAIhB7O,KAAKwzD,WAELj0D,aAAaoD,QAAQ3C,KAAKiL,SAAUqoD,eACtC,CAGAE,WACE,MAAMhM,UAAEA,EAASpkD,MAAEA,GAAUpD,KAAKkL,QAEhB,OAAds8C,IAIc,UAAdA,EAMAxnD,KAAKiL,SAASpG,aAAa2iD,KAAe9kB,OAAOt/B,GAKrDpD,KAAKiL,SAAS/G,aAAasjD,EAAWpkD,GAJpCpD,KAAKiL,SAAS7G,gBAAgBojD,GAN9BxnD,KAAKiL,SAASzD,UAAU4H,OAAOhM,GAWnC,EAOF2K,oBAAoBwlD,QAxEA,QAwEsBtkD,qBAAsB,iB","ignoreList":[]}
\ No newline at end of file
+{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","getAny","values","next","value","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","this","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","upCallback","downCallback","Swipe","isSupported","_deltaX","_deltaY","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","clientY","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","absDeltaY","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","round","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","firstChar","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","MAX_RESET_COUNT","computePosition","middleware","platformWithDetectOverflow","getElementRects","statefulPlacement","resetCount","middlewareData","i","currentMiddleware","nextX","nextY","reset","initialPlacement","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","resetPlacement","sort","a","b","_overflowsData$filter2","currentSideAxis","reduce","acc","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","hasWindow","getNodeName","node","isNode","nodeName","getWindow","_node$ownerDocument","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","display","isTableElement","isTopLayer","_e","willChangeRe","containRe","isNotNone","isWebKitValue","isContainingBlock","elementOrCss","css","transform","translate","scale","rotate","perspective","isWebKit","backdropFilter","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","supports","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","result","assignedSlot","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","getPrototypeOf","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","shouldFallback","$","unwrapElement","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","htmlRect","topLayer","offsets","isOffsetParentAnElement","offsetRect","htmlOffset","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","SCROLLBAR_MAX","getViewportRect","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","compatMode","marginLeft","marginRight","clippingStableScrollbarWidth","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","clippingAncestors","_c","firstRect","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","observeMove","onMove","timeoutId","io","cleanup","_io","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","ratio","intersectionRatio","IntersectionObserver","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","passive","cleanupIo","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","arrow$1","mergedOptions","platformWithCache","computePosition$1","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","xs","part","breakpoint","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","autoClose","container","floatingConfig","menu","submenuTrigger","submenuDelay","Menu","static","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","_moveMenuToContainer","_createFloating","focus","focusVisible","_openInstances","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","_updateFloatingPosition","referenceElement","_getPlacement","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","offsetValue","_getFallbackPlacements","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","updatePosition","clear","timestamp","Date","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","selectedItems","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","e","t","n","enumerable","writable","__spreadValues","__spreadProps","__publicField","errorMessages","notFoundSelector","notInit","notLocale","incorrectTime","incorrectMonthsCount","setContext","context","destroy","o","l","isInit","inputMode","mainElement","parentElement","removeChild","inputElement","replaceWith","originalElement","onDestroy","skipOpenOnFocus","WeakSet","shouldSkipOpenOnFocus","setSkipOpenOnFocus","clearSkipOpenOnFocus","PREV_TABINDEX_ATTR","isFocusable","tabIndex","storePrevTabIndex","restorePrevTabIndex","disableTabbing","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","FILTER_ACCEPT","FILTER_SKIP","nextNode","restoreTabbing","isShowInInputMode","currentType","vcCalendarHidden","cleanupHandlers","openOnFocus","onHide","getOffset","getViewportDimensions","vw","vh","innerHeight","getWindowScrollPosition","calculateAvailableSpace","s","r","getAvailablePosition","canShow","parentPositions","c","u","m","p","h","condition","handleDay","modifier","className","styles","datePopup","vcDatePopup","innerHTML","sanitizerHTML","ariaExpanded","ariaLabel","appendChild","createDatePopup","popups","getDate","getDateString","getFullYear","String","getMonth","padStart","parseDates","toISOString","substring","getTime","setDate","updateAttribute","setDateModifier","displayDateMin","displayDateMax","disableDates","selectionMonthsMode","selectionYearsMode","disableToday","dateToday","selectedWeekends","selectedHolidays","selectedDates","selectionDatesMode","enableEdgeDatesOnly","getLocaleString","toLocaleString","getWeekNumber","getDay","ceil","year","week","addWeekNumberForDate","firstWeekday","vcDateWeekNumber","setDaysAsDisabled","disableWeekdays","disableAllDates","enableDates","createDate","locale","date","vcDate","vcDateMonth","vcDateWeekDay","role","displayDatesOutside","dateBtn","dateStyle","timeZone","vcDateBtn","innerText","enableWeekNumbers","addDate","onCreateDateEls","createDatesFromCurrentMonth","createDatesFromNextMonth","createDatesFromPrevMonth","createWeekNumbers","weekNumbersTitle","vcWeekNumbers","weekNumbersContent","weekNumber","cloneNode","vcWeekNumber","vcWeekYear","createDates","selectedYear","selectedMonth","vcDatesDisabled","setMonth","datesRow","g","layoutDefault","header","labels","navigation","headerContent","wrapper","content","layoutMonths","layoutMultiple","controls","grid","column","layoutYears","ArrowNext","arrowNext","ArrowPrev","arrowPrev","ControlTime","selectionTimeMode","time","selectingTime","DateRangeTooltip","onCreateDateRangeTooltip","dateRangeTooltip","Dates","dates","Month","month","Months","months","Week","WeekNumbers","weekNumbers","Year","Years","years","components","getComponent","parseLayout","parseMultipleLayout","displayMonthsCount","fill","createLayouts","default","layouts","calendar","vc","vcType","application","vcGrid","vcColumn","setVisibilityArrows","visibility","handleDefaultType","monthsToSwitch","dateMin","dateMax","setFullYear","handleYearType","displayYear","visibilityArrows","visibilityHandler","long","visibilityTitle","setYearModifier","aria","selectedProperty","getColumnID","currentValue","columnID","findIndex","createMonthEl","monthsMonth","vcMonthsMonth","ariaDisabled","createMonths","vcYear","vcMonth","short","onCreateMonthEls","TimeInput","TimeRange","handleActions","hour","minute","selectedHours","selectedMinutes","selectedKeeping","onChangeTime","onChangeToInput","transformTime24","AM","PM","handleClickKeepingTime","btnKeeping","transformTime12","updateInputAndRange","updateKeepingTime$1","handleInput$1","updateInputAndTime","updateKeepingTime","handleRange","handleMouseOver","handleMouseOut","handleTime","timeMaxHour","timeMinHour","timeMaxMinute","timeMinMinute","createTime","timeControls","timeContent","timeHour","timeMinute","timeKeeping","timeRanges","timeRange","timeStepHour","timeStepMinute","createWeek","weekdays","titleShort","titleLong","isWeekend","onClickWeekDay","weekDay","vcWeekDay","vcWeekDayOff","createYearEl","yearsYear","vcYearsYear","createYears","onCreateYearEls","trackChangesHTMLElement","MutationObserver","attributeName","haveListener","check","setTheme","vcTheme","trackChangesThemeInSystemSettings","selectedTheme","addListener","detectTheme","themeAttrDetect","handleTheme","media","capitalizeFirstLetter","getLocaleWeekday","weekday","getLocaleMonth","getLocale","create","handleArrowKeys","localName","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","handleMonth","handleClickArrow","vcArrow","onClickArrow","resolveToggle","canToggleSelection","enableDateToggle","handleSelectDate","createDateRangeTooltip","vcDateRangeTooltip","self","lastDateEl","isHovering","rangeMin","rangeMax","tooltipEl","addHoverEffect","vcDateHover","removeHoverEffect","handleHoverDatesEvent","handleHoverSelectedDatesRangeEvent","optimizedHoverHandler","optimizedHandleHoverDatesEvent","optimizedHandleHoverSelectedDatesRangeEvent","handleCancelSelectionDates","handleMouseLeave","updateDisabledDates","disableDatesPast","handleSelectDateRange","disableDatesGaps","updateDateModifier","handleClickDate","single","onClickDate","enableMonthChangeOnDayClick","current","typeClick","getValue","handleMultipleYearSelection","handleMultipleMonthSelection","handleItemClick","onClickYear","onClickMonth","handleClickType","onClickTitle","handleClickMonthOrYear","handleClickWeekNumber","onClickWeekNumber","handleClickWeekDay","handleClick","initMonthsCount","getLocalDate","getTimezoneOffset","resolveDate","initRange","displayDisabledDates","initSelectedDates","displayClosestValidDate","setInitialContext","initSelectedMonthYear","enableJumpToSelectedDate","initTime","selectedTime","initAllVariables","createToInput","vcInput","onInit","canOpenOnFocus","handleInput","inputModeInit","shiftKey","init","onUpdate","replaceProperties","isArray","findBestPickerPosition","setPosition","vcPosition","click","positionToInput","capture","onShow","inputHour","inputMinute","rangeHour","rangeMinute","OptionsCalendar","_Calendar","memoizedElements","queryAndMemoize","Calendar","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateFormat","displayElement","inline","positionElement","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","getSelectedDates","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","attributeFilter","vcpTheme","_handleDateClick","firstDate","_parseDate","_maybeHideAfterSelection","dateStr","day","_formatDate","Intl","DateTimeFormat","format","toLocaleDateString","separator","isNaN","formatted","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","open","_onBeforeShow","modal","preventBodyScroll","_getShowOptions","_showElement","_hideElement","_onAfterHide","_getInstantClassName","_getStaticClassName","_onCancel","showModal","_hideChildComponents","_triggerBackdropTransition","staticClass","eventKey","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","handleUpdate","showEvent","currentDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","SELECTOR_CUSTOM_ICON","CLASS_NAME_KEEP","collapseBelow","iconPlacement","menuPlacement","moreText","moreIcon","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_collapseBelow","_isInitialized","_init","_calculateOverflow","_restoreItems","bsNavOrder","_resolveCollapseBelow","_createOverflowMenu","_setupResizeObserver","iconSpan","_resolveIcon","textSpan","toggleContent","overflowItem","customIconElement","iconClone","iconHtml","outerHTML","cssValue","navWidth","itemsToOverflow","_moveToOverflow","overflowCount","usedWidth","overflowThreshold","toMove","link","clonedLink","bsNavOverflow","EVENT_RESIZE","Drawer","_initSwipe","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","digits","clipboardData","getData","lastIndex","select","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","pastedData","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","pre","small","span","sub","sup","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","arrowX","arrowY","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","scrollTo","behavior","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/drawer.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  getAny(element) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).values().next().value || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null,\n  upCallback: null,\n  downCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)',\n  upCallback: '(function|null)',\n  downCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._deltaY = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n      this._deltaY = event.touches[0].clientY\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n      this._deltaY = event.clientY\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n      this._deltaY = event.clientY - this._deltaY\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    if (event.touches && event.touches.length > 1) {\n      this._deltaX = 0\n      this._deltaY = 0\n      return\n    }\n\n    this._deltaX = event.touches[0].clientX - this._deltaX\n    this._deltaY = event.touches[0].clientY - this._deltaY\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n    const absDeltaY = Math.abs(this._deltaY)\n\n    // Determine primary axis: whichever has greater movement wins\n    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {\n      // Vertical swipe\n      const direction = this._deltaY > 0 ? 'down' : 'up'\n      this._deltaX = 0\n      this._deltaY = 0\n      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback)\n      return\n    }\n\n    if (absDeltaX > SWIPE_THRESHOLD) {\n      // Horizontal swipe\n      const direction = absDeltaX / this._deltaX\n      this._deltaX = 0\n      this._deltaY = 0\n\n      if (!direction) {\n        return\n      }\n\n      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n      return\n    }\n\n    this._deltaX = 0\n    this._deltaY = 0\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  const firstChar = placement[0];\n  return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  const side = getSide(placement);\n  return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n    ...platform,\n    detectOverflow\n  };\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let resetCount = 0;\n  const middlewareData = {};\n  for (let i = 0; i < middleware.length; i++) {\n    const currentMiddleware = middleware[i];\n    if (!currentMiddleware) {\n      continue;\n    }\n    const {\n      name,\n      fn\n    } = currentMiddleware;\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platformWithDetectOverflow,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData[name] = {\n      ...middlewareData[name],\n      ...data\n    };\n    if (reset && resetCount < MAX_RESET_COUNT) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects,\n        platform\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await platform.detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        platform\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n  return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  try {\n    if (element.matches(':popover-open')) {\n      return true;\n    }\n  } catch (_e) {\n    // no-op\n  }\n  try {\n    return element.matches(':modal');\n  } catch (_e) {\n    return false;\n  }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (isWebKitValue == null) {\n    isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n  }\n  return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n  return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  } else {\n    return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n  }\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n  let top = firstRect.top;\n  let right = firstRect.right;\n  let bottom = firstRect.bottom;\n  let left = firstRect.left;\n  for (let i = 1; i < clippingAncestors.length; i++) {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n    top = max(rect.top, top);\n    right = min(rect.right, right);\n    bottom = min(rect.bottom, bottom);\n    left = max(rect.left, left);\n  }\n  return {\n    width: right - left,\n    height: bottom - top,\n    x: left,\n    y: top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    if (floating) {\n      resizeObserver.observe(floating);\n    }\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,o,l;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(l=(o=e.context.mainElement).replaceWith)||l.call(o,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},skipOpenOnFocus=new WeakSet,shouldSkipOpenOnFocus=e=>skipOpenOnFocus.has(e),setSkipOpenOnFocus=e=>{skipOpenOnFocus.add(e)},clearSkipOpenOnFocus=e=>{skipOpenOnFocus.delete(e)},PREV_TABINDEX_ATTR=\"data-vc-prev-tabindex\",isFocusable=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),storePrevTabIndex=e=>{if(e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(\"tabindex\");e.setAttribute(PREV_TABINDEX_ATTR,null!=t?t:\"\")},restorePrevTabIndex=e=>{if(!e.hasAttribute(PREV_TABINDEX_ATTR))return;const t=e.getAttribute(PREV_TABINDEX_ATTR);\"\"===t||null===t?e.removeAttribute(\"tabindex\"):e.setAttribute(\"tabindex\",t),e.removeAttribute(PREV_TABINDEX_ATTR)},disableTabbing=e=>{isFocusable(e)&&(storePrevTabIndex(e),e.tabIndex=-1);const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>isFocusable(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();){const e=t.currentNode;storePrevTabIndex(e),e.tabIndex=-1}},restoreTabbing=e=>{restorePrevTabIndex(e),e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex)},hide=e=>{if(e.context.isShowInInputMode&&e.context.currentType){if(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.inputMode&&disableTabbing(e.context.mainElement),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.inputMode&&e.context.inputElement&&e.context.mainElement.contains(document.activeElement)){(\"function\"==typeof e.openOnFocus||!0===e.openOnFocus)&&setSkipOpenOnFocus(e),e.context.inputElement.focus()}e.onHide&&e.onHide(e)}};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:o}=getOffset(e),{vh:l,vw:s}=getViewportDimensions(),i=a-t,r=o-n;return{top:i,bottom:l-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},o=[];if(!t||!e)return{canShow:a,parentPositions:o};const{bottom:l,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),p=m/2,h=u/2;return[{condition:i<h,position:\"top\"},{condition:i>h,position:\"bottom\"},{condition:r<p,position:\"left\"},{condition:r>p,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&o.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=l-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:o}}const handleDay=(e,t,n,a)=>{var o;const l=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==l?void 0:l.querySelector(\"[data-vc-date-btn]\");if(!l||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(o=null==i?void 0:i.textContent)?void 0:o.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,l.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(l,i),t=e.bottom?l.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?l.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const o=getDate(n),l=getDate(a),s=new Date(o.getTime());for(;s<=l;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,o,l,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(l)||getDate(e.context.displayDateMax)<getDate(l)||(null==(i=e.context.disableDates)?void 0:i.includes(l))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(l).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===l,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(o),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(l),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(l))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===l&&e.context.selectedDates[e.context.selectedDates.length-1]===l?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===l?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===l&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==l&&e.context.selectedDates[e.context.selectedDates.length-1]!==l&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(l)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),o=getDate(l);updateAttribute(n,o>t&&o<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const o=new Date(n.getFullYear(),0,1),l=Math.ceil(((+n-+o)/864e5+1)/7);return{year:n.getFullYear(),week:l}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,o,l,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(o=e.context.enableDates)?void 0:o[0]);!r&&!c||(null==(l=e.context.enableDates)?void 0:l.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,o,l)=>{const s=getDate(o).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=o,r.dataset.vcDateMonth=l,r.dataset.vcDateWeekDay=String(s),r.role=\"gridcell\",(\"current\"===l||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.ariaLabel=getLocaleString(o,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,o),setDaysAsDisabled(e,o,s),setDateModifier(e,t,r,c,s,o,l),n.addDate(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,o)=>{for(let l=1;l<=n;l++){const n=new Date(a,o,l);createDate(e,a,t,l,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,o)=>{const l=o+1===12?a+1:a,s=o+1===12?\"01\":o+2<10?`0${o+2}`:o+2;for(let o=1;o<=n;o++){const n=o<10?`0${o}`:String(o);createDate(e,a,t,o,`${l}-${s}-${n}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,o)=>{let l=new Date(n,a,0).getDate()-(o-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=o;a>0;a--,l++){createDate(e,n,t,l,`${s}-${i}-${l}`,\"prev\")}},createWeekNumbers=(e,t,n,a,o)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const l=document.createElement(\"b\");l.className=e.styles.weekNumbersTitle,l.innerText=\"#\",l.dataset.vcWeekNumbers=\"title\",a.appendChild(l);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=o.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const o=i.cloneNode(!0);o.innerText=String(a.week),o.dataset.vcWeekNumber=String(a.week),o.dataset.vcWeekYear=String(a.year),o.role=\"rowheader\",o.ariaLabel=`${a.week}`,s.appendChild(o)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,o)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const l=new Date(t);l.setMonth(l.getMonth()+o);const s=l.getMonth(),i=l.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate(),d=r+c,u=Math.ceil(d/7),m=7*u-d,p=[];for(let t=0;t<u;t++){const t=document.createElement(\"div\");t.className=e.styles.datesRow,t.setAttribute(\"data-vc-dates\",\"row\"),t.setAttribute(\"role\",\"row\"),p.push(t)}let h=0,v=0;const g={addDate:e=>{p[h].appendChild(e),v++,v>=7&&(h++,v=0)}};createDatesFromPrevMonth(e,g,i,s,r),createDatesFromCurrentMonth(e,g,c,i,s),createDatesFromNextMonth(e,g,m,i,s);for(const e of p)n.appendChild(e);createDatePopup(e,n),createWeekNumbers(e,r,c,a[o],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\" role=\"grid\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],o=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),l=getComponent(o),s=l?l(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),o=t.closest('[data-vc=\"column\"]');return n&&n.remove(),a&&(a.dataset.vcGrid=\"hidden\"),o&&(o.dataset.vcColumn=e.context.currentType),void(o&&(o.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),o=new Date(a.getTime()),l=new Date(a.getTime());o.setMonth(o.getMonth()-e.monthsToSwitch),l.setMonth(l.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||o.getFullYear()<s.getFullYear()||o.getFullYear()===s.getFullYear()&&o.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||l.getFullYear()>i.getFullYear()||l.getFullYear()===i.getFullYear()&&l.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(o.getFullYear()&&e.context.displayYear+7>=o.getFullYear());setVisibilityArrows(t,n,l,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,o)=>{const l=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${l}`);const c={month:{id:s,label:i},year:{id:l,label:l}};t.innerText=String(c[o].label),t.dataset[`vc${o.charAt(0).toUpperCase()+o.slice(1)}`]=String(c[o].id),t.ariaLabel=`${e.labels[o]} ${c[o].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[o]||\"only-arrows\"===d[o];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,o)=>{var l;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};o&&(null==(l=e.context.mainElement.querySelectorAll(s[n]))||l.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),o=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:o>=0?Number(null==(n=a[o].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(o,0)}},createMonthEl=(e,t,n,a,o,l,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=o,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,l&&(i.ariaDisabled=\"true\"),l&&(i.tabIndex=-1),i.disabled=l,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const o=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),l=o?Number(o.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=l<=n.getFullYear()&&t<n.getMonth()+d||l>=a.getFullYear()&&t>a.getMonth()-o+d||l>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,o)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${o?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,o,l,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${o}\" step=\"${l}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,o)=>{const l=l=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=o?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,l,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,l,!0)};return t.addEventListener(\"click\",l),()=>{t.removeEventListener(\"click\",l)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,o,l,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=l&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),o)},24:()=>{if(!(i<=l&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,o)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=l&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,o)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[o]&&i[o](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,o)=>{t.value=o,handleActions(e,n,o,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,o)=>{const l=l=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===o,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,l,o,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",l),()=>{t.removeEventListener(\"input\",l)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),o=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),l=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&o&&l))return;const i=e=>{e.target===n&&handleMouseOver(o),e.target===a&&handleMouseOver(l)},r=e=>{e.target===n&&handleMouseOut(o),e.target===a&&handleMouseOut(l)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,o,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,l,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,o,s,\"hour\"),handleRange(e,a,l,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[o,l]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,o,l,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,o)=>[...n,{id:o,titleShort:e.context.locale.weekdays.short[o],titleLong:a,isWeekend:t.includes(o)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const o=n.cloneNode(!0);o.innerText=a.titleShort,o.className=e.styles.weekDay,o.role=\"columnheader\",o.ariaLabel=a.titleLong,o.dataset.vcWeekDay=String(a.id),a.isWeekend&&(o.dataset.vcWeekDayOff=\"\"),t.appendChild(o)}))}))},createYearEl=(e,t,n,a,o)=>{const l=t.cloneNode(!1);return l.className=e.styles.yearsYear,l.innerText=String(o),l.ariaLabel=String(o),l.role=\"gridcell\",l.dataset.vcYearsYear=`${o}`,a&&(l.ariaDisabled=\"true\"),a&&(l.tabIndex=-1),l.disabled=a,setYearModifier(e,l,\"year\",n===o,!1),l},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const o=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!o)return;const l=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+l||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);o.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const o=n.getAttribute(a);o?(setTheme(e.context.mainElement,o),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),o=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(l))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),o=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),l=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(o)),e.context.locale.months.long.push(capitalizeFirstLetter(l))},getLocale=e=>{var t,n,a,o,l,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(o=null==(a=e.locale)?void 0:a.weekdays)?void 0:o.long[6])&&(null==(s=null==(l=e.locale)?void 0:l.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const o=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),l=o.indexOf(a);if(-1===l)return;const s=(i=o[l]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,l-s),ArrowDown:()=>Math.min(o.length-1,l+s),ArrowLeft:()=>Math.max(0,l-1),ArrowRight:()=>Math.min(o.length-1,l+1)}[t.key])();null==(n=o[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},resolveToggle=(e,t)=>void 0===t||(\"function\"==typeof t?t(e):t),canToggleSelection=e=>resolveToggle(e,e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,o=t.closest(\"[data-vc-date][data-vc-date-selected]\"),l=canToggleSelection(e);if(o&&!l)return;const s=o?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),o=n.getBoundingClientRect();t.style.left=o.left-a.left+o.width/2+\"px\",t.style.top=o.bottom-a.top-o.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,o,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,o,l;if(!(null==(o=null==(a=state.self)?void 0:a.context)?void 0:o.selectedDates[0]))return;const s=getDateString(e);(null==(l=state.self.context.disableDates)?void 0:l.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const o=a.dataset.vcDate,l=getDate(state.self.context.selectedDates[0]),s=getDate(o),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${o}\"]`),[c,d]=l<s?[i,r]:[r,i],[u,m]=l<s?[l,s]:[s,l];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const o=getDate(state.self.context.selectedDates[0]),[l,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[o>=n?n:e,o<n&&null===t?n:t]),[null,null]);l&&setContext(state.self,\"displayDateMin\",getDateString(new Date(l.setDate(l.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],o=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],l=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=o?e.enableEdgeDatesOnly?[n,a]:l:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,o=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,o,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,o=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!o)return;const l=o.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,l,!1),multiple:()=>handleSelectDate(e,l,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,l)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:o}=getColumnID(e,t);return\"month\"===e.context.currentType&&o>=0?n-o:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),o=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>o.getMonth()-l+s&&n>=o.getFullYear(),c=n<a.getFullYear(),d=n>o.getFullYear(),u=i||c?a.getFullYear():r||d?o.getFullYear():n,m=i||c?a.getMonth():r||d?o.getMonth()-l+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),o=Number(n.dataset.vcYear),l=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<l.getMonth()&&o<=l.getFullYear(),r=a>s.getMonth()&&o>=s.getFullYear();setContext(e,\"selectedYear\",o),setContext(e,\"selectedMonth\",i?l.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var o;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(o=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||o.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const o=t.target,l=o.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,o),month:()=>createMonths(e,o)};if(l&&e.onClickTitle&&e.onClickTitle(e,t),l&&e.context.currentType!==n)return s[n]();const i=o.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=o.closest('[data-vc=\"grid\"]'),c=o.closest('[data-vc=\"column\"]');(e.context.currentType===n&&l||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const o=Number(n.innerText),l=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===o));e.onClickWeekNumber(e,o,l,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),o=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!o[0])return;const l=Number(n.dataset.vcWeekDay),s=Array.from(o).filter((e=>Number(e.dataset.vcDateWeekDay)===l));e.onClickWeekDay(e,l,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const o=resolveDate(e.dateMin,e.dateMin),l=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,o),i=resolveDate(e.displayDateMax,l);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(o)>=getDate(s)?o:s:o),setContext(e,\"displayDateMax\",i?getDate(l)<=getDate(i)?l:i:l);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?o:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?l:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const o=12===e.selectionTimeMode,l=o?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(l))?void 0:n.slice(1))?a:[];s?o&&!r&&(r=\"AM\"):(s=o?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=o?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:o,locale:l},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=o?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,l){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},canOpenOnFocus=e=>resolveToggle(e,e.openOnFocus),handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};e.context.inputElement.addEventListener(\"click\",t);const n=\"function\"==typeof e.openOnFocus||!0===e.openOnFocus,a=()=>{shouldSkipOpenOnFocus(e)?clearSkipOpenOnFocus(e):canOpenOnFocus(e)&&t()};n&&e.context.inputElement.addEventListener(\"focus\",a);const o=t=>{const n=\"Tab\"===t.key&&!t.shiftKey,a=[\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key);(n||a)&&(t=>{var n;if(!e.context.isShowInInputMode)return!1;if(document.activeElement!==e.context.inputElement)return!1;const a=e=>e.tabIndex>=0&&!e.hasAttribute(\"disabled\")&&\"true\"!==e.getAttribute(\"aria-disabled\"),o=null!=(n=document.createTreeWalker(e.context.mainElement,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>a(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}).nextNode())?n:a(e.context.mainElement)?e.context.mainElement:null;!o||o.tabIndex<0||(t.preventDefault(),o.focus())})(t)};return e.context.inputElement.addEventListener(\"keydown\",o),()=>{e.context.inputElement.removeEventListener(\"click\",t),n&&e.context.inputElement.removeEventListener(\"focus\",a),e.context.inputElement.removeEventListener(\"keydown\",o)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const o=n[a];\"object\"!=typeof e[o]||\"object\"!=typeof t[o]||t[o]instanceof Date||Array.isArray(t[o])?void 0!==t[o]&&(e[o]=t[o]):replaceProperties(e[o],t[o])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:o}=getAvailablePosition(e,t),l=a.left&&a.right;return(l&&a.bottom?\"center\":l&&a.top?[\"top\",\"center\"]:Array.isArray(o)?[\"bottom\"===o[0]?\"top\":\"bottom\",...o.slice(1)]:o)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,o={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},l=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=l;const{top:i,left:r}=getOffset(e),c=i+o[l];let d=r+o[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),e.inputMode&&restoreTabbing(e.context.mainElement),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",datesRow:\"vc-dates__row\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"openOnFocus\",!0),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Drawer components that use\n * the native <dialog> element. Provides common behavior for:\n * - Show/hide/toggle lifecycle with events\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n * - Child component cleanup (tooltips, popovers, toasts)\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Public — shared lifecycle methods\n\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('show'),\n      { relatedTarget }\n    )\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._onBeforeShow()\n\n    const { modal, preventBodyScroll } = this._getShowOptions()\n    this._showElement({ modal, preventBodyScroll })\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('shown'),\n        { relatedTarget }\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hide')\n    )\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._hideElement()\n    this._onAfterHide()\n\n    this._queueCallback(() => {\n      this._element.classList.remove('hiding')\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('hidden')\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  // Protected — hooks for subclasses to override\n\n  _getShowOptions() {\n    return { modal: true, preventBodyScroll: true }\n  }\n\n  _onBeforeShow() {\n    // No-op by default — Dialog overrides to add nonmodal class\n  }\n\n  _onAfterHide() {\n    // No-op by default — Dialog overrides to remove nonmodal class\n  }\n\n  _isAnimated() {\n    return !this._element.classList.contains(this._getInstantClassName())\n  }\n\n  _getInstantClassName() {\n    return 'dialog-instant'\n  }\n\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  _onCancel() {\n    // No-op by default — Dialog overrides to fire cancel event\n  }\n\n  // Protected — shared mechanics\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n\n    // Add .hiding before close() so CSS exit transitions can play.\n    // Without this, the navbar's `:not([open])` transition-kill rule\n    // would prevent the slide-out animation.\n    this._element.classList.add('hiding')\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    return {\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    }\n  }\n\n  _onBeforeShow() {\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n  }\n\n  _onAfterHide() {\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n  }\n\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog (dialog swapping)\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  collapseBelow: 0,\n  iconPlacement: 'start',\n  menuPlacement: 'bottom-end',\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  collapseBelow: '(number|string)',\n  iconPlacement: 'string',\n  menuPlacement: 'string',\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._collapseBelow = 0\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Resolve collapseBelow threshold once\n    this._collapseBelow = this._resolveCollapseBelow()\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const iconHtml = this._resolveIcon()\n    const iconSpan = `<span class=\"nav-overflow-icon\">${iconHtml}</span>`\n    const textSpan = `<span class=\"nav-overflow-text\">${this._config.moreText}</span>`\n    const toggleContent = this._config.iconPlacement === 'end' ?\n      `${textSpan}${iconSpan}` :\n      `${iconSpan}${textSpan}`\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"${this._config.menuPlacement}\" aria-expanded=\"false\">\n        ${toggleContent}\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _resolveIcon() {\n    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element)\n\n    if (!customIconElement) {\n      return this._config.moreIcon\n    }\n\n    const iconClone = customIconElement.cloneNode(true)\n    iconClone.removeAttribute('data-bs-overflow-icon')\n    const iconHtml = iconClone.outerHTML\n\n    customIconElement.remove()\n\n    return iconHtml\n  }\n\n  _resolveCollapseBelow() {\n    const value = this._config.collapseBelow\n\n    if (typeof value === 'number') {\n      return value\n    }\n\n    if (typeof value === 'string' && value !== '') {\n      const cssValue = getComputedStyle(document.documentElement)\n        .getPropertyValue(`--bs-breakpoint-${value}`)\n      return Number.parseFloat(cssValue) || 0\n    }\n\n    return 0\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n\n    // When below the collapseBelow threshold, force all items into overflow\n    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {\n      const itemsToOverflow = this._items.filter(\n        item => !item.classList.contains(CLASS_NAME_KEEP)\n      )\n\n      this._moveToOverflow(itemsToOverflow)\n\n      if (overflowItem) {\n        if (itemsToOverflow.length > 0) {\n          overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n        } else {\n          overflowItem.classList.add(CLASS_NAME_HIDDEN)\n        }\n      }\n\n      if (itemsToOverflow.length > 0) {\n        EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n          overflowCount: itemsToOverflow.length,\n          visibleCount: this._items.length - itemsToOverflow.length\n        })\n      }\n\n      return\n    }\n\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap drawer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isRTL,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'drawer'\nconst DATA_KEY = 'bs.drawer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"drawer\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Drawer extends DialogBase {\n  constructor(element, config) {\n    super(element, config)\n    this._swipeHelper = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n    return {\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    }\n  }\n\n  _onBeforeShow() {\n    this._initSwipe()\n  }\n\n  _getInstantClassName() {\n    return 'drawer-instant'\n  }\n\n  _getStaticClassName() {\n    return 'drawer-static'\n  }\n\n  // Private\n\n  _initSwipe() {\n    if (this._swipeHelper || !Swipe.isSupported()) {\n      return\n    }\n\n    // Determine which swipe direction dismisses based on placement\n    const swipeConfig = {}\n    const element = this._element\n\n    if (element.classList.contains('drawer-bottom')) {\n      swipeConfig.downCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-top')) {\n      swipeConfig.upCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-end')) {\n      // RTL: swipe left to dismiss end drawer\n      if (isRTL()) {\n        swipeConfig.leftCallback = () => this.hide()\n      } else {\n        swipeConfig.rightCallback = () => this.hide()\n      }\n    } else if (isRTL()) {\n      // drawer-start (default): swipe right to dismiss in RTL\n      swipeConfig.rightCallback = () => this.hide()\n    } else {\n      // drawer-start (default): swipe left to dismiss in LTR\n      swipeConfig.leftCallback = () => this.hide()\n    }\n\n    this._swipeHelper = new Swipe(element, swipeConfig)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of a drawer, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Drawer.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Drawer.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {\n    Drawer.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:drawer\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Drawer.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Drawer)\n\nexport default Drawer\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
index 3b95ec56d8f55fd70293376c44f7d08bf24d7307..b48948e7282c668e65c5024f37502dd7a86cceb1 100644 (file)
@@ -40,6 +40,12 @@ const Data = {
     }
     return null;
   },
+  getAny(element) {
+    if (elementMap.has(element)) {
+      return elementMap.get(element).values().next().value || null;
+    }
+    return null;
+  },
   remove(element, key) {
     if (!elementMap.has(element)) {
       return;
@@ -908,12 +914,16 @@ const SWIPE_THRESHOLD = 40;
 const Default$h = {
   endCallback: null,
   leftCallback: null,
-  rightCallback: null
+  rightCallback: null,
+  upCallback: null,
+  downCallback: null
 };
 const DefaultType$h = {
   endCallback: '(function|null)',
   leftCallback: '(function|null)',
-  rightCallback: '(function|null)'
+  rightCallback: '(function|null)',
+  upCallback: '(function|null)',
+  downCallback: '(function|null)'
 };
 
 /**
@@ -929,6 +939,7 @@ class Swipe extends Config {
     }
     this._config = this._getConfig(config);
     this._deltaX = 0;
+    this._deltaY = 0;
     this._supportPointerEvents = Boolean(window.PointerEvent);
     this._initEvents();
   }
@@ -953,33 +964,57 @@ class Swipe extends Config {
   _start(event) {
     if (!this._supportPointerEvents) {
       this._deltaX = event.touches[0].clientX;
+      this._deltaY = event.touches[0].clientY;
       return;
     }
     if (this._eventIsPointerPenTouch(event)) {
       this._deltaX = event.clientX;
+      this._deltaY = event.clientY;
     }
   }
   _end(event) {
     if (this._eventIsPointerPenTouch(event)) {
       this._deltaX = event.clientX - this._deltaX;
+      this._deltaY = event.clientY - this._deltaY;
     }
     this._handleSwipe();
     execute(this._config.endCallback);
   }
   _move(event) {
-    this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
+    if (event.touches && event.touches.length > 1) {
+      this._deltaX = 0;
+      this._deltaY = 0;
+      return;
+    }
+    this._deltaX = event.touches[0].clientX - this._deltaX;
+    this._deltaY = event.touches[0].clientY - this._deltaY;
   }
   _handleSwipe() {
     const absDeltaX = Math.abs(this._deltaX);
-    if (absDeltaX <= SWIPE_THRESHOLD) {
+    const absDeltaY = Math.abs(this._deltaY);
+
+    // Determine primary axis: whichever has greater movement wins
+    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {
+      // Vertical swipe
+      const direction = this._deltaY > 0 ? 'down' : 'up';
+      this._deltaX = 0;
+      this._deltaY = 0;
+      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback);
+      return;
+    }
+    if (absDeltaX > SWIPE_THRESHOLD) {
+      // Horizontal swipe
+      const direction = absDeltaX / this._deltaX;
+      this._deltaX = 0;
+      this._deltaY = 0;
+      if (!direction) {
+        return;
+      }
+      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
       return;
     }
-    const direction = absDeltaX / this._deltaX;
     this._deltaX = 0;
-    if (!direction) {
-      return;
-    }
-    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
+    this._deltaY = 0;
   }
   _initEvents() {
     if (this._supportPointerEvents) {
@@ -1365,9 +1400,9 @@ const NAME$g = 'collapse';
 const DATA_KEY$d = 'bs.collapse';
 const EVENT_KEY$d = `.${DATA_KEY$d}`;
 const DATA_API_KEY$9 = '.data-api';
-const EVENT_SHOW$8 = `show${EVENT_KEY$d}`;
-const EVENT_SHOWN$8 = `shown${EVENT_KEY$d}`;
-const EVENT_HIDE$8 = `hide${EVENT_KEY$d}`;
+const EVENT_SHOW$7 = `show${EVENT_KEY$d}`;
+const EVENT_SHOWN$6 = `shown${EVENT_KEY$d}`;
+const EVENT_HIDE$6 = `hide${EVENT_KEY$d}`;
 const EVENT_HIDDEN$8 = `hidden${EVENT_KEY$d}`;
 const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$d}${DATA_API_KEY$9}`;
 const CLASS_NAME_SHOW$5 = 'show';
@@ -1449,7 +1484,7 @@ class Collapse extends BaseComponent {
     if (activeChildren.length && activeChildren[0]._isTransitioning) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$8);
+    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1467,7 +1502,7 @@ class Collapse extends BaseComponent {
       this._element.classList.remove(CLASS_NAME_COLLAPSING);
       this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$5);
       this._element.style[dimension] = '';
-      EventHandler.trigger(this._element, EVENT_SHOWN$8);
+      EventHandler.trigger(this._element, EVENT_SHOWN$6);
     };
     const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
     const scrollSize = `scroll${capitalizedDimension}`;
@@ -1478,7 +1513,7 @@ class Collapse extends BaseComponent {
     if (this._isTransitioning || !this._isShown()) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$8);
+    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1705,10 +1740,10 @@ const ENTER_KEY$1 = 'Enter';
 const SPACE_KEY$1 = ' ';
 const RIGHT_MOUSE_BUTTON = 2;
 const SUBMENU_CLOSE_DELAY = 100;
-const EVENT_HIDE$7 = `hide${EVENT_KEY$c}`;
+const EVENT_HIDE$5 = `hide${EVENT_KEY$c}`;
 const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$c}`;
-const EVENT_SHOW$7 = `show${EVENT_KEY$c}`;
-const EVENT_SHOWN$7 = `shown${EVENT_KEY$c}`;
+const EVENT_SHOW$6 = `show${EVENT_KEY$c}`;
+const EVENT_SHOWN$5 = `shown${EVENT_KEY$c}`;
 const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
 const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$c}${DATA_API_KEY$8}`;
 const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$c}${DATA_API_KEY$8}`;
@@ -1804,7 +1839,7 @@ class Menu extends BaseComponent {
     const relatedTarget = {
       relatedTarget: this._element
     };
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$7, relatedTarget);
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6, relatedTarget);
     if (showEvent.defaultPrevented) {
       return;
     }
@@ -1825,7 +1860,7 @@ class Menu extends BaseComponent {
       this._parent.classList.add(CLASS_NAME_SHOW$4);
     }
     Menu._openInstances.add(this);
-    EventHandler.trigger(this._element, EVENT_SHOWN$7, relatedTarget);
+    EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
   }
   hide() {
     if (isDisabled(this._element) || !this._isShown()) {
@@ -1856,7 +1891,7 @@ class Menu extends BaseComponent {
     return SelectorEngine.next(this._element, SELECTOR_MENU$2)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU$2)[0] || SelectorEngine.findOne(SELECTOR_MENU$2, this._parent);
   }
   _completeHide(relatedTarget) {
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$7, relatedTarget);
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
     if (hideEvent.defaultPrevented) {
       return;
     }
@@ -2467,9 +2502,9 @@ const END_KEY$1 = 'End';
 const ENTER_KEY = 'Enter';
 const SPACE_KEY = ' ';
 const EVENT_CHANGE$2 = `change${EVENT_KEY$b}`;
-const EVENT_SHOW$6 = `show${EVENT_KEY$b}`;
-const EVENT_SHOWN$6 = `shown${EVENT_KEY$b}`;
-const EVENT_HIDE$6 = `hide${EVENT_KEY$b}`;
+const EVENT_SHOW$5 = `show${EVENT_KEY$b}`;
+const EVENT_SHOWN$4 = `shown${EVENT_KEY$b}`;
+const EVENT_HIDE$4 = `hide${EVENT_KEY$b}`;
 const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$b}`;
 const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
 const CLASS_NAME_SHOW$3 = 'show';
@@ -2542,7 +2577,7 @@ class Combobox extends BaseComponent {
     if (isDisabled(this._toggle) || this._isShown()) {
       return;
     }
-    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW$6);
+    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW$5);
     if (showEvent.defaultPrevented) {
       return;
     }
@@ -2552,13 +2587,13 @@ class Combobox extends BaseComponent {
       this._filterItems('');
       requestAnimationFrame(() => this._searchInput.focus());
     }
-    EventHandler.trigger(this._toggle, EVENT_SHOWN$6);
+    EventHandler.trigger(this._toggle, EVENT_SHOWN$4);
   }
   hide() {
     if (!this._isShown()) {
       return;
     }
-    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE$6);
+    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE$4);
     if (hideEvent.defaultPrevented) {
       return;
     }
@@ -2844,9 +2879,9 @@ const DATA_KEY$a = 'bs.datepicker';
 const EVENT_KEY$a = `.${DATA_KEY$a}`;
 const DATA_API_KEY$6 = '.data-api';
 const EVENT_CHANGE$1 = `change${EVENT_KEY$a}`;
-const EVENT_SHOW$5 = `show${EVENT_KEY$a}`;
-const EVENT_SHOWN$5 = `shown${EVENT_KEY$a}`;
-const EVENT_HIDE$5 = `hide${EVENT_KEY$a}`;
+const EVENT_SHOW$4 = `show${EVENT_KEY$a}`;
+const EVENT_SHOWN$3 = `shown${EVENT_KEY$a}`;
+const EVENT_HIDE$3 = `hide${EVENT_KEY$a}`;
 const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$a}`;
 const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
 const EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY$a}${DATA_API_KEY$6}`;
@@ -2932,13 +2967,13 @@ class Datepicker extends BaseComponent {
     if (!this._calendar || isDisabled(this._element) || this._isShown) {
       return;
     }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5);
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4);
     if (showEvent.defaultPrevented) {
       return;
     }
     this._calendar.show();
     this._isShown = true;
-    EventHandler.trigger(this._element, EVENT_SHOWN$5);
+    EventHandler.trigger(this._element, EVENT_SHOWN$3);
   }
   hide() {
     if (this._config.inline) {
@@ -2947,7 +2982,7 @@ class Datepicker extends BaseComponent {
     if (!this._calendar || !this._isShown) {
       return;
     }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5);
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
     if (hideEvent.defaultPrevented) {
       return;
     }
@@ -3272,14 +3307,16 @@ const CLASS_NAME_OPEN = 'dialog-open';
 /**
  * Class definition
  *
- * Shared base class for Dialog and Offcanvas components that use
+ * Shared base class for Dialog and Drawer components that use
  * the native <dialog> element. Provides common behavior for:
+ * - Show/hide/toggle lifecycle with events
  * - Opening/closing via showModal()/show()/close()
  * - Escape key handling (modal and non-modal)
  * - Backdrop click handling
  * - Static backdrop transition ("bounce")
  * - Body scroll prevention
  * - Transition coordination
+ * - Child component cleanup (tooltips, popovers, toasts)
  */
 
 class DialogBase extends BaseComponent {
@@ -3291,12 +3328,88 @@ class DialogBase extends BaseComponent {
   }
 
   // Getters — subclasses override NAME with their own component name.
-  // This base name is only used if DialogBase is instantiated directly.
   static get NAME() {
     return 'dialogbase';
   }
 
-  // Protected - subclasses use these to implement show()/hide()
+  // Public — shared lifecycle methods
+
+  toggle(relatedTarget) {
+    return this._element.open ? this.hide() : this.show(relatedTarget);
+  }
+  show(relatedTarget) {
+    if (this._element.open || this._isTransitioning) {
+      return;
+    }
+    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName('show'), {
+      relatedTarget
+    });
+    if (showEvent.defaultPrevented) {
+      return;
+    }
+    this._isTransitioning = true;
+    this._onBeforeShow();
+    const {
+      modal,
+      preventBodyScroll
+    } = this._getShowOptions();
+    this._showElement({
+      modal,
+      preventBodyScroll
+    });
+    this._queueCallback(() => {
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, this.constructor.eventName('shown'), {
+        relatedTarget
+      });
+    }, this._element, this._isAnimated());
+  }
+  hide() {
+    if (!this._element.open || this._isTransitioning) {
+      return;
+    }
+    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName('hide'));
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    this._isTransitioning = true;
+    this._hideElement();
+    this._onAfterHide();
+    this._queueCallback(() => {
+      this._element.classList.remove('hiding');
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, this.constructor.eventName('hidden'));
+    }, this._element, this._isAnimated());
+  }
+
+  // Protected — hooks for subclasses to override
+
+  _getShowOptions() {
+    return {
+      modal: true,
+      preventBodyScroll: true
+    };
+  }
+  _onBeforeShow() {
+    // No-op by default — Dialog overrides to add nonmodal class
+  }
+  _onAfterHide() {
+    // No-op by default — Dialog overrides to remove nonmodal class
+  }
+  _isAnimated() {
+    return !this._element.classList.contains(this._getInstantClassName());
+  }
+  _getInstantClassName() {
+    return 'dialog-instant';
+  }
+  _getStaticClassName() {
+    return 'dialog-static';
+  }
+  _onCancel() {
+    // No-op by default — Dialog overrides to fire cancel event
+  }
+
+  // Protected — shared mechanics
 
   _showElement({
     modal = true,
@@ -3313,7 +3426,12 @@ class DialogBase extends BaseComponent {
     }
   }
   _hideElement() {
-    // this._hideChildComponents()
+    this._hideChildComponents();
+
+    // Add .hiding before close() so CSS exit transitions can play.
+    // Without this, the navbar's `:not([open])` transition-kill rule
+    // would prevent the slide-out animation.
+    this._element.classList.add('hiding');
     this._element.close();
     this._openedAsModal = false;
 
@@ -3322,6 +3440,17 @@ class DialogBase extends BaseComponent {
       document.body.classList.remove(CLASS_NAME_OPEN);
     }
   }
+  _triggerBackdropTransition() {
+    const hidePreventedEvent = EventHandler.trigger(this._element, this.constructor.eventName('hidePrevented'));
+    if (hidePreventedEvent.defaultPrevented) {
+      return;
+    }
+    const staticClass = this._getStaticClassName();
+    this._element.classList.add(staticClass);
+    this._queueCallback(() => {
+      this._element.classList.remove(staticClass);
+    }, this._element);
+  }
 
   // Hide any tooltips, popovers, or toasts inside the dialog before closing.
   // These components append to the dialog (for top-layer rendering) and would
@@ -3329,7 +3458,7 @@ class DialogBase extends BaseComponent {
   _hideChildComponents() {
     const selector = '[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]';
     for (const el of SelectorEngine.find(selector, this._element)) {
-      const instance = BaseComponent.getInstance(el);
+      const instance = Data.getAny(el);
       if (instance && typeof instance.hide === 'function') {
         instance.hide();
       }
@@ -3337,28 +3466,12 @@ class DialogBase extends BaseComponent {
 
     // Hide any visible toasts
     for (const el of SelectorEngine.find('.toast.show', this._element)) {
-      const instance = BaseComponent.getInstance(el);
+      const instance = Data.getAny(el);
       if (instance && typeof instance.hide === 'function') {
         instance.hide();
       }
     }
   }
-  _triggerBackdropTransition() {
-    const hidePreventedEvent = EventHandler.trigger(this._element, this.constructor.eventName('hidePrevented'));
-    if (hidePreventedEvent.defaultPrevented) {
-      return;
-    }
-    const staticClass = this._getStaticClassName();
-    this._element.classList.add(staticClass);
-    this._queueCallback(() => {
-      this._element.classList.remove(staticClass);
-    }, this._element);
-  }
-
-  // Overrideable by subclasses for component-specific class names
-  _getStaticClassName() {
-    return 'dialog-static';
-  }
 
   // Private
 
@@ -3366,10 +3479,7 @@ class DialogBase extends BaseComponent {
     const eventKey = this.constructor.EVENT_KEY;
 
     // Handle native cancel event (Escape key) — only fires for modal dialogs
-    // Note: 'cancel' is not in EventHandler's nativeEvents set, so we must
-    // register it without namespace to properly bind to the native event.
     EventHandler.on(this._element, 'cancel', event => {
-      // Prevent native close behavior — we handle it
       event.preventDefault();
       if (!this._config.keyboard) {
         this._triggerBackdropTransition();
@@ -3393,9 +3503,7 @@ class DialogBase extends BaseComponent {
     });
 
     // Handle backdrop clicks — only applies to modal dialogs
-    // Native <dialog> fires click on the dialog element itself when backdrop is clicked
     EventHandler.on(this._element, `click${eventKey}`, event => {
-      // Only handle clicks directly on the dialog (backdrop area), not child content
       if (event.target !== this._element || !this._openedAsModal) {
         return;
       }
@@ -3406,11 +3514,6 @@ class DialogBase extends BaseComponent {
       this.hide();
     });
   }
-
-  // Hook for subclasses to fire component-specific cancel events
-  _onCancel() {
-    // No-op by default — Dialog overrides this to fire its cancel event
-  }
 }
 
 /**
@@ -3429,9 +3532,7 @@ const NAME$c = 'dialog';
 const DATA_KEY$9 = 'bs.dialog';
 const EVENT_KEY$9 = `.${DATA_KEY$9}`;
 const DATA_API_KEY$5 = '.data-api';
-const EVENT_SHOW$4 = `show${EVENT_KEY$9}`;
-const EVENT_SHOWN$4 = `shown${EVENT_KEY$9}`;
-const EVENT_HIDE$4 = `hide${EVENT_KEY$9}`;
+const EVENT_SHOW$3 = `show${EVENT_KEY$9}`;
 const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$9}`;
 const EVENT_CANCEL = `cancel${EVENT_KEY$9}`;
 const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
@@ -3439,9 +3540,8 @@ const CLASS_NAME_NONMODAL = 'dialog-nonmodal';
 const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dialog"]';
 const Default$b = {
   backdrop: true,
-  // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs
   keyboard: true,
-  modal: true // true uses showModal(), false uses show() for non-modal dialogs
+  modal: true
 };
 const DefaultType$b = {
   backdrop: '(boolean|string)',
@@ -3466,61 +3566,26 @@ class Dialog extends DialogBase {
   }
 
   // Public
-  toggle(relatedTarget) {
-    return this._element.open ? this.hide() : this.show(relatedTarget);
+  handleUpdate() {
+    // Provided for API consistency with Modal.
   }
-  show(relatedTarget) {
-    if (this._element.open || this._isTransitioning) {
-      return;
-    }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {
-      relatedTarget
-    });
-    if (showEvent.defaultPrevented) {
-      return;
-    }
-    this._isTransitioning = true;
-    if (!this._config.modal) {
-      this._element.classList.add(CLASS_NAME_NONMODAL);
-    }
-    this._showElement({
+
+  // Protected — hook overrides
+
+  _getShowOptions() {
+    return {
       modal: this._config.modal,
       preventBodyScroll: this._config.modal
-    });
-
-    // CSS @starting-style handles the entry animation automatically.
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_SHOWN$4, {
-        relatedTarget
-      });
-    }, this._element, true);
+    };
   }
-  hide() {
-    if (!this._element.open || this._isTransitioning) {
-      return;
-    }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
-    if (hideEvent.defaultPrevented) {
-      return;
+  _onBeforeShow() {
+    if (!this._config.modal) {
+      this._element.classList.add(CLASS_NAME_NONMODAL);
     }
-    this._isTransitioning = true;
-
-    // Call close() immediately — CSS handles the exit animation via
-    // transition-behavior: allow-discrete on display and overlay.
-    this._hideElement();
-    this._element.classList.remove(CLASS_NAME_NONMODAL);
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_HIDDEN$4);
-    }, this._element, true);
   }
-  handleUpdate() {
-    // Provided for API consistency with Modal.
-    // Native dialogs handle their own positioning.
+  _onAfterHide() {
+    this._element.classList.remove(CLASS_NAME_NONMODAL);
   }
-
-  // Private
   _onCancel() {
     EventHandler.trigger(this._element, EVENT_CANCEL);
   }
@@ -3535,7 +3600,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, functi
   if (['A', 'AREA'].includes(this.tagName)) {
     event.preventDefault();
   }
-  EventHandler.one(target, EVENT_SHOW$4, showEvent => {
+  EventHandler.one(target, EVENT_SHOW$3, showEvent => {
     if (showEvent.defaultPrevented) {
       return;
     }
@@ -3549,15 +3614,12 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$5, functi
   // Get config from trigger's data attributes
   const config = Manipulator.getDataAttributes(this);
 
-  // Check if trigger is inside an open dialog
+  // Check if trigger is inside an open dialog (dialog swapping)
   const currentDialog = this.closest('dialog[open]');
   const shouldSwap = currentDialog && currentDialog !== target;
   if (shouldSwap) {
-    // Open new dialog first (its backdrop appears over current)
     const newDialog = Dialog.getOrCreateInstance(target, config);
     newDialog.show(this);
-
-    // Close the current dialog (no backdrop flash since new one is already open)
     const currentInstance = Dialog.getInstance(currentDialog);
     if (currentInstance) {
       currentInstance.hide();
@@ -3593,13 +3655,20 @@ const SELECTOR_NAV_ITEM = '.nav-item';
 const SELECTOR_NAV_LINK = '.nav-link';
 const SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle';
 const SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu';
+const SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]';
 const CLASS_NAME_KEEP = 'nav-overflow-keep';
 const Default$a = {
+  collapseBelow: 0,
+  iconPlacement: 'start',
+  menuPlacement: 'bottom-end',
   moreText: 'More',
   moreIcon: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',
   threshold: 0 // Minimum items to keep visible before showing overflow
 };
 const DefaultType$a = {
+  collapseBelow: '(number|string)',
+  iconPlacement: 'string',
+  menuPlacement: 'string',
   moreText: 'string',
   moreIcon: 'string',
   threshold: 'number'
@@ -3617,6 +3686,7 @@ class NavOverflow extends BaseComponent {
     this._overflowMenu = null;
     this._overflowToggle = null;
     this._resizeObserver = null;
+    this._collapseBelow = 0;
     this._isInitialized = false;
     this._init();
   }
@@ -3665,6 +3735,9 @@ class NavOverflow extends BaseComponent {
       item.dataset.bsNavOrder = index;
     }
 
+    // Resolve collapseBelow threshold once
+    this._collapseBelow = this._resolveCollapseBelow();
+
     // Create overflow menu if it doesn't exist
     this._createOverflowMenu();
 
@@ -3682,12 +3755,15 @@ class NavOverflow extends BaseComponent {
       this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element);
       return;
     }
+    const iconHtml = this._resolveIcon();
+    const iconSpan = `<span class="nav-overflow-icon">${iconHtml}</span>`;
+    const textSpan = `<span class="nav-overflow-text">${this._config.moreText}</span>`;
+    const toggleContent = this._config.iconPlacement === 'end' ? `${textSpan}${iconSpan}` : `${iconSpan}${textSpan}`;
     const overflowItem = document.createElement('li');
     overflowItem.className = 'nav-item nav-overflow-item';
     overflowItem.innerHTML = `
-      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">
-        <span class="nav-overflow-icon">${this._config.moreIcon}</span>
-        <span class="nav-overflow-text">${this._config.moreText}</span>
+      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="${this._config.menuPlacement}" aria-expanded="false">
+        ${toggleContent}
       </button>
       <div class="${CLASS_NAME_OVERFLOW_MENU} menu"></div>
     `;
@@ -3695,6 +3771,28 @@ class NavOverflow extends BaseComponent {
     this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE);
     this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU);
   }
+  _resolveIcon() {
+    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element);
+    if (!customIconElement) {
+      return this._config.moreIcon;
+    }
+    const iconClone = customIconElement.cloneNode(true);
+    iconClone.removeAttribute('data-bs-overflow-icon');
+    const iconHtml = iconClone.outerHTML;
+    customIconElement.remove();
+    return iconHtml;
+  }
+  _resolveCollapseBelow() {
+    const value = this._config.collapseBelow;
+    if (typeof value === 'number') {
+      return value;
+    }
+    if (typeof value === 'string' && value !== '') {
+      const cssValue = getComputedStyle(document.documentElement).getPropertyValue(`--bs-breakpoint-${value}`);
+      return Number.parseFloat(cssValue) || 0;
+    }
+    return 0;
+  }
   _setupResizeObserver() {
     if (typeof ResizeObserver === 'undefined') {
       // Fallback for older browsers
@@ -3711,6 +3809,26 @@ class NavOverflow extends BaseComponent {
     this._restoreItems();
     const navWidth = this._element.offsetWidth;
     const overflowItem = this._overflowToggle?.closest('.nav-item');
+
+    // When below the collapseBelow threshold, force all items into overflow
+    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {
+      const itemsToOverflow = this._items.filter(item => !item.classList.contains(CLASS_NAME_KEEP));
+      this._moveToOverflow(itemsToOverflow);
+      if (overflowItem) {
+        if (itemsToOverflow.length > 0) {
+          overflowItem.classList.remove(CLASS_NAME_HIDDEN);
+        } else {
+          overflowItem.classList.add(CLASS_NAME_HIDDEN);
+        }
+      }
+      if (itemsToOverflow.length > 0) {
+        EventHandler.trigger(this._element, EVENT_OVERFLOW, {
+          overflowCount: itemsToOverflow.length,
+          visibleCount: this._items.length - itemsToOverflow.length
+        });
+      }
+      return;
+    }
     const overflowWidth = overflowItem?.offsetWidth || 0;
     let usedWidth = 0;
     const itemsToOverflow = [];
@@ -3812,7 +3930,7 @@ EventHandler.on(document, 'DOMContentLoaded', () => {
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap offcanvas.js
+ * Bootstrap drawer.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -3822,18 +3940,15 @@ EventHandler.on(document, 'DOMContentLoaded', () => {
  * Constants
  */
 
-const NAME$a = 'offcanvas';
-const DATA_KEY$7 = 'bs.offcanvas';
+const NAME$a = 'drawer';
+const DATA_KEY$7 = 'bs.drawer';
 const EVENT_KEY$7 = `.${DATA_KEY$7}`;
 const DATA_API_KEY$4 = '.data-api';
 const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$7}${DATA_API_KEY$4}`;
-const EVENT_SHOW$3 = `show${EVENT_KEY$7}`;
-const EVENT_SHOWN$3 = `shown${EVENT_KEY$7}`;
-const EVENT_HIDE$3 = `hide${EVENT_KEY$7}`;
 const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$7}`;
 const EVENT_RESIZE = `resize${EVENT_KEY$7}`;
 const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
-const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="offcanvas"]';
+const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="drawer"]';
 const Default$9 = {
   backdrop: true,
   keyboard: true,
@@ -3849,7 +3964,12 @@ const DefaultType$9 = {
  * Class definition
  */
 
-class Offcanvas extends DialogBase {
+class Drawer extends DialogBase {
+  constructor(element, config) {
+    super(element, config);
+    this._swipeHelper = null;
+  }
+
   // Getters
   static get Default() {
     return Default$9;
@@ -3862,63 +3982,61 @@ class Offcanvas extends DialogBase {
   }
 
   // Public
-  toggle(relatedTarget) {
-    return this._element.open ? this.hide() : this.show(relatedTarget);
-  }
-  show(relatedTarget) {
-    if (this._element.open || this._isTransitioning) {
-      return;
-    }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
-      relatedTarget
-    });
-    if (showEvent.defaultPrevented) {
-      return;
+  dispose() {
+    if (this._swipeHelper) {
+      this._swipeHelper.dispose();
     }
-    this._isTransitioning = true;
+    super.dispose();
+  }
 
-    // Determine modal mode:
-    // - Use showModal() (modal) when backdrop is enabled or scroll is disabled
-    // - Use show() (non-modal) when backdrop is false AND scroll is true
-    //   (matches behavior where focus trap is skipped for this combo)
+  // Protected — hook overrides
+
+  _getShowOptions() {
     const useModal = Boolean(this._config.backdrop) || !this._config.scroll;
-    this._showElement({
+    return {
       modal: useModal,
       preventBodyScroll: !this._config.scroll
-    });
-
-    // CSS @starting-style handles the entry animation automatically.
-    // Wait for the transform transition to complete, then fire shown.
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_SHOWN$3, {
-        relatedTarget
-      });
-    }, this._element, true);
+    };
   }
-  hide() {
-    if (!this._element.open || this._isTransitioning) {
-      return;
-    }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
-    if (hideEvent.defaultPrevented) {
-      return;
-    }
-    this._isTransitioning = true;
-
-    // Call close() immediately — CSS handles the exit animation via
-    // transition-behavior: allow-discrete on display and overlay,
-    // keeping the element visible and in the top layer until complete.
-    this._hideElement();
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_HIDDEN$3);
-    }, this._element, true);
+  _onBeforeShow() {
+    this._initSwipe();
+  }
+  _getInstantClassName() {
+    return 'drawer-instant';
+  }
+  _getStaticClassName() {
+    return 'drawer-static';
   }
 
   // Private
-  _getStaticClassName() {
-    return 'offcanvas-static';
+
+  _initSwipe() {
+    if (this._swipeHelper || !Swipe.isSupported()) {
+      return;
+    }
+
+    // Determine which swipe direction dismisses based on placement
+    const swipeConfig = {};
+    const element = this._element;
+    if (element.classList.contains('drawer-bottom')) {
+      swipeConfig.downCallback = () => this.hide();
+    } else if (element.classList.contains('drawer-top')) {
+      swipeConfig.upCallback = () => this.hide();
+    } else if (element.classList.contains('drawer-end')) {
+      // RTL: swipe left to dismiss end drawer
+      if (isRTL()) {
+        swipeConfig.leftCallback = () => this.hide();
+      } else {
+        swipeConfig.rightCallback = () => this.hide();
+      }
+    } else if (isRTL()) {
+      // drawer-start (default): swipe right to dismiss in RTL
+      swipeConfig.rightCallback = () => this.hide();
+    } else {
+      // drawer-start (default): swipe left to dismiss in LTR
+      swipeConfig.leftCallback = () => this.hide();
+    }
+    this._swipeHelper = new Swipe(element, swipeConfig);
   }
 }
 
@@ -3935,33 +4053,32 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$4, functi
     return;
   }
   EventHandler.one(target, EVENT_HIDDEN$3, () => {
-    // Focus on trigger when it is closed
     if (isVisible(this)) {
       this.focus();
     }
   });
 
-  // Avoid conflict when clicking a toggler of an offcanvas, while another is open
-  const alreadyOpen = SelectorEngine.findOne('dialog.offcanvas[open]');
+  // Avoid conflict when clicking a toggler of a drawer, while another is open
+  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]');
   if (alreadyOpen && alreadyOpen !== target) {
-    Offcanvas.getInstance(alreadyOpen).hide();
+    Drawer.getInstance(alreadyOpen).hide();
   }
-  const data = Offcanvas.getOrCreateInstance(target);
+  const data = Drawer.getOrCreateInstance(target);
   data.toggle(this);
 });
 EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
-  for (const selector of SelectorEngine.find('dialog.offcanvas[open]')) {
-    Offcanvas.getOrCreateInstance(selector).show();
+  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {
+    Drawer.getOrCreateInstance(selector).show();
   }
 });
 EventHandler.on(window, EVENT_RESIZE, () => {
-  for (const element of SelectorEngine.find('dialog[open][class*="\\:offcanvas"]')) {
+  for (const element of SelectorEngine.find('dialog[open][class*="\\:drawer"]')) {
     if (getComputedStyle(element).position !== 'fixed') {
-      Offcanvas.getOrCreateInstance(element).hide();
+      Drawer.getOrCreateInstance(element).hide();
     }
   }
 });
-enableDismissTrigger(Offcanvas);
+enableDismissTrigger(Drawer);
 
 /**
  * --------------------------------------------------------------------------
@@ -6662,5 +6779,5 @@ class Toggler extends BaseComponent {
 
 eventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle');
 
-export { Alert, Button, Carousel, ChipInput, Collapse, Combobox, Datepicker, Dialog, Menu, NavOverflow, Offcanvas, OtpInput, Popover, ScrollSpy, Strength, Tab, Toast, Toggler, Tooltip };
+export { Alert, Button, Carousel, ChipInput, Collapse, Combobox, Datepicker, Dialog, Drawer, Menu, NavOverflow, OtpInput, Popover, ScrollSpy, Strength, Tab, Toast, Toggler, Tooltip };
 //# sourceMappingURL=bootstrap.js.map
index eff37032a64e4ce4d2a1ba29d716775f36ca1e56..e047cee833726b926520be6bf21c6d98dac3a1c3 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Offcanvas components that use\n * the native <dialog> element. Provides common behavior for:\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  // This base name is only used if DialogBase is instantiated directly.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Protected - subclasses use these to implement show()/hide()\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    // this._hideChildComponents()\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Overrideable by subclasses for component-specific class names\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    // Note: 'cancel' is not in EventHandler's nativeEvents set, so we must\n    // register it without namespace to properly bind to the native event.\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior — we handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    // Native <dialog> fires click on the dialog element itself when backdrop is clicked\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      // Only handle clicks directly on the dialog (backdrop area), not child content\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n\n  // Hook for subclasses to fire component-specific cancel events\n  _onCancel() {\n    // No-op by default — Dialog overrides this to fire its cancel event\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n\n    this._showElement({\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay.\n    this._hideElement()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n        <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n        <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Determine modal mode:\n    // - Use showModal() (modal) when backdrop is enabled or scroll is disabled\n    // - Use show() (non-modal) when backdrop is false AND scroll is true\n    //   (matches behavior where focus trap is skipped for this combo)\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n\n    this._showElement({\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    // Wait for the transform transition to complete, then fire shown.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay,\n    // keeping the element visible and in the top layer until complete.\n    this._hideElement()\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  // Private\n  _getStaticClassName() {\n    return 'offcanvas-static'\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // Focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.offcanvas[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.offcanvas[open]')) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:offcanvas\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","offset","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","_openInstances","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","showEvent","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","hideEvent","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","selectedItems","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","_showElement","modal","preventBodyScroll","showModal","_hideElement","_hideChildComponents","_triggerBackdropTransition","hidePreventedEvent","staticClass","_getStaticClassName","eventKey","_onCancel","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","open","handleUpdate","currentDialog","shouldSwap","newDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","className","innerHTML","ResizeObserver","navWidth","offsetWidth","overflowWidth","usedWidth","itemsToOverflow","overflowThreshold","itemWidth","toMove","_moveToOverflow","overflowCount","link","clonedLink","cloneNode","bsNavOverflow","EVENT_RESIZE","scroll","Offcanvas","useModal","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","addEvent","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeEvent","v","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","options","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","start","end","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","shiftKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","c","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elements","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","IntersectionObserver","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAMA,UAAU,GAAG,IAAIC,GAAG,EAAE;AAE5B,aAAe;AACbC,EAAAA,GAAGA,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAE;AAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;MAC5BH,UAAU,CAACE,GAAG,CAACC,OAAO,EAAE,IAAIF,GAAG,EAAE,CAAC;AACpC,IAAA;AAEA,IAAA,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;;AAE3C;AACA;AACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAG,CAACF,GAAG,CAAC,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AACnD;AACAC,MAAAA,OAAO,CAACC,KAAK,CAAC,+EAA+EC,KAAK,CAACC,IAAI,CAACN,WAAW,CAACO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClI,MAAA;AACF,IAAA;AAEAP,IAAAA,WAAW,CAACL,GAAG,CAACE,GAAG,EAAEC,QAAQ,CAAC;EAChC,CAAC;AAEDG,EAAAA,GAAGA,CAACL,OAAO,EAAEC,GAAG,EAAE;AAChB,IAAA,IAAIJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACK,GAAG,CAACJ,GAAG,CAAC,IAAI,IAAI;AACjD,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;AAEDW,EAAAA,MAAMA,CAACZ,OAAO,EAAEC,GAAG,EAAE;AACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA;AACF,IAAA;AAEA,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;AAE3CI,IAAAA,WAAW,CAACS,MAAM,CAACZ,GAAG,CAAC;;AAEvB;AACA,IAAA,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AAC1BT,MAAAA,UAAU,CAACgB,MAAM,CAACb,OAAO,CAAC;AAC5B,IAAA;AACF,EAAA;AACF,CAAC;;ACtDD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAMc,cAAc,GAAG,oBAAoB;AAC3C,MAAMC,cAAc,GAAG,MAAM;AAC7B,MAAMC,aAAa,GAAG,QAAQ;AAC9B,MAAMC,aAAa,GAAG,EAAE,CAAA;AACxB,IAAIC,QAAQ,GAAG,CAAC;AAChB,MAAMC,YAAY,GAAG;AACnBC,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAC,CAC3B,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;;AAEF;AACA;AACA;;AAEA,SAASC,YAAYA,CAACxB,OAAO,EAAEyB,GAAG,EAAE;AAClC,EAAA,OAAQA,GAAG,IAAI,CAAA,EAAGA,GAAG,KAAKP,QAAQ,EAAE,CAAA,CAAE,IAAKlB,OAAO,CAACkB,QAAQ,IAAIA,QAAQ,EAAE;AAC3E;AAEA,SAASQ,gBAAgBA,CAAC1B,OAAO,EAAE;AACjC,EAAA,MAAMyB,GAAG,GAAGD,YAAY,CAACxB,OAAO,CAAC;EAEjCA,OAAO,CAACkB,QAAQ,GAAGO,GAAG;EACtBR,aAAa,CAACQ,GAAG,CAAC,GAAGR,aAAa,CAACQ,GAAG,CAAC,IAAI,EAAE;EAE7C,OAAOR,aAAa,CAACQ,GAAG,CAAC;AAC3B;AAEA,SAASE,gBAAgBA,CAAC3B,OAAO,EAAE4B,EAAE,EAAE;AACrC,EAAA,OAAO,SAASC,OAAOA,CAACC,KAAK,EAAE;IAC7BC,UAAU,CAACD,KAAK,EAAE;AAAEE,MAAAA,cAAc,EAAEhC;AAAQ,KAAC,CAAC;IAE9C,IAAI6B,OAAO,CAACI,MAAM,EAAE;MAClBC,YAAY,CAACC,GAAG,CAACnC,OAAO,EAAE8B,KAAK,CAACM,IAAI,EAAER,EAAE,CAAC;AAC3C,IAAA;IAEA,OAAOA,EAAE,CAACS,KAAK,CAACrC,OAAO,EAAE,CAAC8B,KAAK,CAAC,CAAC;EACnC,CAAC;AACH;AAEA,SAASQ,0BAA0BA,CAACtC,OAAO,EAAEuC,QAAQ,EAAEX,EAAE,EAAE;AACzD,EAAA,OAAO,SAASC,OAAOA,CAACC,KAAK,EAAE;AAC7B,IAAA,MAAMU,WAAW,GAAGxC,OAAO,CAACyC,gBAAgB,CAACF,QAAQ,CAAC;AAEtD,IAAA,KAAK,IAAI;AAAEG,MAAAA;AAAO,KAAC,GAAGZ,KAAK,EAAEY,MAAM,IAAIA,MAAM,KAAK,IAAI,EAAEA,MAAM,GAAGA,MAAM,CAACC,UAAU,EAAE;AAClF,MAAA,KAAK,MAAMC,UAAU,IAAIJ,WAAW,EAAE;QACpC,IAAII,UAAU,KAAKF,MAAM,EAAE;AACzB,UAAA;AACF,QAAA;QAEAX,UAAU,CAACD,KAAK,EAAE;AAAEE,UAAAA,cAAc,EAAEU;AAAO,SAAC,CAAC;QAE7C,IAAIb,OAAO,CAACI,MAAM,EAAE;AAClBC,UAAAA,YAAY,CAACC,GAAG,CAACnC,OAAO,EAAE8B,KAAK,CAACM,IAAI,EAAEG,QAAQ,EAAEX,EAAE,CAAC;AACrD,QAAA;QAEA,OAAOA,EAAE,CAACS,KAAK,CAACK,MAAM,EAAE,CAACZ,KAAK,CAAC,CAAC;AAClC,MAAA;AACF,IAAA;EACF,CAAC;AACH;AAEA,SAASe,WAAWA,CAACC,MAAM,EAAEC,QAAQ,EAAEC,kBAAkB,GAAG,IAAI,EAAE;EAChE,OAAOC,MAAM,CAACC,MAAM,CAACJ,MAAM,CAAC,CACzBK,IAAI,CAACrB,KAAK,IAAIA,KAAK,CAACiB,QAAQ,KAAKA,QAAQ,IAAIjB,KAAK,CAACkB,kBAAkB,KAAKA,kBAAkB,CAAC;AAClG;AAEA,SAASI,mBAAmBA,CAACC,iBAAiB,EAAExB,OAAO,EAAEyB,kBAAkB,EAAE;AAC3E,EAAA,MAAMC,WAAW,GAAG,OAAO1B,OAAO,KAAK,QAAQ;EAC/C,MAAMkB,QAAQ,GAAGQ,WAAW,GAAGD,kBAAkB,GAAIzB,OAAO,IAAIyB,kBAAmB;AACnF,EAAA,IAAIE,SAAS,GAAGC,YAAY,CAACJ,iBAAiB,CAAC;AAE/C,EAAA,IAAI,CAAC/B,YAAY,CAACnB,GAAG,CAACqD,SAAS,CAAC,EAAE;AAChCA,IAAAA,SAAS,GAAGH,iBAAiB;AAC/B,EAAA;AAEA,EAAA,OAAO,CAACE,WAAW,EAAER,QAAQ,EAAES,SAAS,CAAC;AAC3C;AAEA,SAASE,UAAUA,CAAC1D,OAAO,EAAEqD,iBAAiB,EAAExB,OAAO,EAAEyB,kBAAkB,EAAErB,MAAM,EAAE;AACnF,EAAA,IAAI,OAAOoB,iBAAiB,KAAK,QAAQ,IAAI,CAACrD,OAAO,EAAE;AACrD,IAAA;AACF,EAAA;AAEA,EAAA,IAAI,CAACuD,WAAW,EAAER,QAAQ,EAAES,SAAS,CAAC,GAAGJ,mBAAmB,CAACC,iBAAiB,EAAExB,OAAO,EAAEyB,kBAAkB,CAAC;;AAE5G;AACA;EACA,IAAID,iBAAiB,IAAIlC,YAAY,EAAE;IACrC,MAAMwC,YAAY,GAAG/B,EAAE,IAAI;MACzB,OAAO,UAAUE,KAAK,EAAE;QACtB,IAAI,CAACA,KAAK,CAAC8B,aAAa,IAAK9B,KAAK,CAAC8B,aAAa,KAAK9B,KAAK,CAACE,cAAc,IAAI,CAACF,KAAK,CAACE,cAAc,CAAC6B,QAAQ,CAAC/B,KAAK,CAAC8B,aAAa,CAAE,EAAE;AACjI,UAAA,OAAOhC,EAAE,CAACkC,IAAI,CAAC,IAAI,EAAEhC,KAAK,CAAC;AAC7B,QAAA;MACF,CAAC;IACH,CAAC;AAEDiB,IAAAA,QAAQ,GAAGY,YAAY,CAACZ,QAAQ,CAAC;AACnC,EAAA;AAEA,EAAA,MAAMD,MAAM,GAAGpB,gBAAgB,CAAC1B,OAAO,CAAC;AACxC,EAAA,MAAM+D,QAAQ,GAAGjB,MAAM,CAACU,SAAS,CAAC,KAAKV,MAAM,CAACU,SAAS,CAAC,GAAG,EAAE,CAAC;AAC9D,EAAA,MAAMQ,gBAAgB,GAAGnB,WAAW,CAACkB,QAAQ,EAAEhB,QAAQ,EAAEQ,WAAW,GAAG1B,OAAO,GAAG,IAAI,CAAC;AAEtF,EAAA,IAAImC,gBAAgB,EAAE;AACpBA,IAAAA,gBAAgB,CAAC/B,MAAM,GAAG+B,gBAAgB,CAAC/B,MAAM,IAAIA,MAAM;AAE3D,IAAA;AACF,EAAA;AAEA,EAAA,MAAMR,GAAG,GAAGD,YAAY,CAACuB,QAAQ,EAAEM,iBAAiB,CAACY,OAAO,CAACnD,cAAc,EAAE,EAAE,CAAC,CAAC;AACjF,EAAA,MAAMc,EAAE,GAAG2B,WAAW,GACpBjB,0BAA0B,CAACtC,OAAO,EAAE6B,OAAO,EAAEkB,QAAQ,CAAC,GACtDpB,gBAAgB,CAAC3B,OAAO,EAAE+C,QAAQ,CAAC;AAErCnB,EAAAA,EAAE,CAACoB,kBAAkB,GAAGO,WAAW,GAAG1B,OAAO,GAAG,IAAI;EACpDD,EAAE,CAACmB,QAAQ,GAAGA,QAAQ;EACtBnB,EAAE,CAACK,MAAM,GAAGA,MAAM;EAClBL,EAAE,CAACV,QAAQ,GAAGO,GAAG;AACjBsC,EAAAA,QAAQ,CAACtC,GAAG,CAAC,GAAGG,EAAE;EAElB5B,OAAO,CAACkE,gBAAgB,CAACV,SAAS,EAAE5B,EAAE,EAAE2B,WAAW,CAAC;AACtD;AAEA,SAASY,aAAaA,CAACnE,OAAO,EAAE8C,MAAM,EAAEU,SAAS,EAAE3B,OAAO,EAAEmB,kBAAkB,EAAE;AAC9E,EAAA,MAAMpB,EAAE,GAAGiB,WAAW,CAACC,MAAM,CAACU,SAAS,CAAC,EAAE3B,OAAO,EAAEmB,kBAAkB,CAAC;EAEtE,IAAI,CAACpB,EAAE,EAAE;AACP,IAAA;AACF,EAAA;EAEA5B,OAAO,CAACoE,mBAAmB,CAACZ,SAAS,EAAE5B,EAAE,EAAEyC,OAAO,CAACrB,kBAAkB,CAAC,CAAC;EACvE,OAAOF,MAAM,CAACU,SAAS,CAAC,CAAC5B,EAAE,CAACV,QAAQ,CAAC;AACvC;AAEA,SAASoD,wBAAwBA,CAACtE,OAAO,EAAE8C,MAAM,EAAEU,SAAS,EAAEe,SAAS,EAAE;EACvE,MAAMC,iBAAiB,GAAG1B,MAAM,CAACU,SAAS,CAAC,IAAI,EAAE;AAEjD,EAAA,KAAK,MAAM,CAACiB,UAAU,EAAE3C,KAAK,CAAC,IAAImB,MAAM,CAACyB,OAAO,CAACF,iBAAiB,CAAC,EAAE;AACnE,IAAA,IAAIC,UAAU,CAACE,QAAQ,CAACJ,SAAS,CAAC,EAAE;AAClCJ,MAAAA,aAAa,CAACnE,OAAO,EAAE8C,MAAM,EAAEU,SAAS,EAAE1B,KAAK,CAACiB,QAAQ,EAAEjB,KAAK,CAACkB,kBAAkB,CAAC;AACrF,IAAA;AACF,EAAA;AACF;AAEA,SAASS,YAAYA,CAAC3B,KAAK,EAAE;AAC3B;EACAA,KAAK,GAAGA,KAAK,CAACmC,OAAO,CAAClD,cAAc,EAAE,EAAE,CAAC;AACzC,EAAA,OAAOI,YAAY,CAACW,KAAK,CAAC,IAAIA,KAAK;AACrC;AAEA,MAAMI,YAAY,GAAG;EACnB0C,EAAEA,CAAC5E,OAAO,EAAE8B,KAAK,EAAED,OAAO,EAAEyB,kBAAkB,EAAE;IAC9CI,UAAU,CAAC1D,OAAO,EAAE8B,KAAK,EAAED,OAAO,EAAEyB,kBAAkB,EAAE,KAAK,CAAC;EAChE,CAAC;EAEDuB,GAAGA,CAAC7E,OAAO,EAAE8B,KAAK,EAAED,OAAO,EAAEyB,kBAAkB,EAAE;IAC/CI,UAAU,CAAC1D,OAAO,EAAE8B,KAAK,EAAED,OAAO,EAAEyB,kBAAkB,EAAE,IAAI,CAAC;EAC/D,CAAC;EAEDnB,GAAGA,CAACnC,OAAO,EAAEqD,iBAAiB,EAAExB,OAAO,EAAEyB,kBAAkB,EAAE;AAC3D,IAAA,IAAI,OAAOD,iBAAiB,KAAK,QAAQ,IAAI,CAACrD,OAAO,EAAE;AACrD,MAAA;AACF,IAAA;AAEA,IAAA,MAAM,CAACuD,WAAW,EAAER,QAAQ,EAAES,SAAS,CAAC,GAAGJ,mBAAmB,CAACC,iBAAiB,EAAExB,OAAO,EAAEyB,kBAAkB,CAAC;AAC9G,IAAA,MAAMwB,WAAW,GAAGtB,SAAS,KAAKH,iBAAiB;AACnD,IAAA,MAAMP,MAAM,GAAGpB,gBAAgB,CAAC1B,OAAO,CAAC;IACxC,MAAMwE,iBAAiB,GAAG1B,MAAM,CAACU,SAAS,CAAC,IAAI,EAAE;AACjD,IAAA,MAAMuB,WAAW,GAAG1B,iBAAiB,CAAC2B,UAAU,CAAC,GAAG,CAAC;AAErD,IAAA,IAAI,OAAOjC,QAAQ,KAAK,WAAW,EAAE;AACnC;MACA,IAAI,CAACE,MAAM,CAACtC,IAAI,CAAC6D,iBAAiB,CAAC,CAACS,MAAM,EAAE;AAC1C,QAAA;AACF,MAAA;AAEAd,MAAAA,aAAa,CAACnE,OAAO,EAAE8C,MAAM,EAAEU,SAAS,EAAET,QAAQ,EAAEQ,WAAW,GAAG1B,OAAO,GAAG,IAAI,CAAC;AACjF,MAAA;AACF,IAAA;AAEA,IAAA,IAAIkD,WAAW,EAAE;MACf,KAAK,MAAMG,YAAY,IAAIjC,MAAM,CAACtC,IAAI,CAACmC,MAAM,CAAC,EAAE;AAC9CwB,QAAAA,wBAAwB,CAACtE,OAAO,EAAE8C,MAAM,EAAEoC,YAAY,EAAE7B,iBAAiB,CAAC8B,KAAK,CAAC,CAAC,CAAC,CAAC;AACrF,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAM,CAACC,WAAW,EAAEtD,KAAK,CAAC,IAAImB,MAAM,CAACyB,OAAO,CAACF,iBAAiB,CAAC,EAAE;MACpE,MAAMC,UAAU,GAAGW,WAAW,CAACnB,OAAO,CAACjD,aAAa,EAAE,EAAE,CAAC;MAEzD,IAAI,CAAC8D,WAAW,IAAIzB,iBAAiB,CAACsB,QAAQ,CAACF,UAAU,CAAC,EAAE;AAC1DN,QAAAA,aAAa,CAACnE,OAAO,EAAE8C,MAAM,EAAEU,SAAS,EAAE1B,KAAK,CAACiB,QAAQ,EAAEjB,KAAK,CAACkB,kBAAkB,CAAC;AACrF,MAAA;AACF,IAAA;EACF,CAAC;AAEDqC,EAAAA,OAAOA,CAACrF,OAAO,EAAE8B,KAAK,EAAEwD,IAAI,EAAE;AAC5B,IAAA,IAAI,OAAOxD,KAAK,KAAK,QAAQ,IAAI,CAAC9B,OAAO,EAAE;AACzC,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAMuF,GAAG,GAAGxD,UAAU,CAAC,IAAIyD,KAAK,CAAC1D,KAAK,EAAE;AAAE2D,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,UAAU,EAAE;KAAM,CAAC,EAAEJ,IAAI,CAAC;AACnFtF,IAAAA,OAAO,CAAC2F,aAAa,CAACJ,GAAG,CAAC;AAC1B,IAAA,OAAOA,GAAG;AACZ,EAAA;AACF,CAAC;AAED,SAASxD,UAAUA,CAAC6D,GAAG,EAAEC,IAAI,GAAG,EAAE,EAAE;AAClC,EAAA,KAAK,MAAM,CAAC5F,GAAG,EAAE6F,KAAK,CAAC,IAAI7C,MAAM,CAACyB,OAAO,CAACmB,IAAI,CAAC,EAAE;IAC/C,IAAI;AACFD,MAAAA,GAAG,CAAC3F,GAAG,CAAC,GAAG6F,KAAK;AAClB,IAAA,CAAC,CAAC,MAAM;AACN7C,MAAAA,MAAM,CAAC8C,cAAc,CAACH,GAAG,EAAE3F,GAAG,EAAE;AAC9B+F,QAAAA,YAAY,EAAE,IAAI;AAClB3F,QAAAA,GAAGA,GAAG;AACJ,UAAA,OAAOyF,KAAK;AACd,QAAA;AACF,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;AAEA,EAAA,OAAOF,GAAG;AACZ;;ACzRA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASK,aAAaA,CAACH,KAAK,EAAE;EAC5B,IAAIA,KAAK,KAAK,MAAM,EAAE;AACpB,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;AACrB,IAAA,OAAO,KAAK;AACd,EAAA;EAEA,IAAIA,KAAK,KAAKI,MAAM,CAACJ,KAAK,CAAC,CAACK,QAAQ,EAAE,EAAE;IACtC,OAAOD,MAAM,CAACJ,KAAK,CAAC;AACtB,EAAA;AAEA,EAAA,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,MAAM,EAAE;AACpC,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK;AACd,EAAA;EAEA,IAAI;IACF,OAAOM,IAAI,CAACC,KAAK,CAACC,kBAAkB,CAACR,KAAK,CAAC,CAAC;AAC9C,EAAA,CAAC,CAAC,MAAM;AACN,IAAA,OAAOA,KAAK;AACd,EAAA;AACF;AAEA,SAASS,gBAAgBA,CAACtG,GAAG,EAAE;AAC7B,EAAA,OAAOA,GAAG,CAACgE,OAAO,CAAC,QAAQ,EAAEuC,GAAG,IAAI,CAAA,CAAA,EAAIA,GAAG,CAACC,WAAW,EAAE,EAAE,CAAC;AAC9D;AAEA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,gBAAgBA,CAAC3G,OAAO,EAAEC,GAAG,EAAE6F,KAAK,EAAE;IACpC9F,OAAO,CAAC4G,YAAY,CAAC,CAAA,QAAA,EAAWL,gBAAgB,CAACtG,GAAG,CAAC,CAAA,CAAE,EAAE6F,KAAK,CAAC;EACjE,CAAC;AAEDe,EAAAA,mBAAmBA,CAAC7G,OAAO,EAAEC,GAAG,EAAE;IAChCD,OAAO,CAAC8G,eAAe,CAAC,CAAA,QAAA,EAAWP,gBAAgB,CAACtG,GAAG,CAAC,CAAA,CAAE,CAAC;EAC7D,CAAC;EAED8G,iBAAiBA,CAAC/G,OAAO,EAAE;IACzB,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA,OAAO,EAAE;AACX,IAAA;IAEA,MAAMgH,UAAU,GAAG,EAAE;AACrB,IAAA,MAAMC,MAAM,GAAGhE,MAAM,CAACtC,IAAI,CAACX,OAAO,CAACkH,OAAO,CAAC,CAACC,MAAM,CAAClH,GAAG,IAAIA,GAAG,CAAC+E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC/E,GAAG,CAAC+E,UAAU,CAAC,UAAU,CAAC,CAAC;AAE9G,IAAA,KAAK,MAAM/E,GAAG,IAAIgH,MAAM,EAAE;MACxB,IAAIG,OAAO,GAAGnH,GAAG,CAACgE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACpCmD,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAACZ,WAAW,EAAE,GAAGW,OAAO,CAACjC,KAAK,CAAC,CAAC,CAAC;AAC5D6B,MAAAA,UAAU,CAACI,OAAO,CAAC,GAAGnB,aAAa,CAACjG,OAAO,CAACkH,OAAO,CAACjH,GAAG,CAAC,CAAC;AAC3D,IAAA;AAEA,IAAA,OAAO+G,UAAU;EACnB,CAAC;AAEDM,EAAAA,gBAAgBA,CAACtH,OAAO,EAAEC,GAAG,EAAE;AAC7B,IAAA,OAAOgG,aAAa,CAACjG,OAAO,CAACuH,YAAY,CAAC,CAAA,QAAA,EAAWhB,gBAAgB,CAACtG,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC;AAChF,EAAA;AACF,CAAC;;ACpED;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMuH,OAAO,GAAG,SAAS;AACzB,MAAMC,uBAAuB,GAAG,IAAI;AACpC,MAAMC,cAAc,GAAG,eAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAGpF,QAAQ,IAAI;EAChC,IAAIA,QAAQ,IAAIqF,MAAM,CAACC,GAAG,IAAID,MAAM,CAACC,GAAG,CAACC,MAAM,EAAE;AAC/C;IACAvF,QAAQ,GAAGA,QAAQ,CAAC0B,OAAO,CAAC,eAAe,EAAE,CAAC8D,KAAK,EAAEC,EAAE,KAAK,CAAA,CAAA,EAAIH,GAAG,CAACC,MAAM,CAACE,EAAE,CAAC,EAAE,CAAC;AACnF,EAAA;AAEA,EAAA,OAAOzF,QAAQ;AACjB,CAAC;;AAED;AACA,MAAM0F,MAAM,GAAGC,MAAM,IAAI;AACvB,EAAA,IAAIA,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAKC,SAAS,EAAE;IAC3C,OAAO,CAAA,EAAGD,MAAM,CAAA,CAAE;AACpB,EAAA;EAEA,OAAOjF,MAAM,CAACmF,SAAS,CAACjC,QAAQ,CAACrC,IAAI,CAACoE,MAAM,CAAC,CAACH,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAACtB,WAAW,EAAE;AACrF,CAAC;;AAED;AACA;AACA;;AAEA,MAAM4B,MAAM,GAAGC,MAAM,IAAI;EACvB,GAAG;AACDA,IAAAA,MAAM,IAAIC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAGjB,OAAO,CAAC;AAC/C,EAAA,CAAC,QAAQkB,QAAQ,CAACC,cAAc,CAACL,MAAM,CAAC;AAExC,EAAA,OAAOA,MAAM;AACf,CAAC;AAED,MAAMM,gCAAgC,GAAG5I,OAAO,IAAI;EAClD,IAAI,CAACA,OAAO,EAAE;AACZ,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;EACA,IAAI;IAAE6I,kBAAkB;AAAEC,IAAAA;AAAgB,GAAC,GAAGlB,MAAM,CAACmB,gBAAgB,CAAC/I,OAAO,CAAC;AAE9E,EAAA,MAAMgJ,uBAAuB,GAAG9C,MAAM,CAAC+C,UAAU,CAACJ,kBAAkB,CAAC;AACrE,EAAA,MAAMK,oBAAoB,GAAGhD,MAAM,CAAC+C,UAAU,CAACH,eAAe,CAAC;;AAE/D;AACA,EAAA,IAAI,CAACE,uBAAuB,IAAI,CAACE,oBAAoB,EAAE;AACrD,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;EACAL,kBAAkB,GAAGA,kBAAkB,CAACM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACrDL,eAAe,GAAGA,eAAe,CAACK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/C,EAAA,OAAO,CAACjD,MAAM,CAAC+C,UAAU,CAACJ,kBAAkB,CAAC,GAAG3C,MAAM,CAAC+C,UAAU,CAACH,eAAe,CAAC,IAAIrB,uBAAuB;AAC/G,CAAC;AAED,MAAM2B,oBAAoB,GAAGpJ,OAAO,IAAI;EACtCA,OAAO,CAAC2F,aAAa,CAAC,IAAIH,KAAK,CAACkC,cAAc,CAAC,CAAC;AAClD,CAAC;AAED,MAAM2B,SAAS,GAAGnB,MAAM,IAAI;AAC1B,EAAA,IAAI,CAACA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;AACzC,IAAA,OAAO,KAAK;AACd,EAAA;AAEA,EAAA,OAAO,OAAOA,MAAM,CAACoB,QAAQ,KAAK,WAAW;AAC/C,CAAC;AAED,MAAMC,UAAU,GAAGrB,MAAM,IAAI;AAC3B,EAAA,IAAImB,SAAS,CAACnB,MAAM,CAAC,EAAE;AACrB,IAAA,OAAOA,MAAM;AACf,EAAA;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACjD,MAAM,GAAG,CAAC,EAAE;IACnD,OAAOyD,QAAQ,CAACc,aAAa,CAAC7B,aAAa,CAACO,MAAM,CAAC,CAAC;AACtD,EAAA;AAEA,EAAA,OAAO,IAAI;AACb,CAAC;AAED,MAAMuB,SAAS,GAAGzJ,OAAO,IAAI;AAC3B,EAAA,IAAI,CAACqJ,SAAS,CAACrJ,OAAO,CAAC,IAAIA,OAAO,CAAC0J,cAAc,EAAE,CAACzE,MAAM,KAAK,CAAC,EAAE;AAChE,IAAA,OAAO,KAAK;AACd,EAAA;AAEA,EAAA,MAAM0E,gBAAgB,GAAGZ,gBAAgB,CAAC/I,OAAO,CAAC,CAAC4J,gBAAgB,CAAC,YAAY,CAAC,KAAK,SAAS;AAC/F;AACA,EAAA,MAAMC,aAAa,GAAG7J,OAAO,CAAC8J,OAAO,CAAC,qBAAqB,CAAC;EAE5D,IAAI,CAACD,aAAa,EAAE;AAClB,IAAA,OAAOF,gBAAgB;AACzB,EAAA;EAEA,IAAIE,aAAa,KAAK7J,OAAO,EAAE;AAC7B,IAAA,MAAM+J,OAAO,GAAG/J,OAAO,CAAC8J,OAAO,CAAC,SAAS,CAAC;AAC1C,IAAA,IAAIC,OAAO,IAAIA,OAAO,CAACpH,UAAU,KAAKkH,aAAa,EAAE;AACnD,MAAA,OAAO,KAAK;AACd,IAAA;IAEA,IAAIE,OAAO,KAAK,IAAI,EAAE;AACpB,MAAA,OAAO,KAAK;AACd,IAAA;AACF,EAAA;AAEA,EAAA,OAAOJ,gBAAgB;AACzB,CAAC;AAED,MAAMK,UAAU,GAAGhK,OAAO,IAAI;EAC5B,IAAI,CAACA,OAAO,IAAIA,OAAO,CAACsJ,QAAQ,KAAKW,IAAI,CAACC,YAAY,EAAE;AACtD,IAAA,OAAO,IAAI;AACb,EAAA;EAEA,IAAIlK,OAAO,CAACmK,SAAS,CAACtG,QAAQ,CAAC,UAAU,CAAC,EAAE;AAC1C,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI,OAAO7D,OAAO,CAACoK,QAAQ,KAAK,WAAW,EAAE;IAC3C,OAAOpK,OAAO,CAACoK,QAAQ;AACzB,EAAA;AAEA,EAAA,OAAOpK,OAAO,CAACqK,YAAY,CAAC,UAAU,CAAC,IAAIrK,OAAO,CAACuH,YAAY,CAAC,UAAU,CAAC,KAAK,OAAO;AACzF,CAAC;AAED,MAAM+C,cAAc,GAAGtK,OAAO,IAAI;AAChC,EAAA,IAAI,CAAC0I,QAAQ,CAAC6B,eAAe,CAACC,YAAY,EAAE;AAC1C,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACA,EAAA,IAAI,OAAOxK,OAAO,CAACyK,WAAW,KAAK,UAAU,EAAE;AAC7C,IAAA,MAAMC,IAAI,GAAG1K,OAAO,CAACyK,WAAW,EAAE;AAClC,IAAA,OAAOC,IAAI,YAAYC,UAAU,GAAGD,IAAI,GAAG,IAAI;AACjD,EAAA;EAEA,IAAI1K,OAAO,YAAY2K,UAAU,EAAE;AACjC,IAAA,OAAO3K,OAAO;AAChB,EAAA;;AAEA;AACA,EAAA,IAAI,CAACA,OAAO,CAAC2C,UAAU,EAAE;AACvB,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,OAAO2H,cAAc,CAACtK,OAAO,CAAC2C,UAAU,CAAC;AAC3C,CAAC;AAED,MAAMiI,IAAI,GAAGA,MAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAG7K,OAAO,IAAI;EACxBA,OAAO,CAAC8K,YAAY,CAAA;AACtB,CAAC;AAqBD,MAAMC,KAAK,GAAGA,MAAMrC,QAAQ,CAAC6B,eAAe,CAACS,GAAG,KAAK,KAAK;AAE1D,MAAMC,OAAO,GAAGA,CAACC,gBAAgB,EAAE5F,IAAI,GAAG,EAAE,EAAE6F,YAAY,GAAGD,gBAAgB,KAAK;AAChF,EAAA,OAAO,OAAOA,gBAAgB,KAAK,UAAU,GAAGA,gBAAgB,CAACpH,IAAI,CAAC,GAAGwB,IAAI,CAAC,GAAG6F,YAAY;AAC/F,CAAC;AAED,MAAMC,sBAAsB,GAAGA,CAACC,QAAQ,EAAEC,iBAAiB,EAAEC,iBAAiB,GAAG,IAAI,KAAK;EACxF,IAAI,CAACA,iBAAiB,EAAE;IACtBN,OAAO,CAACI,QAAQ,CAAC;AACjB,IAAA;AACF,EAAA;EAEA,MAAMG,eAAe,GAAG,CAAC;AACzB,EAAA,MAAMC,gBAAgB,GAAG7C,gCAAgC,CAAC0C,iBAAiB,CAAC,GAAGE,eAAe;EAE9F,IAAIE,MAAM,GAAG,KAAK;EAElB,MAAM7J,OAAO,GAAGA,CAAC;AAAEa,IAAAA;AAAO,GAAC,KAAK;IAC9B,IAAIA,MAAM,KAAK4I,iBAAiB,EAAE;AAChC,MAAA;AACF,IAAA;AAEAI,IAAAA,MAAM,GAAG,IAAI;AACbJ,IAAAA,iBAAiB,CAAClH,mBAAmB,CAACsD,cAAc,EAAE7F,OAAO,CAAC;IAC9DoJ,OAAO,CAACI,QAAQ,CAAC;EACnB,CAAC;AAEDC,EAAAA,iBAAiB,CAACpH,gBAAgB,CAACwD,cAAc,EAAE7F,OAAO,CAAC;AAC3D8J,EAAAA,UAAU,CAAC,MAAM;IACf,IAAI,CAACD,MAAM,EAAE;MACXtC,oBAAoB,CAACkC,iBAAiB,CAAC;AACzC,IAAA;EACF,CAAC,EAAEG,gBAAgB,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,oBAAoB,GAAGA,CAACC,IAAI,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,KAAK;AACnF,EAAA,MAAMC,UAAU,GAAGJ,IAAI,CAAC5G,MAAM;AAC9B,EAAA,IAAIiH,KAAK,GAAGL,IAAI,CAACM,OAAO,CAACL,aAAa,CAAC;;AAEvC;AACA;AACA,EAAA,IAAII,KAAK,KAAK,EAAE,EAAE;AAChB,IAAA,OAAO,CAACH,aAAa,IAAIC,cAAc,GAAGH,IAAI,CAACI,UAAU,GAAG,CAAC,CAAC,GAAGJ,IAAI,CAAC,CAAC,CAAC;AAC1E,EAAA;AAEAK,EAAAA,KAAK,IAAIH,aAAa,GAAG,CAAC,GAAG,EAAE;AAE/B,EAAA,IAAIC,cAAc,EAAE;AAClBE,IAAAA,KAAK,GAAG,CAACA,KAAK,GAAGD,UAAU,IAAIA,UAAU;AAC3C,EAAA;AAEA,EAAA,OAAOJ,IAAI,CAACtD,IAAI,CAAC6D,GAAG,CAAC,CAAC,EAAE7D,IAAI,CAAC8D,GAAG,CAACH,KAAK,EAAED,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;;AC7PD;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACA;AACA;;AAEA,MAAMK,MAAM,CAAC;AACX;EACA,WAAWC,OAAOA,GAAG;AACnB,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,MAAM,IAAIC,KAAK,CAAC,qEAAqE,CAAC;AACxF,EAAA;EAEAC,UAAUA,CAACC,MAAM,EAAE;AACjBA,IAAAA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC;AACrCA,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC;AACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC7B,IAAA,OAAOA,MAAM;AACf,EAAA;EAEAE,iBAAiBA,CAACF,MAAM,EAAE;AACxB,IAAA,OAAOA,MAAM;AACf,EAAA;AAEAC,EAAAA,eAAeA,CAACD,MAAM,EAAE5M,OAAO,EAAE;AAC/B,IAAA,MAAMgN,UAAU,GAAG3D,SAAS,CAACrJ,OAAO,CAAC,GAAG0G,WAAW,CAACY,gBAAgB,CAACtH,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAA;;IAE5F,OAAO;AACL,MAAA,GAAG,IAAI,CAACiN,WAAW,CAACV,OAAO;MAC3B,IAAI,OAAOS,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAG,EAAE,CAAC;AACrD,MAAA,IAAI3D,SAAS,CAACrJ,OAAO,CAAC,GAAG0G,WAAW,CAACK,iBAAiB,CAAC/G,OAAO,CAAC,GAAG,EAAE,CAAC;MACrE,IAAI,OAAO4M,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,EAAE;KAC7C;AACH,EAAA;EAEAG,gBAAgBA,CAACH,MAAM,EAAEM,WAAW,GAAG,IAAI,CAACD,WAAW,CAACT,WAAW,EAAE;AACnE,IAAA,KAAK,MAAM,CAACW,QAAQ,EAAEC,aAAa,CAAC,IAAInK,MAAM,CAACyB,OAAO,CAACwI,WAAW,CAAC,EAAE;AACnE,MAAA,MAAMpH,KAAK,GAAG8G,MAAM,CAACO,QAAQ,CAAC;AAC9B,MAAA,MAAME,SAAS,GAAGhE,SAAS,CAACvD,KAAK,CAAC,GAAG,SAAS,GAAGmC,MAAM,CAACnC,KAAK,CAAC;MAE9D,IAAI,CAAC,IAAIwH,MAAM,CAACF,aAAa,CAAC,CAACG,IAAI,CAACF,SAAS,CAAC,EAAE;QAC9C,MAAM,IAAIG,SAAS,CACjB,CAAA,EAAG,IAAI,CAACP,WAAW,CAACR,IAAI,CAACgB,WAAW,EAAE,aAAaN,QAAQ,CAAA,iBAAA,EAAoBE,SAAS,CAAA,qBAAA,EAAwBD,aAAa,IAC/H,CAAC;AACH,MAAA;AACF,IAAA;AACF,EAAA;AACF;;AC9DA;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMM,OAAO,GAAG,cAAc;;AAE9B;AACA;AACA;;AAEA,MAAMC,aAAa,SAASrB,MAAM,CAAC;AACjCW,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,EAAE;AAEP5M,IAAAA,OAAO,GAAGuJ,UAAU,CAACvJ,OAAO,CAAC;IAC7B,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;IAEA,IAAI,CAAC4N,QAAQ,GAAG5N,OAAO;IACvB,IAAI,CAAC6N,OAAO,GAAG,IAAI,CAAClB,UAAU,CAACC,MAAM,CAAC;AAEtCkB,IAAAA,IAAI,CAAC/N,GAAG,CAAC,IAAI,CAAC6N,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACc,QAAQ,EAAE,IAAI,CAAC;AAC1D,EAAA;;AAEA;AACAC,EAAAA,OAAOA,GAAG;AACRF,IAAAA,IAAI,CAAClN,MAAM,CAAC,IAAI,CAACgN,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACc,QAAQ,CAAC;AACrD7L,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACyL,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACgB,SAAS,CAAC;IAE3D,KAAK,MAAMC,YAAY,IAAIjL,MAAM,CAACkL,mBAAmB,CAAC,IAAI,CAAC,EAAE;AAC3D,MAAA,IAAI,CAACD,YAAY,CAAC,GAAG,IAAI;AAC3B,IAAA;AACF,EAAA;;AAEA;EACAE,cAAcA,CAAC/C,QAAQ,EAAErL,OAAO,EAAEqO,UAAU,GAAG,IAAI,EAAE;AACnDjD,IAAAA,sBAAsB,CAACC,QAAQ,EAAErL,OAAO,EAAEqO,UAAU,CAAC;AACvD,EAAA;EAEA1B,UAAUA,CAACC,MAAM,EAAE;IACjBA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,EAAE,IAAI,CAACgB,QAAQ,CAAC;AACpDhB,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC;AACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC7B,IAAA,OAAOA,MAAM;AACf,EAAA;;AAEA;EACA,OAAO0B,WAAWA,CAACtO,OAAO,EAAE;AAC1B,IAAA,OAAO8N,IAAI,CAACzN,GAAG,CAACkJ,UAAU,CAACvJ,OAAO,CAAC,EAAE,IAAI,CAAC+N,QAAQ,CAAC;AACrD,EAAA;EAEA,OAAOQ,mBAAmBA,CAACvO,OAAO,EAAE4M,MAAM,GAAG,EAAE,EAAE;IAC/C,OAAO,IAAI,CAAC0B,WAAW,CAACtO,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAO4M,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC;AACnG,EAAA;EAEA,WAAWc,OAAOA,GAAG;AACnB,IAAA,OAAOA,OAAO;AAChB,EAAA;EAEA,WAAWK,QAAQA,GAAG;AACpB,IAAA,OAAO,CAAA,GAAA,EAAM,IAAI,CAACtB,IAAI,CAAA,CAAE;AAC1B,EAAA;EAEA,WAAWwB,SAASA,GAAG;AACrB,IAAA,OAAO,CAAA,CAAA,EAAI,IAAI,CAACF,QAAQ,CAAA,CAAE;AAC5B,EAAA;EAEA,OAAOS,SAASA,CAACC,IAAI,EAAE;AACrB,IAAA,OAAO,GAAGA,IAAI,CAAA,EAAG,IAAI,CAACR,SAAS,CAAA,CAAE;AACnC,EAAA;AACF;;ACnFA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMS,WAAW,GAAG1O,OAAO,IAAI;AAC7B,EAAA,IAAIuC,QAAQ,GAAGvC,OAAO,CAACuH,YAAY,CAAC,gBAAgB,CAAC;AAErD,EAAA,IAAI,CAAChF,QAAQ,IAAIA,QAAQ,KAAK,GAAG,EAAE;AACjC,IAAA,IAAIoM,aAAa,GAAG3O,OAAO,CAACuH,YAAY,CAAC,MAAM,CAAC;;AAEhD;AACA;AACA;AACA;AACA,IAAA,IAAI,CAACoH,aAAa,IAAK,CAACA,aAAa,CAAChK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACgK,aAAa,CAAC3J,UAAU,CAAC,GAAG,CAAE,EAAE;AACtF,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACA,IAAA,IAAI2J,aAAa,CAAChK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACgK,aAAa,CAAC3J,UAAU,CAAC,GAAG,CAAC,EAAE;MACjE2J,aAAa,GAAG,CAAA,CAAA,EAAIA,aAAa,CAACxF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE;AACnD,IAAA;AAEA5G,IAAAA,QAAQ,GAAGoM,aAAa,IAAIA,aAAa,KAAK,GAAG,GAAGA,aAAa,CAACC,IAAI,EAAE,GAAG,IAAI;AACjF,EAAA;EAEA,OAAOrM,QAAQ,GAAGA,QAAQ,CAAC4G,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAACC,GAAG,IAAInH,aAAa,CAACmH,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI;AACvF,CAAC;AAED,MAAMC,cAAc,GAAG;EACrB7L,IAAIA,CAACZ,QAAQ,EAAEvC,OAAO,GAAG0I,QAAQ,CAAC6B,eAAe,EAAE;AACjD,IAAA,OAAO,EAAE,CAAC0E,MAAM,CAAC,GAAGC,OAAO,CAAC9G,SAAS,CAAC3F,gBAAgB,CAACqB,IAAI,CAAC9D,OAAO,EAAEuC,QAAQ,CAAC,CAAC;EACjF,CAAC;EAED4M,OAAOA,CAAC5M,QAAQ,EAAEvC,OAAO,GAAG0I,QAAQ,CAAC6B,eAAe,EAAE;IACpD,OAAO2E,OAAO,CAAC9G,SAAS,CAACoB,aAAa,CAAC1F,IAAI,CAAC9D,OAAO,EAAEuC,QAAQ,CAAC;EAChE,CAAC;AAED6M,EAAAA,QAAQA,CAACpP,OAAO,EAAEuC,QAAQ,EAAE;IAC1B,OAAO,EAAE,CAAC0M,MAAM,CAAC,GAAGjP,OAAO,CAACoP,QAAQ,CAAC,CAACjI,MAAM,CAACkI,KAAK,IAAIA,KAAK,CAACC,OAAO,CAAC/M,QAAQ,CAAC,CAAC;EAChF,CAAC;AAEDgN,EAAAA,OAAOA,CAACvP,OAAO,EAAEuC,QAAQ,EAAE;IACzB,MAAMgN,OAAO,GAAG,EAAE;IAClB,IAAIC,QAAQ,GAAGxP,OAAO,CAAC2C,UAAU,CAACmH,OAAO,CAACvH,QAAQ,CAAC;AAEnD,IAAA,OAAOiN,QAAQ,EAAE;AACfD,MAAAA,OAAO,CAACE,IAAI,CAACD,QAAQ,CAAC;MACtBA,QAAQ,GAAGA,QAAQ,CAAC7M,UAAU,CAACmH,OAAO,CAACvH,QAAQ,CAAC;AAClD,IAAA;AAEA,IAAA,OAAOgN,OAAO;EAChB,CAAC;AAEDG,EAAAA,IAAIA,CAAC1P,OAAO,EAAEuC,QAAQ,EAAE;AACtB,IAAA,IAAIoN,QAAQ,GAAG3P,OAAO,CAAC4P,sBAAsB;AAE7C,IAAA,OAAOD,QAAQ,EAAE;AACf,MAAA,IAAIA,QAAQ,CAACL,OAAO,CAAC/M,QAAQ,CAAC,EAAE;QAC9B,OAAO,CAACoN,QAAQ,CAAC;AACnB,MAAA;MAEAA,QAAQ,GAAGA,QAAQ,CAACC,sBAAsB;AAC5C,IAAA;AAEA,IAAA,OAAO,EAAE;EACX,CAAC;AAED;AACAC,EAAAA,IAAIA,CAAC7P,OAAO,EAAEuC,QAAQ,EAAE;AACtB,IAAA,IAAIsN,IAAI,GAAG7P,OAAO,CAAC8P,kBAAkB;AAErC,IAAA,OAAOD,IAAI,EAAE;AACX,MAAA,IAAIA,IAAI,CAACP,OAAO,CAAC/M,QAAQ,CAAC,EAAE;QAC1B,OAAO,CAACsN,IAAI,CAAC;AACf,MAAA;MAEAA,IAAI,GAAGA,IAAI,CAACC,kBAAkB;AAChC,IAAA;AAEA,IAAA,OAAO,EAAE;EACX,CAAC;EAEDC,iBAAiBA,CAAC/P,OAAO,EAAE;AACzB,IAAA,MAAMgQ,UAAU,GAAG,CACjB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,0BAA0B,CAC3B,CAACnB,GAAG,CAACtM,QAAQ,IAAI,CAAA,EAAGA,QAAQ,CAAA,qBAAA,CAAuB,CAAC,CAACwM,IAAI,CAAC,GAAG,CAAC;IAE/D,OAAO,IAAI,CAAC5L,IAAI,CAAC6M,UAAU,EAAEhQ,OAAO,CAAC,CAACmH,MAAM,CAAC8I,EAAE,IAAI,CAACjG,UAAU,CAACiG,EAAE,CAAC,IAAIxG,SAAS,CAACwG,EAAE,CAAC,CAAC;EACtF,CAAC;EAEDC,sBAAsBA,CAAClQ,OAAO,EAAE;AAC9B,IAAA,MAAMuC,QAAQ,GAAGmM,WAAW,CAAC1O,OAAO,CAAC;AAErC,IAAA,IAAIuC,QAAQ,EAAE;MACZ,OAAOyM,cAAc,CAACG,OAAO,CAAC5M,QAAQ,CAAC,GAAGA,QAAQ,GAAG,IAAI;AAC3D,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;EAED4N,sBAAsBA,CAACnQ,OAAO,EAAE;AAC9B,IAAA,MAAMuC,QAAQ,GAAGmM,WAAW,CAAC1O,OAAO,CAAC;IAErC,OAAOuC,QAAQ,GAAGyM,cAAc,CAACG,OAAO,CAAC5M,QAAQ,CAAC,GAAG,IAAI;EAC3D,CAAC;EAED6N,+BAA+BA,CAACpQ,OAAO,EAAE;AACvC,IAAA,MAAMuC,QAAQ,GAAGmM,WAAW,CAAC1O,OAAO,CAAC;IAErC,OAAOuC,QAAQ,GAAGyM,cAAc,CAAC7L,IAAI,CAACZ,QAAQ,CAAC,GAAG,EAAE;AACtD,EAAA;AACF,CAAC;;AC5HD;AACA;AACA;AACA;AACA;AACA;;AAMA,MAAM8N,oBAAoB,GAAGA,CAACC,SAAS,EAAEC,MAAM,GAAG,MAAM,KAAK;AAC3D,EAAA,MAAMC,UAAU,GAAG,CAAA,aAAA,EAAgBF,SAAS,CAACrC,SAAS,CAAA,CAAE;AACxD,EAAA,MAAMQ,IAAI,GAAG6B,SAAS,CAAC7D,IAAI;AAE3BvK,EAAAA,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE8H,UAAU,EAAE,CAAA,kBAAA,EAAqB/B,IAAI,CAAA,EAAA,CAAI,EAAE,UAAU3M,KAAK,EAAE;AACpF,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC6C,QAAQ,CAAC,IAAI,CAAC8L,OAAO,CAAC,EAAE;MACxC3O,KAAK,CAAC4O,cAAc,EAAE;AACxB,IAAA;AAEA,IAAA,IAAI1G,UAAU,CAAC,IAAI,CAAC,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMtH,MAAM,GAAGsM,cAAc,CAACmB,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAACrG,OAAO,CAAC,CAAA,CAAA,EAAI2E,IAAI,EAAE,CAAC;AACtF,IAAA,MAAMvO,QAAQ,GAAGoQ,SAAS,CAAC/B,mBAAmB,CAAC7L,MAAM,CAAC;;AAEtD;AACAxC,IAAAA,QAAQ,CAACqQ,MAAM,CAAC,EAAE;AACpB,EAAA,CAAC,CAAC;AACJ,CAAC;AAED,MAAMI,mBAAmB,GAAGA,CAACC,MAAM,EAAEC,OAAO,EAAEC,cAAc,EAAEP,MAAM,EAAElF,QAAQ,GAAG,IAAI,KAAK;AACxF0F,EAAAA,WAAW,CAAC,CAAA,EAAGF,OAAO,CAAA,CAAA,EAAID,MAAM,CAACnE,IAAI,CAAA,CAAE,EAAEqE,cAAc,EAAEE,IAAI,IAAI;IAC/D,MAAMC,SAAS,GAAGD,IAAI,CAACE,OAAO,CAAC/J,MAAM,CAAC9C,OAAO,CAAC,CAACwK,GAAG,CAAC7O,OAAO,IAAI4Q,MAAM,CAACrC,mBAAmB,CAACvO,OAAO,CAAC,CAAC;AAClG,IAAA,IAAI,OAAOqL,QAAQ,KAAK,UAAU,EAAE;AAClCA,MAAAA,QAAQ,CAAC;AAAE,QAAA,GAAG2F,IAAI;AAAEC,QAAAA;AAAU,OAAC,CAAC;AAClC,IAAA;AAEA,IAAA,KAAK,MAAM/Q,QAAQ,IAAI+Q,SAAS,EAAE;AAChC/Q,MAAAA,QAAQ,CAACqQ,MAAM,CAAC,EAAE;AACpB,IAAA;AACF,EAAA,CAAC,CAAC;AACJ,CAAC;AAED,MAAMQ,WAAW,GAAGA,CAACF,OAAO,EAAEC,cAAc,EAAEzF,QAAQ,KAAK;AACzD,EAAA,MAAM9I,QAAQ,GAAG,CAAA,EAAGuO,cAAc,CAAA,8BAAA,CAAgC;EAClE5O,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEmI,OAAO,EAAEtO,QAAQ,EAAE,UAAUT,KAAK,EAAE;AAC5D,IAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC6C,QAAQ,CAAC,IAAI,CAAC8L,OAAO,CAAC,EAAE;MACxC3O,KAAK,CAAC4O,cAAc,EAAE;AACxB,IAAA;AAEA,IAAA,MAAMnO,QAAQ,GAAGyM,cAAc,CAACkB,sBAAsB,CAAC,IAAI,CAAC;AAC5D,IAAA,MAAMgB,OAAO,GAAG3O,QAAQ,GAAGyM,cAAc,CAAC7L,IAAI,CAACZ,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AAEjE8I,IAAAA,QAAQ,CAAC;MAAE6F,OAAO;AAAEpP,MAAAA;AAAM,KAAC,CAAC;AAC9B,EAAA,CAAC,CAAC;AACJ,CAAC;;ACzDD;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM2K,MAAI,GAAG,OAAO;AACpB,MAAMsB,UAAQ,GAAG,UAAU;AAC3B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAMoD,WAAW,GAAG,CAAA,KAAA,EAAQlD,WAAS,CAAA,CAAE;AACvC,MAAMmD,YAAY,GAAG,CAAA,MAAA,EAASnD,WAAS,CAAA,CAAE;AACzC,MAAMoD,iBAAe,GAAG,MAAM;AAC9B,MAAMC,iBAAe,GAAG,MAAM;;AAE9B;AACA;AACA;;AAEA,MAAMC,KAAK,SAAS5D,aAAa,CAAC;AAChC;EACA,WAAWlB,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA+E,EAAAA,KAAKA,GAAG;IACN,MAAMC,UAAU,GAAGvP,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEuD,WAAW,CAAC;IAEnE,IAAIM,UAAU,CAACC,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC9D,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;IAE/C,MAAMjD,UAAU,GAAG,IAAI,CAACT,QAAQ,CAACzD,SAAS,CAACtG,QAAQ,CAACwN,iBAAe,CAAC;AACpE,IAAA,IAAI,CAACjD,cAAc,CAAC,MAAM,IAAI,CAACuD,eAAe,EAAE,EAAE,IAAI,CAAC/D,QAAQ,EAAES,UAAU,CAAC;AAC9E,EAAA;;AAEA;AACAsD,EAAAA,eAAeA,GAAG;AAChB,IAAA,IAAI,CAAC/D,QAAQ,CAAChN,MAAM,EAAE;IACtBsB,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEwD,YAAY,CAAC;IACjD,IAAI,CAACpD,OAAO,EAAE;AAChB,EAAA;AACF;;AAEA;AACA;AACA;;AAEAqC,oBAAoB,CAACkB,KAAK,EAAE,OAAO,CAAC;;AC5DpC;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACA;AACA;;AAEA,MAAM9E,MAAI,GAAG,QAAQ;AACrB,MAAMsB,UAAQ,GAAG,WAAW;AAC5B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAMC,mBAAiB,GAAG,QAAQ;AAClC,MAAMC,sBAAoB,GAAG,2BAA2B;AACxD,MAAMC,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;;AAE/D;AACA;AACA;;AAEA,MAAMI,MAAM,SAASrE,aAAa,CAAC;AACjC;EACA,WAAWlB,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwF,EAAAA,MAAMA,GAAG;AACP;AACA,IAAA,IAAI,CAACrE,QAAQ,CAAChH,YAAY,CAAC,cAAc,EAAE,IAAI,CAACgH,QAAQ,CAACzD,SAAS,CAAC8H,MAAM,CAACJ,mBAAiB,CAAC,CAAC;AAC/F,EAAA;AACF;;AAEA;AACA;AACA;;AAEA3P,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAEhQ,KAAK,IAAI;EAC7EA,KAAK,CAAC4O,cAAc,EAAE;EAEtB,MAAMwB,MAAM,GAAGpQ,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACgI,sBAAoB,CAAC;AACzD,EAAA,MAAMd,IAAI,GAAGgB,MAAM,CAACzD,mBAAmB,CAAC2D,MAAM,CAAC;EAE/ClB,IAAI,CAACiB,MAAM,EAAE;AACf,CAAC,CAAC;;ACnDF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMxF,MAAI,GAAG,OAAO;AACpB,MAAMwB,WAAS,GAAG,WAAW;AAC7B,MAAMkE,gBAAgB,GAAG,CAAA,UAAA,EAAalE,WAAS,CAAA,CAAE;AACjD,MAAMmE,eAAe,GAAG,CAAA,SAAA,EAAYnE,WAAS,CAAA,CAAE;AAC/C,MAAMoE,cAAc,GAAG,CAAA,QAAA,EAAWpE,WAAS,CAAA,CAAE;AAC7C,MAAMqE,iBAAiB,GAAG,CAAA,WAAA,EAAcrE,WAAS,CAAA,CAAE;AACnD,MAAMsE,eAAe,GAAG,CAAA,SAAA,EAAYtE,WAAS,CAAA,CAAE;AAC/C,MAAMuE,kBAAkB,GAAG,OAAO;AAClC,MAAMC,gBAAgB,GAAG,KAAK;AAC9B,MAAMC,wBAAwB,GAAG,eAAe;AAChD,MAAMC,eAAe,GAAG,EAAE;AAE1B,MAAMpG,SAAO,GAAG;AACdqG,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,YAAY,EAAE,IAAI;AAClBC,EAAAA,aAAa,EAAE;AACjB,CAAC;AAED,MAAMtG,aAAW,GAAG;AAClBoG,EAAAA,WAAW,EAAE,iBAAiB;AAC9BC,EAAAA,YAAY,EAAE,iBAAiB;AAC/BC,EAAAA,aAAa,EAAE;AACjB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,KAAK,SAASzG,MAAM,CAAC;AACzBW,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,EAAE;IACP,IAAI,CAACgB,QAAQ,GAAG5N,OAAO;IAEvB,IAAI,CAACA,OAAO,IAAI,CAAC+S,KAAK,CAACC,WAAW,EAAE,EAAE;AACpC,MAAA;AACF,IAAA;IAEA,IAAI,CAACnF,OAAO,GAAG,IAAI,CAAClB,UAAU,CAACC,MAAM,CAAC;IACtC,IAAI,CAACqG,OAAO,GAAG,CAAC;IAChB,IAAI,CAACC,qBAAqB,GAAG7O,OAAO,CAACuD,MAAM,CAACuL,YAAY,CAAC;IACzD,IAAI,CAACC,WAAW,EAAE;AACpB,EAAA;;AAEA;EACA,WAAW7G,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuB,EAAAA,OAAOA,GAAG;IACR9L,YAAY,CAACC,GAAG,CAAC,IAAI,CAACyL,QAAQ,EAAEK,WAAS,CAAC;AAC5C,EAAA;;AAEA;EACAoF,MAAMA,CAACvR,KAAK,EAAE;AACZ,IAAA,IAAI,CAAC,IAAI,CAACoR,qBAAqB,EAAE;MAC/B,IAAI,CAACD,OAAO,GAAGnR,KAAK,CAACwR,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;AAEvC,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACC,uBAAuB,CAAC1R,KAAK,CAAC,EAAE;AACvC,MAAA,IAAI,CAACmR,OAAO,GAAGnR,KAAK,CAACyR,OAAO;AAC9B,IAAA;AACF,EAAA;EAEAE,IAAIA,CAAC3R,KAAK,EAAE;AACV,IAAA,IAAI,IAAI,CAAC0R,uBAAuB,CAAC1R,KAAK,CAAC,EAAE;MACvC,IAAI,CAACmR,OAAO,GAAGnR,KAAK,CAACyR,OAAO,GAAG,IAAI,CAACN,OAAO;AAC7C,IAAA;IAEA,IAAI,CAACS,YAAY,EAAE;AACnBzI,IAAAA,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAAC+E,WAAW,CAAC;AACnC,EAAA;EAEAe,KAAKA,CAAC7R,KAAK,EAAE;AACX,IAAA,IAAI,CAACmR,OAAO,GAAGnR,KAAK,CAACwR,OAAO,IAAIxR,KAAK,CAACwR,OAAO,CAACrO,MAAM,GAAG,CAAC,GACtD,CAAC,GACDnD,KAAK,CAACwR,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO,GAAG,IAAI,CAACN,OAAO;AAC3C,EAAA;AAEAS,EAAAA,YAAYA,GAAG;IACb,MAAME,SAAS,GAAGrL,IAAI,CAACsL,GAAG,CAAC,IAAI,CAACZ,OAAO,CAAC;IAExC,IAAIW,SAAS,IAAIjB,eAAe,EAAE;AAChC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMmB,SAAS,GAAGF,SAAS,GAAG,IAAI,CAACX,OAAO;IAE1C,IAAI,CAACA,OAAO,GAAG,CAAC;IAEhB,IAAI,CAACa,SAAS,EAAE;AACd,MAAA;AACF,IAAA;AAEA7I,IAAAA,OAAO,CAAC6I,SAAS,GAAG,CAAC,GAAG,IAAI,CAACjG,OAAO,CAACiF,aAAa,GAAG,IAAI,CAACjF,OAAO,CAACgF,YAAY,CAAC;AACjF,EAAA;AAEAO,EAAAA,WAAWA,GAAG;IACZ,IAAI,IAAI,CAACF,qBAAqB,EAAE;AAC9BhR,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE0E,iBAAiB,EAAExQ,KAAK,IAAI,IAAI,CAACuR,MAAM,CAACvR,KAAK,CAAC,CAAC;AAC9EI,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE2E,eAAe,EAAEzQ,KAAK,IAAI,IAAI,CAAC2R,IAAI,CAAC3R,KAAK,CAAC,CAAC;MAE1E,IAAI,CAAC8L,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAACrB,wBAAwB,CAAC;AACvD,IAAA,CAAC,MAAM;AACLxQ,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEuE,gBAAgB,EAAErQ,KAAK,IAAI,IAAI,CAACuR,MAAM,CAACvR,KAAK,CAAC,CAAC;AAC7EI,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEwE,eAAe,EAAEtQ,KAAK,IAAI,IAAI,CAAC6R,KAAK,CAAC7R,KAAK,CAAC,CAAC;AAC3EI,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEyE,cAAc,EAAEvQ,KAAK,IAAI,IAAI,CAAC2R,IAAI,CAAC3R,KAAK,CAAC,CAAC;AAC3E,IAAA;AACF,EAAA;EAEA0R,uBAAuBA,CAAC1R,KAAK,EAAE;AAC7B,IAAA,OAAO,IAAI,CAACoR,qBAAqB,KAAKpR,KAAK,CAACkS,WAAW,KAAKvB,gBAAgB,IAAI3Q,KAAK,CAACkS,WAAW,KAAKxB,kBAAkB,CAAC;AAC3H,EAAA;;AAEA;EACA,OAAOQ,WAAWA,GAAG;IACnB,OAAO,cAAc,IAAItK,QAAQ,CAAC6B,eAAe,IAAI0J,SAAS,CAACC,cAAc,GAAG,CAAC;AACnF,EAAA;AACF;;AC/IA;AACA;AACA;AACA;AACA;AACA;;;AAeA;AACA;AACA;;AAEA,MAAMzH,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAMuC,gBAAc,GAAG,WAAW;AAClC,MAAMC,iBAAe,GAAG,YAAY;AACpC,MAAMC,sBAAsB,GAAG,GAAG,CAAA;;AAElC,MAAMC,UAAU,GAAG,MAAM;AACzB,MAAMC,UAAU,GAAG,MAAM;AACzB,MAAMC,cAAc,GAAG,MAAM;AAC7B,MAAMC,eAAe,GAAG,OAAO;AAE/B,MAAMC,WAAW,GAAG,CAAA,KAAA,EAAQzG,WAAS,CAAA,CAAE;AACvC,MAAM0G,UAAU,GAAG,CAAA,IAAA,EAAO1G,WAAS,CAAA,CAAE;AACrC,MAAM2G,eAAa,GAAG,CAAA,OAAA,EAAU3G,WAAS,CAAA,CAAE;AAC3C,MAAM4G,kBAAgB,GAAG,CAAA,UAAA,EAAa5G,WAAS,CAAA,CAAE;AACjD,MAAM6G,kBAAgB,GAAG,CAAA,UAAA,EAAa7G,WAAS,CAAA,CAAE;AACjD,MAAM8G,gBAAgB,GAAG,CAAA,SAAA,EAAY9G,WAAS,CAAA,CAAE;AAChD,MAAM+G,qBAAmB,GAAG,CAAA,IAAA,EAAO/G,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAC7D,MAAMG,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE/D,MAAMqD,mBAAmB,GAAG,UAAU;AACtC,MAAMpD,mBAAiB,GAAG,QAAQ;AAClC,MAAMqD,gBAAgB,GAAG,OAAO;AAChC,MAAMC,cAAc,GAAG,mBAAmB;AAC1C,MAAMC,gBAAgB,GAAG,qBAAqB;AAC9C,MAAMC,eAAe,GAAG,oBAAoB;AAC5C,MAAMC,eAAe,GAAG,oBAAoB;AAE5C,MAAMC,eAAe,GAAG,SAAS;AACjC,MAAMC,aAAa,GAAG,gBAAgB;AACtC,MAAMC,oBAAoB,GAAGF,eAAe,GAAGC,aAAa;AAC5D,MAAME,iBAAiB,GAAG,oBAAoB;AAC9C,MAAMC,mBAAmB,GAAG,sBAAsB;AAClD,MAAMC,mBAAmB,GAAG,qCAAqC;AACjE,MAAMC,kBAAkB,GAAG,2BAA2B;AAEtD,MAAMC,gBAAgB,GAAG;EACvB,CAAC3B,gBAAc,GAAGM,eAAe;AACjC,EAAA,CAACL,iBAAe,GAAGI;AACrB,CAAC;AAED,MAAMjI,SAAO,GAAG;AACdwJ,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,IAAI,EAAE;AACR,CAAC;AAED,MAAM5J,aAAW,GAAG;AAClBuJ,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,KAAK,EAAE,kBAAkB;AACzBC,EAAAA,IAAI,EAAE,kBAAkB;AACxBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAAS1I,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAAC0J,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,cAAc,GAAG,IAAI;IAC1B,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,YAAY,GAAG,IAAI;AAExB,IAAA,IAAI,CAACC,kBAAkB,GAAG3H,cAAc,CAACG,OAAO,CAACwG,mBAAmB,EAAE,IAAI,CAAC/H,QAAQ,CAAC;IACpF,IAAI,CAACgJ,kBAAkB,EAAE;AAEzB,IAAA,IAAI,IAAI,CAAC/I,OAAO,CAACqI,IAAI,KAAKjB,mBAAmB,EAAE;MAC7C,IAAI,CAAC4B,KAAK,EAAE;AACd,IAAA;AACF,EAAA;;AAEA;EACA,WAAWtK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAoD,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAACiH,MAAM,CAACxC,UAAU,CAAC;AACzB,EAAA;AAEAyC,EAAAA,eAAeA,GAAG;AAChB;AACA;AACA,IAAA,IAAIrO,QAAQ,CAACsO,eAAe,KAAK,SAAS,IAAIvN,SAAS,CAAC,IAAI,CAACmE,QAAQ,CAAC,EAAE;MACtE,IAAI,CAACiC,IAAI,EAAE;AACb,IAAA;AACF,EAAA;AAEAH,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAACoH,MAAM,CAACvC,UAAU,CAAC;AACzB,EAAA;AAEA0B,EAAAA,KAAKA,GAAG;IACN,IAAI,IAAI,CAACO,UAAU,EAAE;AACnBpN,MAAAA,oBAAoB,CAAC,IAAI,CAACwE,QAAQ,CAAC;AACrC,IAAA;IAEA,IAAI,CAACqJ,cAAc,EAAE;AACvB,EAAA;AAEAJ,EAAAA,KAAKA,GAAG;IACN,IAAI,CAACI,cAAc,EAAE;IACrB,IAAI,CAACC,eAAe,EAAE;AAEtB,IAAA,IAAI,CAACZ,SAAS,GAAGa,WAAW,CAAC,MAAM,IAAI,CAACJ,eAAe,EAAE,EAAE,IAAI,CAAClJ,OAAO,CAACkI,QAAQ,CAAC;AACnF,EAAA;AAEAqB,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,IAAI,CAAC,IAAI,CAACvJ,OAAO,CAACqI,IAAI,EAAE;AACtB,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACM,UAAU,EAAE;AACnBtU,MAAAA,YAAY,CAAC2C,GAAG,CAAC,IAAI,CAAC+I,QAAQ,EAAE+G,UAAU,EAAE,MAAM,IAAI,CAACkC,KAAK,EAAE,CAAC;AAC/D,MAAA;AACF,IAAA;IAEA,IAAI,CAACA,KAAK,EAAE;AACd,EAAA;EAEAQ,EAAEA,CAACnL,KAAK,EAAE;AACR,IAAA,MAAMoL,KAAK,GAAG,IAAI,CAACC,SAAS,EAAE;IAC9B,IAAIrL,KAAK,GAAGoL,KAAK,CAACrS,MAAM,GAAG,CAAC,IAAIiH,KAAK,GAAG,CAAC,EAAE;AACzC,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACsK,UAAU,EAAE;AACnBtU,MAAAA,YAAY,CAAC2C,GAAG,CAAC,IAAI,CAAC+I,QAAQ,EAAE+G,UAAU,EAAE,MAAM,IAAI,CAAC0C,EAAE,CAACnL,KAAK,CAAC,CAAC;AACjE,MAAA;AACF,IAAA;IAEA,MAAMsL,WAAW,GAAG,IAAI,CAACC,aAAa,CAAC,IAAI,CAACC,UAAU,EAAE,CAAC;IACzD,IAAIF,WAAW,KAAKtL,KAAK,EAAE;AACzB,MAAA;AACF,IAAA;IAEA,MAAMyL,KAAK,GAAGzL,KAAK,GAAGsL,WAAW,GAAGlD,UAAU,GAAGC,UAAU;IAE3D,IAAI,CAACuC,MAAM,CAACa,KAAK,EAAEL,KAAK,CAACpL,KAAK,CAAC,CAAC;AAClC,EAAA;AAEA8B,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAAC0I,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAAC1I,OAAO,EAAE;AAC7B,IAAA;IAEA,KAAK,CAACA,OAAO,EAAE;AACjB,EAAA;;AAEA;EACAlB,iBAAiBA,CAACF,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAACgL,eAAe,GAAGhL,MAAM,CAACmJ,QAAQ;AACxC,IAAA,OAAOnJ,MAAM;AACf,EAAA;AAEAgK,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,IAAI,IAAI,CAAC/I,OAAO,CAACmI,QAAQ,EAAE;AACzB9T,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEgH,eAAa,EAAE9S,KAAK,IAAI,IAAI,CAAC+V,QAAQ,CAAC/V,KAAK,CAAC,CAAC;AAC9E,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC+L,OAAO,CAACoI,KAAK,KAAK,OAAO,EAAE;AAClC/T,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEiH,kBAAgB,EAAE,MAAM,IAAI,CAACoB,KAAK,EAAE,CAAC;AACpE/T,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEkH,kBAAgB,EAAE,MAAM,IAAI,CAACsC,iBAAiB,EAAE,CAAC;AAClF,IAAA;IAEA,IAAI,IAAI,CAACvJ,OAAO,CAACsI,KAAK,IAAIpD,KAAK,CAACC,WAAW,EAAE,EAAE;MAC7C,IAAI,CAAC8E,uBAAuB,EAAE;AAChC,IAAA;AACF,EAAA;AAEAA,EAAAA,uBAAuBA,GAAG;AACxB,IAAA,KAAK,MAAMC,GAAG,IAAI/I,cAAc,CAAC7L,IAAI,CAACuS,iBAAiB,EAAE,IAAI,CAAC9H,QAAQ,CAAC,EAAE;AACvE1L,MAAAA,YAAY,CAAC0C,EAAE,CAACmT,GAAG,EAAEhD,gBAAgB,EAAEjT,KAAK,IAAIA,KAAK,CAAC4O,cAAc,EAAE,CAAC;AACzE,IAAA;IAEA,MAAMsH,WAAW,GAAGA,MAAM;AACxB,MAAA,IAAI,IAAI,CAACnK,OAAO,CAACoI,KAAK,KAAK,OAAO,EAAE;AAClC,QAAA;AACF,MAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;MAEA,IAAI,CAACA,KAAK,EAAE;MACZ,IAAI,IAAI,CAACQ,YAAY,EAAE;AACrBwB,QAAAA,YAAY,CAAC,IAAI,CAACxB,YAAY,CAAC;AACjC,MAAA;AAEA,MAAA,IAAI,CAACA,YAAY,GAAG9K,UAAU,CAAC,MAAM,IAAI,CAACyL,iBAAiB,EAAE,EAAE/C,sBAAsB,GAAG,IAAI,CAACxG,OAAO,CAACkI,QAAQ,CAAC;IAChH,CAAC;AAED,IAAA,MAAMmC,WAAW,GAAG;AAClBrF,MAAAA,YAAY,EAAEA,MAAM,IAAI,CAACiE,MAAM,CAAC,IAAI,CAACqB,iBAAiB,CAAC3D,cAAc,CAAC,CAAC;AACvE1B,MAAAA,aAAa,EAAEA,MAAM,IAAI,CAACgE,MAAM,CAAC,IAAI,CAACqB,iBAAiB,CAAC1D,eAAe,CAAC,CAAC;AACzE7B,MAAAA,WAAW,EAAEoF;KACd;IAED,IAAI,CAACtB,YAAY,GAAG,IAAI3D,KAAK,CAAC,IAAI,CAACnF,QAAQ,EAAEsK,WAAW,CAAC;AAC3D,EAAA;EAEAL,QAAQA,CAAC/V,KAAK,EAAE;IACd,IAAI,iBAAiB,CAACyL,IAAI,CAACzL,KAAK,CAACY,MAAM,CAAC+N,OAAO,CAAC,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMqD,SAAS,GAAGgC,gBAAgB,CAAChU,KAAK,CAAC7B,GAAG,CAAC;AAC7C,IAAA,IAAI6T,SAAS,EAAE;MACbhS,KAAK,CAAC4O,cAAc,EAAE;MACtB,IAAI,CAACoG,MAAM,CAAC,IAAI,CAACqB,iBAAiB,CAACrE,SAAS,CAAC,CAAC;AAChD,IAAA;AACF,EAAA;EAEA2D,aAAaA,CAACzX,OAAO,EAAE;IACrB,OAAO,IAAI,CAACuX,SAAS,EAAE,CAACpL,OAAO,CAACnM,OAAO,CAAC;AAC1C,EAAA;EAEAoY,0BAA0BA,CAAClM,KAAK,EAAE;AAChC,IAAA,IAAI,CAAC,IAAI,CAACyK,kBAAkB,EAAE;AAC5B,MAAA;AACF,IAAA;IAEA,MAAM0B,eAAe,GAAGrJ,cAAc,CAACG,OAAO,CAACoG,eAAe,EAAE,IAAI,CAACoB,kBAAkB,CAAC;AAExF0B,IAAAA,eAAe,CAAClO,SAAS,CAACvJ,MAAM,CAACiR,mBAAiB,CAAC;AACnDwG,IAAAA,eAAe,CAACvR,eAAe,CAAC,cAAc,CAAC;AAE/C,IAAA,MAAMwR,kBAAkB,GAAGtJ,cAAc,CAACG,OAAO,CAAC,CAAA,mBAAA,EAAsBjD,KAAK,CAAA,EAAA,CAAI,EAAE,IAAI,CAACyK,kBAAkB,CAAC;AAE3G,IAAA,IAAI2B,kBAAkB,EAAE;AACtBA,MAAAA,kBAAkB,CAACnO,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;AACnDyG,MAAAA,kBAAkB,CAAC1R,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;AACzD,IAAA;AACF,EAAA;AAEAsQ,EAAAA,eAAeA,GAAG;IAChB,MAAMlX,OAAO,GAAG,IAAI,CAACuW,cAAc,IAAI,IAAI,CAACmB,UAAU,EAAE;IAExD,IAAI,CAAC1X,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,MAAMuY,eAAe,GAAGrS,MAAM,CAACsS,QAAQ,CAACxY,OAAO,CAACuH,YAAY,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;IAErF,IAAI,CAACsG,OAAO,CAACkI,QAAQ,GAAGwC,eAAe,IAAI,IAAI,CAAC1K,OAAO,CAAC+J,eAAe;AACzE,EAAA;AAEAd,EAAAA,MAAMA,CAACa,KAAK,EAAE3X,OAAO,GAAG,IAAI,EAAE;IAC5B,IAAI,IAAI,CAACwW,UAAU,EAAE;AACnB,MAAA;AACF,IAAA;AAEA,IAAA,MAAM1K,aAAa,GAAG,IAAI,CAAC4L,UAAU,EAAE;AACvC,IAAA,MAAMe,MAAM,GAAGd,KAAK,KAAKrD,UAAU;IACnC,MAAMoE,WAAW,GAAG1Y,OAAO,IAAI4L,oBAAoB,CAAC,IAAI,CAAC2L,SAAS,EAAE,EAAEzL,aAAa,EAAE2M,MAAM,EAAE,IAAI,CAAC5K,OAAO,CAACuI,IAAI,CAAC;IAE/G,IAAIsC,WAAW,KAAK5M,aAAa,EAAE;AACjC,MAAA;AACF,IAAA;AAEA,IAAA,MAAM6M,gBAAgB,GAAG,IAAI,CAAClB,aAAa,CAACiB,WAAW,CAAC;IAExD,MAAME,YAAY,GAAGpK,SAAS,IAAI;MAChC,OAAOtM,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEY,SAAS,EAAE;AACpD5K,QAAAA,aAAa,EAAE8U,WAAW;AAC1B5E,QAAAA,SAAS,EAAE,IAAI,CAAC+E,iBAAiB,CAAClB,KAAK,CAAC;AACxCjX,QAAAA,IAAI,EAAE,IAAI,CAAC+W,aAAa,CAAC3L,aAAa,CAAC;AACvCuL,QAAAA,EAAE,EAAEsB;AACN,OAAC,CAAC;IACJ,CAAC;AAED,IAAA,MAAMG,UAAU,GAAGF,YAAY,CAAClE,WAAW,CAAC;IAE5C,IAAIoE,UAAU,CAACpH,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC5F,aAAa,IAAI,CAAC4M,WAAW,EAAE;AAClC;AACA,MAAA;AACF,IAAA;AAEA,IAAA,MAAMK,SAAS,GAAG1U,OAAO,CAAC,IAAI,CAACiS,SAAS,CAAC;IACzC,IAAI,CAACL,KAAK,EAAE;IAEZ,IAAI,CAACO,UAAU,GAAG,IAAI;AAEtB,IAAA,IAAI,CAAC4B,0BAA0B,CAACO,gBAAgB,CAAC;IACjD,IAAI,CAACpC,cAAc,GAAGmC,WAAW;AAEjC,IAAA,MAAMM,oBAAoB,GAAGP,MAAM,GAAGrD,gBAAgB,GAAGD,cAAc;AACvE,IAAA,MAAM8D,cAAc,GAAGR,MAAM,GAAGpD,eAAe,GAAGC,eAAe;AAEjEoD,IAAAA,WAAW,CAACvO,SAAS,CAAC4J,GAAG,CAACkF,cAAc,CAAC;IAEzCpO,MAAM,CAAC6N,WAAW,CAAC;AAEnB5M,IAAAA,aAAa,CAAC3B,SAAS,CAAC4J,GAAG,CAACiF,oBAAoB,CAAC;AACjDN,IAAAA,WAAW,CAACvO,SAAS,CAAC4J,GAAG,CAACiF,oBAAoB,CAAC;IAE/C,MAAME,gBAAgB,GAAGA,MAAM;MAC7BR,WAAW,CAACvO,SAAS,CAACvJ,MAAM,CAACoY,oBAAoB,EAAEC,cAAc,CAAC;AAClEP,MAAAA,WAAW,CAACvO,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;MAE5C/F,aAAa,CAAC3B,SAAS,CAACvJ,MAAM,CAACiR,mBAAiB,EAAEoH,cAAc,EAAED,oBAAoB,CAAC;MAEvF,IAAI,CAACxC,UAAU,GAAG,KAAK;MAEvBoC,YAAY,CAACjE,UAAU,CAAC;IAC1B,CAAC;AAED,IAAA,IAAI,CAACvG,cAAc,CAAC8K,gBAAgB,EAAEpN,aAAa,EAAE,IAAI,CAACqN,WAAW,EAAE,CAAC;AAExE,IAAA,IAAIJ,SAAS,EAAE;MACb,IAAI,CAAClC,KAAK,EAAE;AACd,IAAA;AACF,EAAA;AAEAsC,EAAAA,WAAWA,GAAG;IACZ,OAAO,IAAI,CAACvL,QAAQ,CAACzD,SAAS,CAACtG,QAAQ,CAACqR,gBAAgB,CAAC;AAC3D,EAAA;AAEAwC,EAAAA,UAAUA,GAAG;IACX,OAAO1I,cAAc,CAACG,OAAO,CAACsG,oBAAoB,EAAE,IAAI,CAAC7H,QAAQ,CAAC;AACpE,EAAA;AAEA2J,EAAAA,SAASA,GAAG;IACV,OAAOvI,cAAc,CAAC7L,IAAI,CAACqS,aAAa,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AAC1D,EAAA;AAEAqJ,EAAAA,cAAcA,GAAG;IACf,IAAI,IAAI,CAACX,SAAS,EAAE;AAClB8C,MAAAA,aAAa,CAAC,IAAI,CAAC9C,SAAS,CAAC;MAC7B,IAAI,CAACA,SAAS,GAAG,IAAI;AACvB,IAAA;AACF,EAAA;EAEA6B,iBAAiBA,CAACrE,SAAS,EAAE;IAC3B,IAAI/I,KAAK,EAAE,EAAE;AACX,MAAA,OAAO+I,SAAS,KAAKU,cAAc,GAAGD,UAAU,GAAGD,UAAU;AAC/D,IAAA;AAEA,IAAA,OAAOR,SAAS,KAAKU,cAAc,GAAGF,UAAU,GAAGC,UAAU;AAC/D,EAAA;EAEAsE,iBAAiBA,CAAClB,KAAK,EAAE;IACvB,IAAI5M,KAAK,EAAE,EAAE;AACX,MAAA,OAAO4M,KAAK,KAAKpD,UAAU,GAAGC,cAAc,GAAGC,eAAe;AAChE,IAAA;AAEA,IAAA,OAAOkD,KAAK,KAAKpD,UAAU,GAAGE,eAAe,GAAGD,cAAc;AAChE,EAAA;AACF;;AAEA;AACA;AACA;;AAEAtS,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAE6D,mBAAmB,EAAE,UAAU9T,KAAK,EAAE;AACpF,EAAA,MAAMY,MAAM,GAAGsM,cAAc,CAACmB,sBAAsB,CAAC,IAAI,CAAC;AAE1D,EAAA,IAAI,CAACzN,MAAM,IAAI,CAACA,MAAM,CAACyH,SAAS,CAACtG,QAAQ,CAACoR,mBAAmB,CAAC,EAAE;AAC9D,IAAA;AACF,EAAA;EAEAnT,KAAK,CAAC4O,cAAc,EAAE;AAEtB,EAAA,MAAM2I,QAAQ,GAAGhD,QAAQ,CAAC9H,mBAAmB,CAAC7L,MAAM,CAAC;AACrD,EAAA,MAAM4W,UAAU,GAAG,IAAI,CAAC/R,YAAY,CAAC,kBAAkB,CAAC;AAExD,EAAA,IAAI+R,UAAU,EAAE;AACdD,IAAAA,QAAQ,CAAChC,EAAE,CAACiC,UAAU,CAAC;IACvBD,QAAQ,CAACjC,iBAAiB,EAAE;AAC5B,IAAA;AACF,EAAA;EAEA,IAAI1Q,WAAW,CAACY,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,MAAM,EAAE;IAC1D+R,QAAQ,CAACxJ,IAAI,EAAE;IACfwJ,QAAQ,CAACjC,iBAAiB,EAAE;AAC5B,IAAA;AACF,EAAA;EAEAiC,QAAQ,CAAC3J,IAAI,EAAE;EACf2J,QAAQ,CAACjC,iBAAiB,EAAE;AAC9B,CAAC,CAAC;AAEFlV,YAAY,CAAC0C,EAAE,CAACgD,MAAM,EAAEoN,qBAAmB,EAAE,MAAM;AACjD,EAAA,MAAMuE,SAAS,GAAGvK,cAAc,CAAC7L,IAAI,CAAC0S,kBAAkB,CAAC;AAEzD,EAAA,KAAK,MAAMwD,QAAQ,IAAIE,SAAS,EAAE;AAChClD,IAAAA,QAAQ,CAAC9H,mBAAmB,CAAC8K,QAAQ,CAAC;AACxC,EAAA;AACF,CAAC,CAAC;;AC1bF;AACA;AACA;AACA;AACA;AACA;;;AAUA;AACA;AACA;;AAEA,MAAM5M,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAM4H,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAMyL,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAM8D,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE/D,MAAMN,iBAAe,GAAG,MAAM;AAC9B,MAAMsI,mBAAmB,GAAG,UAAU;AACtC,MAAMC,qBAAqB,GAAG,YAAY;AAC1C,MAAMC,oBAAoB,GAAG,WAAW;AACxC,MAAMC,0BAA0B,GAAG,CAAA,QAAA,EAAWH,mBAAmB,CAAA,EAAA,EAAKA,mBAAmB,CAAA,CAAE;AAC3F,MAAMI,qBAAqB,GAAG,qBAAqB;AAEnD,MAAMC,KAAK,GAAG,OAAO;AACrB,MAAMC,MAAM,GAAG,QAAQ;AAEvB,MAAMC,gBAAgB,GAAG,sCAAsC;AAC/D,MAAMrI,sBAAoB,GAAG,6BAA6B;AAE1D,MAAMvF,SAAO,GAAG;AACd6N,EAAAA,MAAM,EAAE,IAAI;AACZnI,EAAAA,MAAM,EAAE;AACV,CAAC;AAED,MAAMzF,aAAW,GAAG;AAClB4N,EAAAA,MAAM,EAAE,gBAAgB;AACxBnI,EAAAA,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;;AAEA,MAAMoI,QAAQ,SAAS1M,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAAC0N,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACC,aAAa,GAAG,EAAE;AAEvB,IAAA,MAAMC,UAAU,GAAGxL,cAAc,CAAC7L,IAAI,CAAC2O,sBAAoB,CAAC;AAE5D,IAAA,KAAK,MAAM2I,IAAI,IAAID,UAAU,EAAE;AAC7B,MAAA,MAAMjY,QAAQ,GAAGyM,cAAc,CAACkB,sBAAsB,CAACuK,IAAI,CAAC;AAC5D,MAAA,MAAMC,aAAa,GAAG1L,cAAc,CAAC7L,IAAI,CAACZ,QAAQ,CAAC,CAChD4E,MAAM,CAACwT,YAAY,IAAIA,YAAY,KAAK,IAAI,CAAC/M,QAAQ,CAAC;AAEzD,MAAA,IAAIrL,QAAQ,KAAK,IAAI,IAAImY,aAAa,CAACzV,MAAM,EAAE;AAC7C,QAAA,IAAI,CAACsV,aAAa,CAAC9K,IAAI,CAACgL,IAAI,CAAC;AAC/B,MAAA;AACF,IAAA;IAEA,IAAI,CAACG,mBAAmB,EAAE;AAE1B,IAAA,IAAI,CAAC,IAAI,CAAC/M,OAAO,CAACuM,MAAM,EAAE;AACxB,MAAA,IAAI,CAACS,yBAAyB,CAAC,IAAI,CAACN,aAAa,EAAE,IAAI,CAACO,QAAQ,EAAE,CAAC;AACrE,IAAA;AAEA,IAAA,IAAI,IAAI,CAACjN,OAAO,CAACoE,MAAM,EAAE;MACvB,IAAI,CAACA,MAAM,EAAE;AACf,IAAA;AACF,EAAA;;AAEA;EACA,WAAW1F,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwF,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAAC6I,QAAQ,EAAE,EAAE;MACnB,IAAI,CAACC,IAAI,EAAE;AACb,IAAA,CAAC,MAAM;MACL,IAAI,CAACC,IAAI,EAAE;AACb,IAAA;AACF,EAAA;AAEAA,EAAAA,IAAIA,GAAG;IACL,IAAI,IAAI,CAACV,gBAAgB,IAAI,IAAI,CAACQ,QAAQ,EAAE,EAAE;AAC5C,MAAA;AACF,IAAA;IAEA,IAAIG,cAAc,GAAG,EAAE;;AAEvB;AACA,IAAA,IAAI,IAAI,CAACpN,OAAO,CAACuM,MAAM,EAAE;AACvBa,MAAAA,cAAc,GAAG,IAAI,CAACC,sBAAsB,CAACf,gBAAgB,CAAC,CAC3DhT,MAAM,CAACnH,OAAO,IAAIA,OAAO,KAAK,IAAI,CAAC4N,QAAQ,CAAC,CAC5CiB,GAAG,CAAC7O,OAAO,IAAIqa,QAAQ,CAAC9L,mBAAmB,CAACvO,OAAO,EAAE;AAAEiS,QAAAA,MAAM,EAAE;AAAM,OAAC,CAAC,CAAC;AAC7E,IAAA;IAEA,IAAIgJ,cAAc,CAAChW,MAAM,IAAIgW,cAAc,CAAC,CAAC,CAAC,CAACX,gBAAgB,EAAE;AAC/D,MAAA;AACF,IAAA;IAEA,MAAMa,UAAU,GAAGjZ,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE4L,YAAU,CAAC;IAClE,IAAI2B,UAAU,CAACzJ,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAM0J,cAAc,IAAIH,cAAc,EAAE;MAC3CG,cAAc,CAACL,IAAI,EAAE;AACvB,IAAA;AAEA,IAAA,MAAMM,SAAS,GAAG,IAAI,CAACC,aAAa,EAAE;IAEtC,IAAI,CAAC1N,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAACgZ,mBAAmB,CAAC;IACnD,IAAI,CAAChM,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC8F,qBAAqB,CAAC;IAElD,IAAI,CAACjM,QAAQ,CAAC2N,KAAK,CAACF,SAAS,CAAC,GAAG,CAAC;IAElC,IAAI,CAACR,yBAAyB,CAAC,IAAI,CAACN,aAAa,EAAE,IAAI,CAAC;IACxD,IAAI,CAACD,gBAAgB,GAAG,IAAI;IAE5B,MAAMkB,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAClB,gBAAgB,GAAG,KAAK;MAE7B,IAAI,CAAC1M,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAACiZ,qBAAqB,CAAC;MACrD,IAAI,CAACjM,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC6F,mBAAmB,EAAEtI,iBAAe,CAAC;MAEjE,IAAI,CAAC1D,QAAQ,CAAC2N,KAAK,CAACF,SAAS,CAAC,GAAG,EAAE;MAEnCnZ,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE6L,aAAW,CAAC;IAClD,CAAC;AAED,IAAA,MAAMgC,oBAAoB,GAAGJ,SAAS,CAAC,CAAC,CAAC,CAAC5N,WAAW,EAAE,GAAG4N,SAAS,CAAClW,KAAK,CAAC,CAAC,CAAC;AAC5E,IAAA,MAAMuW,UAAU,GAAG,CAAA,MAAA,EAASD,oBAAoB,CAAA,CAAE;IAElD,IAAI,CAACrN,cAAc,CAACoN,QAAQ,EAAE,IAAI,CAAC5N,QAAQ,EAAE,IAAI,CAAC;AAClD,IAAA,IAAI,CAACA,QAAQ,CAAC2N,KAAK,CAACF,SAAS,CAAC,GAAG,CAAA,EAAG,IAAI,CAACzN,QAAQ,CAAC8N,UAAU,CAAC,CAAA,EAAA,CAAI;AACnE,EAAA;AAEAX,EAAAA,IAAIA,GAAG;IACL,IAAI,IAAI,CAACT,gBAAgB,IAAI,CAAC,IAAI,CAACQ,QAAQ,EAAE,EAAE;AAC7C,MAAA;AACF,IAAA;IAEA,MAAMK,UAAU,GAAGjZ,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8L,YAAU,CAAC;IAClE,IAAIyB,UAAU,CAACzJ,gBAAgB,EAAE;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,MAAM2J,SAAS,GAAG,IAAI,CAACC,aAAa,EAAE;AAEtC,IAAA,IAAI,CAAC1N,QAAQ,CAAC2N,KAAK,CAACF,SAAS,CAAC,GAAG,CAAA,EAAG,IAAI,CAACzN,QAAQ,CAAC+N,qBAAqB,EAAE,CAACN,SAAS,CAAC,CAAA,EAAA,CAAI;AAExFxQ,IAAAA,MAAM,CAAC,IAAI,CAAC+C,QAAQ,CAAC;IAErB,IAAI,CAACA,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC8F,qBAAqB,CAAC;IAClD,IAAI,CAACjM,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAACgZ,mBAAmB,EAAEtI,iBAAe,CAAC;AAEpE,IAAA,KAAK,MAAMjM,OAAO,IAAI,IAAI,CAACkV,aAAa,EAAE;AACxC,MAAA,MAAMva,OAAO,GAAGgP,cAAc,CAACmB,sBAAsB,CAAC9K,OAAO,CAAC;MAE9D,IAAIrF,OAAO,IAAI,CAAC,IAAI,CAAC8a,QAAQ,CAAC9a,OAAO,CAAC,EAAE;QACtC,IAAI,CAAC6a,yBAAyB,CAAC,CAACxV,OAAO,CAAC,EAAE,KAAK,CAAC;AAClD,MAAA;AACF,IAAA;IAEA,IAAI,CAACiV,gBAAgB,GAAG,IAAI;IAE5B,MAAMkB,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAClB,gBAAgB,GAAG,KAAK;MAC7B,IAAI,CAAC1M,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAACiZ,qBAAqB,CAAC;MACrD,IAAI,CAACjM,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC6F,mBAAmB,CAAC;MAChD1X,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+L,cAAY,CAAC;IACnD,CAAC;IAED,IAAI,CAAC/L,QAAQ,CAAC2N,KAAK,CAACF,SAAS,CAAC,GAAG,EAAE;IAEnC,IAAI,CAACjN,cAAc,CAACoN,QAAQ,EAAE,IAAI,CAAC5N,QAAQ,EAAE,IAAI,CAAC;AACpD,EAAA;;AAEA;AACAkN,EAAAA,QAAQA,CAAC9a,OAAO,GAAG,IAAI,CAAC4N,QAAQ,EAAE;AAChC,IAAA,OAAO5N,OAAO,CAACmK,SAAS,CAACtG,QAAQ,CAACyN,iBAAe,CAAC;AACpD,EAAA;EAEAxE,iBAAiBA,CAACF,MAAM,EAAE;IACxBA,MAAM,CAACqF,MAAM,GAAG5N,OAAO,CAACuI,MAAM,CAACqF,MAAM,CAAC,CAAA;IACtCrF,MAAM,CAACwN,MAAM,GAAG7Q,UAAU,CAACqD,MAAM,CAACwN,MAAM,CAAC;AACzC,IAAA,OAAOxN,MAAM;AACf,EAAA;AAEA0O,EAAAA,aAAaA,GAAG;AACd,IAAA,OAAO,IAAI,CAAC1N,QAAQ,CAACzD,SAAS,CAACtG,QAAQ,CAACmW,qBAAqB,CAAC,GAAGC,KAAK,GAAGC,MAAM;AACjF,EAAA;AAEAU,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,IAAI,CAAC,IAAI,CAAC/M,OAAO,CAACuM,MAAM,EAAE;AACxB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMhL,QAAQ,GAAG,IAAI,CAAC8L,sBAAsB,CAACpJ,sBAAoB,CAAC;AAElE,IAAA,KAAK,MAAM9R,OAAO,IAAIoP,QAAQ,EAAE;AAC9B,MAAA,MAAMwM,QAAQ,GAAG5M,cAAc,CAACmB,sBAAsB,CAACnQ,OAAO,CAAC;AAE/D,MAAA,IAAI4b,QAAQ,EAAE;AACZ,QAAA,IAAI,CAACf,yBAAyB,CAAC,CAAC7a,OAAO,CAAC,EAAE,IAAI,CAAC8a,QAAQ,CAACc,QAAQ,CAAC,CAAC;AACpE,MAAA;AACF,IAAA;AACF,EAAA;EAEAV,sBAAsBA,CAAC3Y,QAAQ,EAAE;AAC/B,IAAA,MAAM6M,QAAQ,GAAGJ,cAAc,CAAC7L,IAAI,CAAC4W,0BAA0B,EAAE,IAAI,CAAClM,OAAO,CAACuM,MAAM,CAAC;AACrF;IACA,OAAOpL,cAAc,CAAC7L,IAAI,CAACZ,QAAQ,EAAE,IAAI,CAACsL,OAAO,CAACuM,MAAM,CAAC,CAACjT,MAAM,CAACnH,OAAO,IAAI,CAACoP,QAAQ,CAACzK,QAAQ,CAAC3E,OAAO,CAAC,CAAC;AAC1G,EAAA;AAEA6a,EAAAA,yBAAyBA,CAACgB,YAAY,EAAEC,MAAM,EAAE;AAC9C,IAAA,IAAI,CAACD,YAAY,CAAC5W,MAAM,EAAE;AACxB,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAMjF,OAAO,IAAI6b,YAAY,EAAE;MAClC7b,OAAO,CAACmK,SAAS,CAAC8H,MAAM,CAAC6H,oBAAoB,EAAE,CAACgC,MAAM,CAAC;AACvD9b,MAAAA,OAAO,CAAC4G,YAAY,CAAC,eAAe,EAAEkV,MAAM,CAAC;AAC/C,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA5Z,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;AACrF;AACA,EAAA,IAAIA,KAAK,CAACY,MAAM,CAAC+N,OAAO,KAAK,GAAG,IAAK3O,KAAK,CAACE,cAAc,IAAIF,KAAK,CAACE,cAAc,CAACyO,OAAO,KAAK,GAAI,EAAE;IAClG3O,KAAK,CAAC4O,cAAc,EAAE;AACxB,EAAA;EAEA,KAAK,MAAM1Q,OAAO,IAAIgP,cAAc,CAACoB,+BAA+B,CAAC,IAAI,CAAC,EAAE;AAC1EiK,IAAAA,QAAQ,CAAC9L,mBAAmB,CAACvO,OAAO,EAAE;AAAEiS,MAAAA,MAAM,EAAE;AAAM,KAAC,CAAC,CAACA,MAAM,EAAE;AACnE,EAAA;AACF,CAAC,CAAC;;AC3QF;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACO,MAAM8J,WAAW,GAAG;AACzBC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACR,EAAA,KAAK,EAAE;AACT,CAAC;;AAeD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,wBAAwB,GAAGA,CAACC,eAAe,EAAEC,gBAAgB,GAAG,QAAQ,KAAK;AACxF;EACA,IAAI,CAACD,eAAe,IAAI,CAACA,eAAe,CAAC1X,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtD,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACA,EAAA,MAAM4X,KAAK,GAAGF,eAAe,CAAClT,KAAK,CAAC,KAAK,CAAC;AAC1C,EAAA,MAAMqT,UAAU,GAAG;AAAEC,IAAAA,EAAE,EAAEH;AAAiB,GAAC,CAAA;;AAE3C,EAAA,KAAK,MAAMI,IAAI,IAAIH,KAAK,EAAE;AACxB,IAAA,IAAIG,IAAI,CAAC/X,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtB;MACA,MAAM,CAACgY,UAAU,EAAEC,SAAS,CAAC,GAAGF,IAAI,CAACvT,KAAK,CAAC,GAAG,CAAC;AAC/C,MAAA,IAAI4S,WAAW,CAACY,UAAU,CAAC,KAAKxU,SAAS,EAAE;AACzCqU,QAAAA,UAAU,CAACG,UAAU,CAAC,GAAGC,SAAS;AACpC,MAAA;AACF,IAAA,CAAC,MAAM;AACL;MACAJ,UAAU,CAACC,EAAE,GAAGC,IAAI;AACtB,IAAA;AACF,EAAA;AAEA,EAAA,OAAOF,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,sBAAsB,GAAGA,CAACC,oBAAoB,EAAER,gBAAgB,GAAG,QAAQ,KAAK;EAC3F,IAAI,CAACQ,oBAAoB,EAAE;AACzB,IAAA,OAAOR,gBAAgB;AACzB,EAAA;;AAEA;AACA,EAAA,MAAMS,aAAa,GAAGnV,MAAM,CAACoV,UAAU;;AAEvC;AACA,EAAA,IAAIC,eAAe,GAAGH,oBAAoB,CAACL,EAAE,IAAIH,gBAAgB;;AAEjE;AACA,EAAA,MAAMY,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AAEvD,EAAA,KAAK,MAAMP,UAAU,IAAIO,eAAe,EAAE;AACxC,IAAA,MAAMC,QAAQ,GAAGpB,WAAW,CAACY,UAAU,CAAC;IACxC,IAAII,aAAa,IAAII,QAAQ,IAAIL,oBAAoB,CAACH,UAAU,CAAC,EAAE;AACjEM,MAAAA,eAAe,GAAGH,oBAAoB,CAACH,UAAU,CAAC;AACpD,IAAA;AACF,EAAA;AAEA,EAAA,OAAOM,eAAe;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,yBAAyB,GAAG/R,QAAQ,IAAI;EACnD,MAAMgS,SAAS,GAAG,EAAE;EAEpB,KAAK,MAAMV,UAAU,IAAI1Z,MAAM,CAACtC,IAAI,CAACob,WAAW,CAAC,EAAE;AACjD,IAAA,MAAMoB,QAAQ,GAAGpB,WAAW,CAACY,UAAU,CAAC;IACxC,MAAMW,GAAG,GAAG1V,MAAM,CAAC2V,UAAU,CAAC,CAAA,YAAA,EAAeJ,QAAQ,CAAA,GAAA,CAAK,CAAC;AAE3DG,IAAAA,GAAG,CAACpZ,gBAAgB,CAAC,QAAQ,EAAEmH,QAAQ,CAAC;IACxCgS,SAAS,CAAC5N,IAAI,CAAC;MAAE6N,GAAG;AAAEzb,MAAAA,OAAO,EAAEwJ;AAAS,KAAC,CAAC;AAC5C,EAAA;AAEA,EAAA,OAAOgS,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,0BAA0B,GAAGH,SAAS,IAAI;AACrD,EAAA,KAAK,MAAM;IAAEC,GAAG;AAAEzb,IAAAA;GAAS,IAAIwb,SAAS,EAAE;AACxCC,IAAAA,GAAG,CAAClZ,mBAAmB,CAAC,QAAQ,EAAEvC,OAAO,CAAC;AAC5C,EAAA;AACF,CAAC;;AC/HD;AACA;AACA;AACA;AACA;AACA;;;AA8BA;AACA;AACA;;AAEA,MAAM4K,MAAI,GAAG,MAAM;AACnB,MAAMsB,UAAQ,GAAG,SAAS;AAC1B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAM6L,YAAU,GAAG,QAAQ;AAC3B,MAAMC,SAAO,GAAG,KAAK;AACrB,MAAMC,cAAY,GAAG,SAAS;AAC9B,MAAMC,gBAAc,GAAG,WAAW;AAClC,MAAMzJ,gBAAc,GAAG,WAAW;AAClC,MAAMC,iBAAe,GAAG,YAAY;AACpC,MAAMyJ,UAAQ,GAAG,MAAM;AACvB,MAAMC,SAAO,GAAG,KAAK;AACrB,MAAMC,WAAS,GAAG,OAAO;AACzB,MAAMC,WAAS,GAAG,GAAG;AACrB,MAAMC,kBAAkB,GAAG,CAAC;AAE5B,MAAMC,mBAAmB,GAAG,GAAG;AAE/B,MAAMxE,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAMuL,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAM8D,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAC/D,MAAMuM,sBAAsB,GAAG,CAAA,OAAA,EAAUlQ,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AACnE,MAAMwM,oBAAoB,GAAG,CAAA,KAAA,EAAQnQ,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE/D,MAAMN,iBAAe,GAAG,MAAM;AAE9B,MAAMQ,sBAAoB,GAAG,uDAAuD;AAEpF,MAAMuM,eAAa,GAAG,OAAO;AAC7B,MAAMC,gBAAgB,GAAG,UAAU;AACnC,MAAMC,uBAAuB,GAAG,uBAAuB;AACvD,MAAMC,mBAAmB,GAAG,aAAa;AACzC,MAAMC,wBAAsB,GAAG,0CAA0C;AAEzE,MAAMC,iBAAiB,GAAG,cAAc;AACxC,MAAMC,iBAAiB,GAAG,WAAW;AAErC,MAAMC,uBAAuB,GAAGhC,SAAS,IAAI;EAC3C,IAAI7R,KAAK,EAAE,EAAE;AACX,IAAA,OAAO6R,SAAS,CAAC3Y,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAACA,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;AACnF,EAAA;AAEA,EAAA,OAAO2Y,SAAS,CAAC3Y,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAACA,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;AACnF,CAAC;AAED,MAAM4a,YAAY,GAAGA,CAACC,EAAE,EAAEC,EAAE,EAAEC,EAAE,KAC7B,CAACF,EAAE,CAACG,CAAC,GAAGD,EAAE,CAACC,CAAC,KAAKF,EAAE,CAACG,CAAC,GAAGF,EAAE,CAACE,CAAC,CAAC,GAAK,CAACH,EAAE,CAACE,CAAC,GAAGD,EAAE,CAACC,CAAC,KAAKH,EAAE,CAACI,CAAC,GAAGF,EAAE,CAACE,CAAC,CAAE;AAEnE,MAAM3S,SAAO,GAAG;AACd4S,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,QAAQ,EAAE,iBAAiB;AAC3BC,EAAAA,SAAS,EAAE,KAAK;AAChBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACdC,EAAAA,cAAc,EAAE,IAAI;AACpBC,EAAAA,IAAI,EAAE,IAAI;AACV7C,EAAAA,SAAS,EAAE8B,iBAAiB;AAC5BgB,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,cAAc,EAAE,MAAM;AACtBC,EAAAA,YAAY,EAAE3B;AAChB,CAAC;AAED,MAAM1R,aAAW,GAAG;AAClB2S,EAAAA,SAAS,EAAE,kBAAkB;AAC7BC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE,0BAA0B;AACrCC,EAAAA,OAAO,EAAE,QAAQ;AACjBC,EAAAA,MAAM,EAAE,yBAAyB;AACjCC,EAAAA,cAAc,EAAE,wBAAwB;AACxCC,EAAAA,IAAI,EAAE,gBAAgB;AACtB7C,EAAAA,SAAS,EAAE,QAAQ;AACnB8C,EAAAA,SAAS,EAAE,yBAAyB;AACpCC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,IAAI,SAASnS,aAAa,CAAC;AAC/B,EAAA,OAAOoS,cAAc,GAAA,CAAA,MAAG,IAAIxe,GAAG,EAAE,GAAA;AAEjC0L,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,IAAI,OAAOoT,eAAe,KAAK,WAAW,EAAE;AAC1C,MAAA,MAAM,IAAIxS,SAAS,CAAC,kEAAkE,CAAC;AACzF,IAAA;AAEA,IAAA,KAAK,CAACxN,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAACqT,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,oBAAoB,GAAG,EAAE;IAC9B,IAAI,CAACC,qBAAqB,GAAG,IAAI;AACjC,IAAA,IAAI,CAACC,OAAO,GAAG,IAAI,CAACxS,QAAQ,CAACjL,UAAU;AACvC,IAAA,IAAI,CAAC0d,UAAU,GAAG,IAAI,CAACD,OAAO,CAACjW,SAAS,EAAEtG,QAAQ,CAAC,SAAS,CAAC;AAC7D,IAAA,IAAI,CAACyc,aAAa,GAAG,IAAIxgB,GAAG,EAAE;AAC9B,IAAA,IAAI,CAACygB,qBAAqB,GAAG,IAAIzgB,GAAG,EAAE;IACtC,IAAI,CAAC0gB,gBAAgB,GAAG,IAAI;AAE5B,IAAA,IAAI,CAACC,KAAK,GAAG,IAAI,CAAC5S,OAAO,CAAC4R,IAAI,IAAI,IAAI,CAACiB,SAAS,EAAE;AAElD,IAAA,IAAI,CAACC,mBAAmB,GAAG,IAAI,CAACF,KAAK,EAAE9d,UAAU;IAEjD,IAAI,CAACie,0BAA0B,EAAE;IACjC,IAAI,CAACC,sBAAsB,EAAE;AAC/B,EAAA;;AAEA;EACA,WAAWtU,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwF,EAAAA,MAAMA,GAAG;AACP,IAAA,OAAO,IAAI,CAAC6I,QAAQ,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;AACpD,EAAA;AAEAA,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAIhR,UAAU,CAAC,IAAI,CAAC4D,QAAQ,CAAC,IAAI,IAAI,CAACkN,QAAQ,EAAE,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMlX,aAAa,GAAG;MACpBA,aAAa,EAAE,IAAI,CAACgK;KACrB;AAED,IAAA,MAAMkT,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE4L,YAAU,EAAE5V,aAAa,CAAC;IAEhF,IAAIkd,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAACqP,oBAAoB,EAAE;IAC3B,IAAI,CAACC,eAAe,EAAE;AAEtB,IAAA,IAAI,cAAc,IAAItY,QAAQ,CAAC6B,eAAe,IAAI,CAAC,IAAI,CAAC6V,OAAO,CAACtW,OAAO,CAAC0U,mBAAmB,CAAC,EAAE;AAC5F,MAAA,KAAK,MAAMxe,OAAO,IAAI,EAAE,CAACiP,MAAM,CAAC,GAAGvG,QAAQ,CAACuY,IAAI,CAAC7R,QAAQ,CAAC,EAAE;QAC1DlN,YAAY,CAAC0C,EAAE,CAAC5E,OAAO,EAAE,WAAW,EAAE4K,IAAI,CAAC;AAC7C,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACgD,QAAQ,CAACsT,KAAK,CAAC;AAAEC,MAAAA,YAAY,EAAE;AAAM,KAAC,CAAC;IAC5C,IAAI,CAACvT,QAAQ,CAAChH,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;IAEnD,IAAI,CAAC6Z,KAAK,CAACtW,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;IACzC,IAAI,CAAC1D,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;IAE5C,IAAI,IAAI,CAAC8O,OAAO,EAAE;MAChB,IAAI,CAACA,OAAO,CAACjW,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;AAC7C,IAAA;AAEAwO,IAAAA,IAAI,CAACC,cAAc,CAAChM,GAAG,CAAC,IAAI,CAAC;IAC7B7R,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE6L,aAAW,EAAE7V,aAAa,CAAC;AACjE,EAAA;AAEAmX,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI/Q,UAAU,CAAC,IAAI,CAAC4D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACkN,QAAQ,EAAE,EAAE;AACjD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMlX,aAAa,GAAG;MACpBA,aAAa,EAAE,IAAI,CAACgK;KACrB;AAED,IAAA,IAAI,CAACwT,aAAa,CAACxd,aAAa,CAAC;AACnC,EAAA;AAEAoK,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACqT,gBAAgB,EAAE;IACvB,IAAI,CAACC,4BAA4B,EAAE;IACnC,IAAI,CAACC,2BAA2B,EAAE;IAClC,IAAI,CAACC,iBAAiB,EAAE;IACxB,IAAI,CAACC,wBAAwB,EAAE;AAC/B3B,IAAAA,IAAI,CAACC,cAAc,CAAClf,MAAM,CAAC,IAAI,CAAC;IAChC,KAAK,CAACmN,OAAO,EAAE;AACjB,EAAA;AAEA0T,EAAAA,MAAMA,GAAG;IACP,IAAI,IAAI,CAACzB,gBAAgB,EAAE;MACzB,IAAI,CAAC0B,uBAAuB,EAAE;AAChC,IAAA;AACF,EAAA;;AAEA;AACAjB,EAAAA,SAASA,GAAG;AACV,IAAA,OAAO1R,cAAc,CAACa,IAAI,CAAC,IAAI,CAACjC,QAAQ,EAAEyQ,eAAa,CAAC,CAAC,CAAC,CAAC,IACzDrP,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC9B,QAAQ,EAAEyQ,eAAa,CAAC,CAAC,CAAC,CAAC,IACpDrP,cAAc,CAACG,OAAO,CAACkP,eAAa,EAAE,IAAI,CAAC+B,OAAO,CAAC;AACvD,EAAA;EAEAgB,aAAaA,CAACxd,aAAa,EAAE;AAC3B,IAAA,MAAMge,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8L,YAAU,EAAE9V,aAAa,CAAC;IAChF,IAAIge,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC8P,iBAAiB,EAAE;AAExB,IAAA,IAAI,cAAc,IAAI9Y,QAAQ,CAAC6B,eAAe,EAAE;AAC9C,MAAA,KAAK,MAAMvK,OAAO,IAAI,EAAE,CAACiP,MAAM,CAAC,GAAGvG,QAAQ,CAACuY,IAAI,CAAC7R,QAAQ,CAAC,EAAE;QAC1DlN,YAAY,CAACC,GAAG,CAACnC,OAAO,EAAE,WAAW,EAAE4K,IAAI,CAAC;AAC9C,MAAA;AACF,IAAA;IAEA,IAAI,CAACyW,gBAAgB,EAAE;IACvB,IAAI,CAACC,4BAA4B,EAAE;IAEnC,IAAI,CAACb,KAAK,CAACtW,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;IAC5C,IAAI,CAAC1D,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;IAE/C,IAAI,IAAI,CAAC8O,OAAO,EAAE;MAChB,IAAI,CAACA,OAAO,CAACjW,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;AAChD,IAAA;IAEA,IAAI,CAAC1D,QAAQ,CAAChH,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;IACpDF,WAAW,CAACG,mBAAmB,CAAC,IAAI,CAAC4Z,KAAK,EAAE,WAAW,CAAC;IACxD/Z,WAAW,CAACG,mBAAmB,CAAC,IAAI,CAAC4Z,KAAK,EAAE,SAAS,CAAC;AACtDX,IAAAA,IAAI,CAACC,cAAc,CAAClf,MAAM,CAAC,IAAI,CAAC;IAChCqB,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+L,cAAY,EAAE/V,aAAa,CAAC;AAClE,EAAA;EAEA+I,UAAUA,CAACC,MAAM,EAAE;AACjBA,IAAAA,MAAM,GAAG,KAAK,CAACD,UAAU,CAACC,MAAM,CAAC;IAEjC,IAAI,OAAOA,MAAM,CAAC8S,SAAS,KAAK,QAAQ,IAAI,CAACrW,SAAS,CAACuD,MAAM,CAAC8S,SAAS,CAAC,IACtE,OAAO9S,MAAM,CAAC8S,SAAS,CAAC/D,qBAAqB,KAAK,UAAU,EAC5D;MACA,MAAM,IAAInO,SAAS,CAAC,CAAA,EAAGf,MAAI,CAACgB,WAAW,EAAE,CAAA,8FAAA,CAAgG,CAAC;AAC5I,IAAA;AAEA,IAAA,OAAOb,MAAM;AACf,EAAA;AAEAoU,EAAAA,eAAeA,GAAG;AAChB,IAAA,IAAI,IAAI,CAACnT,OAAO,CAACyR,OAAO,KAAK,QAAQ,EAAE;MACrC5Y,WAAW,CAACC,gBAAgB,CAAC,IAAI,CAAC8Z,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;AAC7D,MAAA;AACF,IAAA;AAEA,IAAA,IAAIoB,gBAAgB,GAAG,IAAI,CAACjU,QAAQ;AAEpC,IAAA,IAAI,IAAI,CAACC,OAAO,CAAC6R,SAAS,KAAK,QAAQ,EAAE;MACvCmC,gBAAgB,GAAG,IAAI,CAACzB,OAAO;IACjC,CAAC,MAAM,IAAI/W,SAAS,CAAC,IAAI,CAACwE,OAAO,CAAC6R,SAAS,CAAC,EAAE;MAC5CmC,gBAAgB,GAAGtY,UAAU,CAAC,IAAI,CAACsE,OAAO,CAAC6R,SAAS,CAAC;IACvD,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC7R,OAAO,CAAC6R,SAAS,KAAK,QAAQ,EAAE;AACrDmC,MAAAA,gBAAgB,GAAG,IAAI,CAAChU,OAAO,CAAC6R,SAAS;AAC3C,IAAA;AAEA,IAAA,IAAI,CAACiC,uBAAuB,CAACE,gBAAgB,CAAC;AAE9C,IAAA,IAAI,CAAC5B,gBAAgB,GAAG6B,UAAU,CAChCD,gBAAgB,EAChB,IAAI,CAACpB,KAAK,EACV,MAAM,IAAI,CAACkB,uBAAuB,CAACE,gBAAgB,CACrD,CAAC;AACH,EAAA;AAEA,EAAA,MAAMF,uBAAuBA,CAACE,gBAAgB,GAAG,IAAI,EAAE;AACrD,IAAA,IAAI,CAAC,IAAI,CAACpB,KAAK,EAAE;AACf,MAAA;AACF,IAAA;IAEA,IAAI,CAACoB,gBAAgB,EAAE;AACrB,MAAA,IAAI,IAAI,CAAChU,OAAO,CAAC6R,SAAS,KAAK,QAAQ,EAAE;QACvCmC,gBAAgB,GAAG,IAAI,CAACzB,OAAO;MACjC,CAAC,MAAM,IAAI/W,SAAS,CAAC,IAAI,CAACwE,OAAO,CAAC6R,SAAS,CAAC,EAAE;QAC5CmC,gBAAgB,GAAGtY,UAAU,CAAC,IAAI,CAACsE,OAAO,CAAC6R,SAAS,CAAC;MACvD,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC7R,OAAO,CAAC6R,SAAS,KAAK,QAAQ,EAAE;AACrDmC,QAAAA,gBAAgB,GAAG,IAAI,CAAChU,OAAO,CAAC6R,SAAS;AAC3C,MAAA,CAAC,MAAM;QACLmC,gBAAgB,GAAG,IAAI,CAACjU,QAAQ;AAClC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMgP,SAAS,GAAG,IAAI,CAACmF,aAAa,EAAE;AACtC,IAAA,MAAMC,UAAU,GAAG,IAAI,CAACC,sBAAsB,EAAE;IAChD,MAAMzC,cAAc,GAAG,IAAI,CAAC0C,kBAAkB,CAACtF,SAAS,EAAEoF,UAAU,CAAC;IAErE,MAAM,IAAI,CAACG,sBAAsB,CAC/BN,gBAAgB,EAChB,IAAI,CAACpB,KAAK,EACVjB,cAAc,CAAC5C,SAAS,EACxB4C,cAAc,CAACwC,UAAU,EACzBxC,cAAc,CAACG,QACjB,CAAC;AACH,EAAA;AAEA7E,EAAAA,QAAQA,GAAG;IACT,OAAO,IAAI,CAAC2F,KAAK,CAACtW,SAAS,CAACtG,QAAQ,CAACyN,iBAAe,CAAC;AACvD,EAAA;AAEAyQ,EAAAA,aAAaA,GAAG;AACd,IAAA,MAAMnF,SAAS,GAAG,IAAI,CAACuD,qBAAqB,GAC1CtD,sBAAsB,CAAC,IAAI,CAACsD,qBAAqB,EAAEzB,iBAAiB,CAAC,GACrE,IAAI,CAAC7Q,OAAO,CAAC+O,SAAS;IAExB,OAAOgC,uBAAuB,CAAChC,SAAS,CAAC;AAC3C,EAAA;AAEAgE,EAAAA,0BAA0BA,GAAG;AAC3B,IAAA,IAAI,CAACT,qBAAqB,GAAG/D,wBAAwB,CAAC,IAAI,CAACvO,OAAO,CAAC+O,SAAS,EAAE8B,iBAAiB,CAAC;IAEhG,IAAI,IAAI,CAACyB,qBAAqB,EAAE;MAC9B,IAAI,CAACiC,yBAAyB,EAAE;AAClC,IAAA;AACF,EAAA;AAEAA,EAAAA,yBAAyBA,GAAG;IAC1B,IAAI,CAACb,2BAA2B,EAAE;AAClC,IAAA,IAAI,CAACrB,oBAAoB,GAAG9C,yBAAyB,CAAC,MAAM;AAC1D,MAAA,IAAI,IAAI,CAACtC,QAAQ,EAAE,EAAE;QACnB,IAAI,CAAC6G,uBAAuB,EAAE;AAChC,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAJ,EAAAA,2BAA2BA,GAAG;AAC5B/D,IAAAA,0BAA0B,CAAC,IAAI,CAAC0C,oBAAoB,CAAC;IACrD,IAAI,CAACA,oBAAoB,GAAG,EAAE;AAChC,EAAA;AAEAmC,EAAAA,UAAUA,GAAG;IACX,MAAM;AAAE9C,MAAAA,MAAM,EAAE+C;KAAc,GAAG,IAAI,CAACzU,OAAO;AAE7C,IAAA,IAAI,OAAOyU,YAAY,KAAK,QAAQ,EAAE;AACpC,MAAA,OAAOA,YAAY,CAACnZ,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAAC/I,KAAK,IAAII,MAAM,CAACsS,QAAQ,CAAC1S,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE,IAAA;AAEA,IAAA,IAAI,OAAOwc,YAAY,KAAK,UAAU,EAAE;AACtC,MAAA,OAAO,CAAC;QAAE1F,SAAS;AAAE2F,QAAAA;AAAM,OAAC,KAAK;QAC/B,MAAMC,MAAM,GAAGF,YAAY,CAAC;UAAE1F,SAAS;UAAE8C,SAAS,EAAE6C,KAAK,CAAC7C,SAAS;UAAE+C,QAAQ,EAAEF,KAAK,CAACE;AAAS,SAAC,EAAE,IAAI,CAAC7U,QAAQ,CAAC;AAC/G,QAAA,OAAO4U,MAAM;MACf,CAAC;AACH,IAAA;AAEA,IAAA,OAAOF,YAAY;AACrB,EAAA;AAEAL,EAAAA,sBAAsBA,GAAG;AACvB,IAAA,MAAMS,WAAW,GAAG,IAAI,CAACL,UAAU,EAAE;IAErC,MAAML,UAAU,GAAG,CACjBzC,MAAM,CACJ,OAAOmD,WAAW,KAAK,UAAU,GAC/BA,WAAW,GACX;AAAEC,MAAAA,QAAQ,EAAED,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAAEE,MAAAA,SAAS,EAAEF,WAAW,CAAC,CAAC,CAAC,IAAI;KAClE,CAAC,EACDG,IAAI,CAAC;AACHC,MAAAA,kBAAkB,EAAE,IAAI,CAACC,sBAAsB;KAChD,CAAC,EACFC,KAAK,CAAC;AACJ5D,MAAAA,QAAQ,EAAE,IAAI,CAACvR,OAAO,CAACuR,QAAQ,KAAK,iBAAiB,GAAG,mBAAmB,GAAG,IAAI,CAACvR,OAAO,CAACuR;AAC7F,KAAC,CAAC,CACH;AAED,IAAA,OAAO4C,UAAU;AACnB,EAAA;AAEAe,EAAAA,sBAAsBA,GAAG;AACvB,IAAA,MAAMnG,SAAS,GAAG,IAAI,CAACmF,aAAa,EAAE;AAEtC,IAAA,MAAMkB,WAAW,GAAG;MAClBC,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC;AACrE,MAAA,cAAc,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC;AACtD,MAAA,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC;MACtDC,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC;AACrE,MAAA,WAAW,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,YAAY,CAAC;AACtD,MAAA,SAAS,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC;MACtDC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;MACrE,aAAa,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC;MACnF,WAAW,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC;MAC/EC,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC;MACrE,YAAY,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC;MACnF,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY;KAC/E;AAED,IAAA,OAAOJ,WAAW,CAACrG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;AACrE,EAAA;AAEAsF,EAAAA,kBAAkBA,CAACtF,SAAS,EAAEoF,UAAU,EAAE;AACxC,IAAA,MAAMsB,aAAa,GAAG;MACpB1G,SAAS;MACToF,UAAU;AACVrC,MAAAA,QAAQ,EAAE,IAAI,CAAC9R,OAAO,CAAC8R;KACxB;IAED,OAAO;AACL,MAAA,GAAG2D,aAAa;AAChB,MAAA,GAAGrY,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAAC2R,cAAc,EAAE,CAACrX,SAAS,EAAEmb,aAAa,CAAC;KACnE;AACH,EAAA;AAEAjC,EAAAA,gBAAgBA,GAAG;IACjB,IAAI,IAAI,CAACpB,gBAAgB,EAAE;MACzB,IAAI,CAACA,gBAAgB,EAAE;MACvB,IAAI,CAACA,gBAAgB,GAAG,IAAI;AAC9B,IAAA;AACF,EAAA;AAEAsD,EAAAA,aAAaA,GAAG;IACd,MAAM;AAAElE,MAAAA;KAAW,GAAG,IAAI,CAACxR,OAAO;IAClC,IAAIwR,SAAS,KAAK,KAAK,EAAE;AACvB,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,OAAOA,SAAS,KAAK,IAAI,GAAG3W,QAAQ,CAACuY,IAAI,GAAG1X,UAAU,CAAC8V,SAAS,CAAC;AACnE,EAAA;AAEA0B,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,MAAM1B,SAAS,GAAG,IAAI,CAACkE,aAAa,EAAE;AACtC,IAAA,IAAI,CAAClE,SAAS,IAAI,CAAC,IAAI,CAACoB,KAAK,EAAE;AAC7B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACA,KAAK,CAAC9d,UAAU,KAAK0c,SAAS,EAAE;AACvCA,MAAAA,SAAS,CAACmE,MAAM,CAAC,IAAI,CAAC/C,KAAK,CAAC;AAC9B,IAAA;AACF,EAAA;AAEAa,EAAAA,4BAA4BA,GAAG;IAC7B,IAAI,CAAC,IAAI,CAACX,mBAAmB,IAAI,CAAC,IAAI,CAACF,KAAK,EAAE;AAC5C,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACA,KAAK,CAAC9d,UAAU,KAAK,IAAI,CAACge,mBAAmB,EAAE;MACtD,IAAI,CAACA,mBAAmB,CAAC6C,MAAM,CAAC,IAAI,CAAC/C,KAAK,CAAC;AAC7C,IAAA;AACF,EAAA;AAEA,EAAA,MAAM0B,sBAAsBA,CAACzC,SAAS,EAAE+C,QAAQ,EAAE7F,SAAS,EAAEoF,UAAU,EAAErC,QAAQ,GAAG,UAAU,EAAE;AAC9F,IAAA,IAAI,CAAC8C,QAAQ,CAACgB,WAAW,EAAE;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAM;MAAExE,CAAC;MAAEC,CAAC;AAAEtC,MAAAA,SAAS,EAAE8G;AAAe,KAAC,GAAG,MAAM1D,eAAe,CAC/DN,SAAS,EACT+C,QAAQ,EACR;MAAE7F,SAAS;MAAEoF,UAAU;AAAErC,MAAAA;AAAS,KACpC,CAAC;AAED,IAAA,IAAI,CAAC8C,QAAQ,CAACgB,WAAW,EAAE;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;AAEAxgB,IAAAA,MAAM,CAAC0gB,MAAM,CAAClB,QAAQ,CAAClH,KAAK,EAAE;AAC5BqI,MAAAA,QAAQ,EAAEjE,QAAQ;MAClB0D,IAAI,EAAE,CAAA,EAAGpE,CAAC,CAAA,EAAA,CAAI;MACdkE,GAAG,EAAE,CAAA,EAAGjE,CAAC,CAAA,EAAA,CAAI;AACb2E,MAAAA,MAAM,EAAE;AACV,KAAC,CAAC;IAEFnd,WAAW,CAACC,gBAAgB,CAAC8b,QAAQ,EAAE,WAAW,EAAEiB,cAAc,CAAC;AACnE,IAAA,OAAOA,cAAc;AACvB,EAAA;;AAEA;AACA;AACA;;AAEA7C,EAAAA,sBAAsBA,GAAG;AACvB,IAAA,IAAI,IAAI,CAAChT,OAAO,CAAC+R,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC/R,OAAO,CAAC+R,cAAc,KAAK,MAAM,EAAE;AACrF1d,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC6b,KAAK,EAAE,YAAY,EAAElC,uBAAuB,EAAEzc,KAAK,IAAI;AAC1E,QAAA,IAAI,CAACgiB,sBAAsB,CAAChiB,KAAK,CAAC;AACpC,MAAA,CAAC,CAAC;AAEFI,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC6b,KAAK,EAAE,YAAY,EAAEnC,gBAAgB,EAAExc,KAAK,IAAI;AACnE,QAAA,IAAI,CAACiiB,eAAe,CAACjiB,KAAK,CAAC;AAC7B,MAAA,CAAC,CAAC;MAEFI,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC6b,KAAK,EAAE,WAAW,EAAE3e,KAAK,IAAI;AAChD,QAAA,IAAI,CAACkiB,mBAAmB,CAACliB,KAAK,CAAC;AACjC,MAAA,CAAC,CAAC;AACJ,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC+L,OAAO,CAAC+R,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC/R,OAAO,CAAC+R,cAAc,KAAK,MAAM,EAAE;AACrF1d,MAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC6b,KAAK,EAAE,OAAO,EAAElC,uBAAuB,EAAEzc,KAAK,IAAI;AACrE,QAAA,IAAI,CAACmiB,sBAAsB,CAACniB,KAAK,CAAC;AACpC,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEAgiB,sBAAsBA,CAAChiB,KAAK,EAAE;IAC5B,MAAMuD,OAAO,GAAGvD,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACyU,uBAAuB,CAAC;IAC7D,IAAI,CAAClZ,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,MAAM6e,cAAc,GAAG7e,OAAO,CAACyE,OAAO,CAACwU,gBAAgB,CAAC;IACxD,MAAM6F,OAAO,GAAGnV,cAAc,CAACG,OAAO,CAACkP,eAAa,EAAE6F,cAAc,CAAC;IACrE,IAAI,CAACC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACC,0BAA0B,CAACD,OAAO,CAAC;AACxC,IAAA,IAAI,CAACE,qBAAqB,CAACH,cAAc,CAAC;IAC1C,IAAI,CAACI,YAAY,CAACjf,OAAO,EAAE8e,OAAO,EAAED,cAAc,CAAC;AACrD,EAAA;EAEAH,eAAeA,CAACjiB,KAAK,EAAE;IACrB,MAAMoiB,cAAc,GAAGpiB,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACwU,gBAAgB,CAAC;IAC7D,MAAM6F,OAAO,GAAGnV,cAAc,CAACG,OAAO,CAACkP,eAAa,EAAE6F,cAAc,CAAC;AACrE,IAAA,IAAI,CAACC,OAAO,IAAI,CAAC,IAAI,CAAC7D,aAAa,CAACngB,GAAG,CAACgkB,OAAO,CAAC,EAAE;AAChD,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAACI,sBAAsB,CAACziB,KAAK,EAAEqiB,OAAO,CAAC,EAAE;AAC/C,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACK,qBAAqB,CAACL,OAAO,EAAED,cAAc,CAAC;AACrD,EAAA;EAEAD,sBAAsBA,CAACniB,KAAK,EAAE;IAC5B,MAAMuD,OAAO,GAAGvD,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACyU,uBAAuB,CAAC;IAC7D,IAAI,CAAClZ,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;IAEAvD,KAAK,CAAC4O,cAAc,EAAE;IACtB5O,KAAK,CAAC2iB,eAAe,EAAE;AAEvB,IAAA,MAAMP,cAAc,GAAG7e,OAAO,CAACyE,OAAO,CAACwU,gBAAgB,CAAC;IACxD,MAAM6F,OAAO,GAAGnV,cAAc,CAACG,OAAO,CAACkP,eAAa,EAAE6F,cAAc,CAAC;IACrE,IAAI,CAACC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAAC7D,aAAa,CAACngB,GAAG,CAACgkB,OAAO,CAAC,EAAE;AACnC,MAAA,IAAI,CAACO,aAAa,CAACP,OAAO,EAAED,cAAc,CAAC;AAC7C,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACG,qBAAqB,CAACH,cAAc,CAAC;MAC1C,IAAI,CAACI,YAAY,CAACjf,OAAO,EAAE8e,OAAO,EAAED,cAAc,CAAC;AACrD,IAAA;AACF,EAAA;AAEAI,EAAAA,YAAYA,CAACjf,OAAO,EAAE8e,OAAO,EAAED,cAAc,EAAE;IAC7C,IAAI,IAAI,CAAC5D,aAAa,CAACngB,GAAG,CAACgkB,OAAO,CAAC,EAAE;AACnC,MAAA;AACF,IAAA;AAEA9e,IAAAA,OAAO,CAACuB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAC7CvB,IAAAA,OAAO,CAACuB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAE7Cud,IAAAA,OAAO,CAACha,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;AACtC4S,IAAAA,cAAc,CAAC/Z,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;IAE7C,MAAMqT,OAAO,GAAG,IAAI,CAACC,sBAAsB,CAACvf,OAAO,EAAE8e,OAAO,EAAED,cAAc,CAAC;IAC7E,IAAI,CAAC5D,aAAa,CAACvgB,GAAG,CAACokB,OAAO,EAAEQ,OAAO,CAAC;AAExCziB,IAAAA,YAAY,CAAC0C,EAAE,CAACuf,OAAO,EAAE,YAAY,EAAE,MAAM;AAC3C,MAAA,IAAI,CAACC,0BAA0B,CAACD,OAAO,CAAC;AAC1C,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAO,EAAAA,aAAaA,CAACP,OAAO,EAAED,cAAc,EAAE;IACrC,IAAI,CAAC,IAAI,CAAC5D,aAAa,CAACngB,GAAG,CAACgkB,OAAO,CAAC,EAAE;AACpC,MAAA;AACF,IAAA;AAEA,IAAA,MAAMU,cAAc,GAAG7V,cAAc,CAAC7L,IAAI,CAAC,CAAA,EAAGmb,gBAAgB,CAAA,CAAA,EAAID,eAAa,CAAA,CAAA,EAAI/M,iBAAe,CAAA,CAAE,EAAE6S,OAAO,CAAC;AAC9G,IAAA,KAAK,MAAMW,MAAM,IAAID,cAAc,EAAE;AACnC,MAAA,MAAME,aAAa,GAAGD,MAAM,CAAChb,OAAO,CAACwU,gBAAgB,CAAC;AACtD,MAAA,IAAI,CAACoG,aAAa,CAACI,MAAM,EAAEC,aAAa,CAAC;AAC3C,IAAA;IAEA,MAAM1f,OAAO,GAAG2J,cAAc,CAACG,OAAO,CAACoP,uBAAuB,EAAE2F,cAAc,CAAC;IAE/E,MAAMS,OAAO,GAAG,IAAI,CAACrE,aAAa,CAACjgB,GAAG,CAAC8jB,OAAO,CAAC;AAC/C,IAAA,IAAIQ,OAAO,EAAE;AACXA,MAAAA,OAAO,EAAE;AACX,IAAA;AAEA,IAAA,IAAI,CAACrE,aAAa,CAACzf,MAAM,CAACsjB,OAAO,CAAC;AAClCjiB,IAAAA,YAAY,CAACC,GAAG,CAACgiB,OAAO,EAAE,YAAY,CAAC;AAEvC,IAAA,IAAI9e,OAAO,EAAE;AACXA,MAAAA,OAAO,CAACuB,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;AAChD,IAAA;AAEAud,IAAAA,OAAO,CAACha,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;AACzC4S,IAAAA,cAAc,CAAC/Z,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;AAEhD6S,IAAAA,OAAO,CAAC5I,KAAK,CAACqI,QAAQ,GAAG,EAAE;AAC3BO,IAAAA,OAAO,CAAC5I,KAAK,CAAC8H,IAAI,GAAG,EAAE;AACvBc,IAAAA,OAAO,CAAC5I,KAAK,CAAC4H,GAAG,GAAG,EAAE;AACtBgB,IAAAA,OAAO,CAAC5I,KAAK,CAACsI,MAAM,GAAG,EAAE;AAC3B,EAAA;AAEArC,EAAAA,iBAAiBA,GAAG;IAClB,KAAK,MAAM,CAAC2C,OAAO,CAAC,IAAI,IAAI,CAAC7D,aAAa,EAAE;AAC1C,MAAA,MAAM4D,cAAc,GAAGC,OAAO,CAACra,OAAO,CAACwU,gBAAgB,CAAC;AACxD,MAAA,IAAI,CAACoG,aAAa,CAACP,OAAO,EAAED,cAAc,CAAC;AAC7C,IAAA;AACF,EAAA;EAEAG,qBAAqBA,CAACW,qBAAqB,EAAE;AAC3C,IAAA,MAAM5K,MAAM,GAAG4K,qBAAqB,CAACriB,UAAU;AAC/C,IAAA,MAAMsiB,eAAe,GAAGjW,cAAc,CAAC7L,IAAI,CAAC,CAAA,EAAGmb,gBAAgB,CAAA,GAAA,EAAMD,eAAa,CAAA,CAAA,EAAI/M,iBAAe,CAAA,CAAE,EAAE8I,MAAM,CAAC;AAEhH,IAAA,KAAK,MAAM8K,WAAW,IAAID,eAAe,EAAE;AACzC,MAAA,MAAME,cAAc,GAAGD,WAAW,CAACpb,OAAO,CAACwU,gBAAgB,CAAC;MAC5D,IAAI6G,cAAc,KAAKH,qBAAqB,EAAE;AAC5C,QAAA,IAAI,CAACN,aAAa,CAACQ,WAAW,EAAEC,cAAc,CAAC;AACjD,MAAA;AACF,IAAA;AACF,EAAA;AAEAP,EAAAA,sBAAsBA,CAACvf,OAAO,EAAE8e,OAAO,EAAED,cAAc,EAAE;IACvD,MAAMrC,gBAAgB,GAAGqC,cAAc;AACvC,IAAA,MAAMtH,SAAS,GAAGgC,uBAAuB,CAACD,iBAAiB,CAAC;AAC5D,IAAA,MAAMqD,UAAU,GAAG,CACjBzC,MAAM,CAAC;AAAEoD,MAAAA,QAAQ,EAAE,CAAC;AAAEC,MAAAA,SAAS,EAAE;KAAI,CAAC,EACtCC,IAAI,CAAC;AACHC,MAAAA,kBAAkB,EAAE,CAClBlE,uBAAuB,CAAC,aAAa,CAAC,EACtCA,uBAAuB,CAAC,SAAS,CAAC,EAClCA,uBAAuB,CAAC,WAAW,CAAC;KAEvC,CAAC,EACFoE,KAAK,CAAC;AAAEoC,MAAAA,OAAO,EAAE;AAAE,KAAC,CAAC,CACtB;AAED,IAAA,MAAMC,cAAc,GAAGA,MAAM,IAAI,CAAClD,sBAAsB,CAACN,gBAAgB,EAAEsC,OAAO,EAAEvH,SAAS,EAAEoF,UAAU,CAAC;AAE1GqD,IAAAA,cAAc,EAAE;AAChB,IAAA,OAAOvD,UAAU,CAACD,gBAAgB,EAAEsC,OAAO,EAAEkB,cAAc,CAAC;AAC9D,EAAA;AAEAb,EAAAA,qBAAqBA,CAACL,OAAO,EAAED,cAAc,EAAE;AAC7C,IAAA,IAAI,CAACE,0BAA0B,CAACD,OAAO,CAAC;AAExC,IAAA,MAAMmB,SAAS,GAAG3Z,UAAU,CAAC,MAAM;AACjC,MAAA,IAAI,CAAC+Y,aAAa,CAACP,OAAO,EAAED,cAAc,CAAC;AAC3C,MAAA,IAAI,CAAC3D,qBAAqB,CAAC1f,MAAM,CAACsjB,OAAO,CAAC;AAC5C,IAAA,CAAC,EAAE,IAAI,CAACtW,OAAO,CAACgS,YAAY,CAAC;IAE7B,IAAI,CAACU,qBAAqB,CAACxgB,GAAG,CAACokB,OAAO,EAAEmB,SAAS,CAAC;AACpD,EAAA;EAEAlB,0BAA0BA,CAACD,OAAO,EAAE;IAClC,MAAMmB,SAAS,GAAG,IAAI,CAAC/E,qBAAqB,CAAClgB,GAAG,CAAC8jB,OAAO,CAAC;AACzD,IAAA,IAAImB,SAAS,EAAE;MACbrN,YAAY,CAACqN,SAAS,CAAC;AACvB,MAAA,IAAI,CAAC/E,qBAAqB,CAAC1f,MAAM,CAACsjB,OAAO,CAAC;AAC5C,IAAA;AACF,EAAA;AAEA1C,EAAAA,wBAAwBA,GAAG;IACzB,KAAK,MAAM6D,SAAS,IAAI,IAAI,CAAC/E,qBAAqB,CAACrd,MAAM,EAAE,EAAE;MAC3D+U,YAAY,CAACqN,SAAS,CAAC;AACzB,IAAA;AAEA,IAAA,IAAI,CAAC/E,qBAAqB,CAACgF,KAAK,EAAE;AACpC,EAAA;;AAEA;AACA;AACA;;EAEAvB,mBAAmBA,CAACliB,KAAK,EAAE;IACzB,IAAI,CAAC0e,gBAAgB,GAAG;MACtBvB,CAAC,EAAEnd,KAAK,CAACyR,OAAO;MAChB2L,CAAC,EAAEpd,KAAK,CAAC0jB,OAAO;AAChBC,MAAAA,SAAS,EAAEC,IAAI,CAACC,GAAG;KACpB;AACH,EAAA;AAEApB,EAAAA,sBAAsBA,CAACziB,KAAK,EAAEqiB,OAAO,EAAE;AACrC,IAAA,IAAI,CAAC,IAAI,CAAC3D,gBAAgB,EAAE;AAC1B,MAAA,OAAO,KAAK;AACd,IAAA;AAEA,IAAA,MAAMoF,WAAW,GAAGzB,OAAO,CAACxI,qBAAqB,EAAE;AACnD,IAAA,MAAMkK,UAAU,GAAG;MAAE5G,CAAC,EAAEnd,KAAK,CAACyR,OAAO;MAAE2L,CAAC,EAAEpd,KAAK,CAAC0jB;KAAS;AACzD,IAAA,MAAMM,OAAO,GAAG;AAAE7G,MAAAA,CAAC,EAAE,IAAI,CAACuB,gBAAgB,CAACvB,CAAC;AAAEC,MAAAA,CAAC,EAAE,IAAI,CAACsB,gBAAgB,CAACtB;KAAG;AAE1E,IAAA,MAAM6G,KAAK,GAAGhb,KAAK,EAAE;IACrB,MAAMib,OAAO,GAAGD,KAAK,GAAGH,WAAW,CAACxC,KAAK,GAAGwC,WAAW,CAACvC,IAAI;AAC5D,IAAA,MAAM4C,SAAS,GAAG;AAAEhH,MAAAA,CAAC,EAAE+G,OAAO;MAAE9G,CAAC,EAAE0G,WAAW,CAACzC;KAAK;AACpD,IAAA,MAAM+C,YAAY,GAAG;AAAEjH,MAAAA,CAAC,EAAE+G,OAAO;MAAE9G,CAAC,EAAE0G,WAAW,CAAC1C;KAAQ;IAE1D,OAAO,IAAI,CAACiD,gBAAgB,CAACN,UAAU,EAAEC,OAAO,EAAEG,SAAS,EAAEC,YAAY,CAAC;AAC5E,EAAA;EAEAC,gBAAgBA,CAACC,KAAK,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE;IAClC,MAAMC,EAAE,GAAG3H,YAAY,CAACuH,KAAK,EAAEC,EAAE,EAAEC,EAAE,CAAC;IACtC,MAAMG,EAAE,GAAG5H,YAAY,CAACuH,KAAK,EAAEE,EAAE,EAAEC,EAAE,CAAC;IACtC,MAAMG,EAAE,GAAG7H,YAAY,CAACuH,KAAK,EAAEG,EAAE,EAAEF,EAAE,CAAC;AAEtC,IAAA,MAAMM,MAAM,GAAIH,EAAE,GAAG,CAAC,IAAMC,EAAE,GAAG,CAAE,IAAKC,EAAE,GAAG,CAAE;AAC/C,IAAA,MAAME,MAAM,GAAIJ,EAAE,GAAG,CAAC,IAAMC,EAAE,GAAG,CAAE,IAAKC,EAAE,GAAG,CAAE;AAE/C,IAAA,OAAO,EAAEC,MAAM,IAAIC,MAAM,CAAC;AAC5B,EAAA;;AAEA;AACA;AACA;;AAEAC,EAAAA,eAAeA,CAAC;IAAE5mB,GAAG;AAAEyC,IAAAA;AAAO,GAAC,EAAE;IAC/B,MAAMokB,WAAW,GAAGpkB,MAAM,CAACoH,OAAO,CAACuU,eAAa,CAAC,IAAI,IAAI,CAACoC,KAAK;IAC/D,MAAMnJ,KAAK,GAAGtI,cAAc,CAAC7L,IAAI,CAAC,CAAA,SAAA,EAAYsb,wBAAsB,CAAA,CAAE,EAAEqI,WAAW,CAAC,CACjF3f,MAAM,CAACnH,OAAO,IAAIyJ,SAAS,CAACzJ,OAAO,CAAC,CAAC;AAExC,IAAA,IAAI,CAACsX,KAAK,CAACrS,MAAM,EAAE;AACjB,MAAA;AACF,IAAA;IAEA2G,oBAAoB,CAAC0L,KAAK,EAAE5U,MAAM,EAAEzC,GAAG,KAAK2d,gBAAc,EAAE,CAACtG,KAAK,CAAC3S,QAAQ,CAACjC,MAAM,CAAC,CAAC,CAACwe,KAAK,EAAE;AAC9F,EAAA;EAEA6F,qBAAqBA,CAACjlB,KAAK,EAAE;IAC3B,MAAM;MAAE7B,GAAG;AAAEyC,MAAAA;AAAO,KAAC,GAAGZ,KAAK;AAC7B,IAAA,MAAMikB,KAAK,GAAGhb,KAAK,EAAE;AAErB,IAAA,MAAMic,QAAQ,GAAGjB,KAAK,GAAG5R,gBAAc,GAAGC,iBAAe;AACzD,IAAA,MAAM6S,OAAO,GAAGlB,KAAK,GAAG3R,iBAAe,GAAGD,gBAAc;AAExD,IAAA,MAAM+P,cAAc,GAAGxhB,MAAM,CAACoH,OAAO,CAACwU,gBAAgB,CAAC;IACvD,MAAM4I,gBAAgB,GAAGhD,cAAc,IAAIxhB,MAAM,CAAC4M,OAAO,CAACiP,uBAAuB,CAAC;IAElF,IAAI,CAACte,GAAG,KAAK8d,WAAS,IAAI9d,GAAG,KAAK+d,WAAS,KAAKkJ,gBAAgB,EAAE;MAChEplB,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;MAEvB,MAAMN,OAAO,GAAGnV,cAAc,CAACG,OAAO,CAACkP,eAAa,EAAE6F,cAAc,CAAC;AACrE,MAAA,IAAIC,OAAO,EAAE;AACX,QAAA,IAAI,CAACE,qBAAqB,CAACH,cAAc,CAAC;QAC1C,IAAI,CAACI,YAAY,CAAC5hB,MAAM,EAAEyhB,OAAO,EAAED,cAAc,CAAC;AAClDiD,QAAAA,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,SAAS,GAAGpY,cAAc,CAACG,OAAO,CAACsP,wBAAsB,EAAE0F,OAAO,CAAC;AACzE,UAAA,IAAIiD,SAAS,EAAE;YACbA,SAAS,CAAClG,KAAK,EAAE;AACnB,UAAA;AACF,QAAA,CAAC,CAAC;AACJ,MAAA;AAEA,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,IAAIjhB,GAAG,KAAK+mB,QAAQ,IAAIE,gBAAgB,EAAE;MACxCplB,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;MAEvB,MAAMN,OAAO,GAAGnV,cAAc,CAACG,OAAO,CAACkP,eAAa,EAAE6F,cAAc,CAAC;AACrE,MAAA,IAAIC,OAAO,EAAE;AACX,QAAA,IAAI,CAACE,qBAAqB,CAACH,cAAc,CAAC;QAC1C,IAAI,CAACI,YAAY,CAAC5hB,MAAM,EAAEyhB,OAAO,EAAED,cAAc,CAAC;AAClDiD,QAAAA,qBAAqB,CAAC,MAAM;UAC1B,MAAMC,SAAS,GAAGpY,cAAc,CAACG,OAAO,CAACsP,wBAAsB,EAAE0F,OAAO,CAAC;AACzE,UAAA,IAAIiD,SAAS,EAAE;YACbA,SAAS,CAAClG,KAAK,EAAE;AACnB,UAAA;AACF,QAAA,CAAC,CAAC;AACJ,MAAA;AAEA,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,IAAIjhB,GAAG,KAAKgnB,OAAO,EAAE;AACnB,MAAA,MAAMH,WAAW,GAAGpkB,MAAM,CAACoH,OAAO,CAACuU,eAAa,CAAC;AACjD,MAAA,MAAMgJ,oBAAoB,GAAGP,WAAW,EAAEhd,OAAO,CAACwU,gBAAgB,CAAC;AAEnE,MAAA,IAAI+I,oBAAoB,EAAE;QACxBvlB,KAAK,CAAC4O,cAAc,EAAE;QACtB5O,KAAK,CAAC2iB,eAAe,EAAE;QAEvB,MAAM6C,aAAa,GAAGtY,cAAc,CAACG,OAAO,CAACoP,uBAAuB,EAAE8I,oBAAoB,CAAC;AAC3F,QAAA,IAAI,CAAC3C,aAAa,CAACoC,WAAW,EAAEO,oBAAoB,CAAC;AACrD,QAAA,IAAIC,aAAa,EAAE;UACjBA,aAAa,CAACpG,KAAK,EAAE;AACvB,QAAA;AAEA,QAAA,OAAO,IAAI;AACb,MAAA;AACF,IAAA;AAEA,IAAA,IAAIjhB,GAAG,KAAK4d,UAAQ,IAAI5d,GAAG,KAAK6d,SAAO,EAAE;MACvChc,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;AAEvB,MAAA,MAAMqC,WAAW,GAAGpkB,MAAM,CAACoH,OAAO,CAACuU,eAAa,CAAC;MACjD,MAAM/G,KAAK,GAAGtI,cAAc,CAAC7L,IAAI,CAAC,CAAA,SAAA,EAAYsb,wBAAsB,CAAA,CAAE,EAAEqI,WAAW,CAAC,CACjF3f,MAAM,CAACnH,OAAO,IAAIyJ,SAAS,CAACzJ,OAAO,CAAC,CAAC;MAExC,IAAIsX,KAAK,CAACrS,MAAM,EAAE;AAChB,QAAA,MAAMsiB,UAAU,GAAGtnB,GAAG,KAAK4d,UAAQ,GAAGvG,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACrS,MAAM,GAAG,CAAC,CAAC;QACxEsiB,UAAU,CAACrG,KAAK,EAAE;AACpB,MAAA;AAEA,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,OAAO,KAAK;AACd,EAAA;EAEA,OAAOsG,UAAUA,CAAC1lB,KAAK,EAAE;AACvB,IAAA,IAAIA,KAAK,CAACoQ,MAAM,KAAK+L,kBAAkB,IAAKnc,KAAK,CAACM,IAAI,KAAK,OAAO,IAAIN,KAAK,CAAC7B,GAAG,KAAKyd,SAAQ,EAAE;AAC5F,MAAA;AACF,IAAA;AAEA,IAAA,KAAK,MAAMxd,QAAQ,IAAI4f,IAAI,CAACC,cAAc,EAAE;AAC1C,MAAA,IAAI7f,QAAQ,CAAC2N,OAAO,CAACsR,SAAS,KAAK,KAAK,EAAE;AACxC,QAAA;AACF,MAAA;AAEA,MAAA,MAAMsI,YAAY,GAAG3lB,KAAK,CAAC2lB,YAAY,EAAE;MACzC,MAAMC,YAAY,GAAGD,YAAY,CAAC9iB,QAAQ,CAACzE,QAAQ,CAACugB,KAAK,CAAC;AAC1D,MAAA,IACEgH,YAAY,CAAC9iB,QAAQ,CAACzE,QAAQ,CAAC0N,QAAQ,CAAC,IACvC1N,QAAQ,CAAC2N,OAAO,CAACsR,SAAS,KAAK,QAAQ,IAAI,CAACuI,YAAa,IACzDxnB,QAAQ,CAAC2N,OAAO,CAACsR,SAAS,KAAK,SAAS,IAAIuI,YAAa,EAC1D;AACA,QAAA;AACF,MAAA;AAEA,MAAA,IAAIxnB,QAAQ,CAACugB,KAAK,CAAC5c,QAAQ,CAAC/B,KAAK,CAACY,MAAM,CAAC,KAAMZ,KAAK,CAACM,IAAI,KAAK,OAAO,IAAIN,KAAK,CAAC7B,GAAG,KAAKyd,SAAO,IAAK,oCAAoC,CAACnQ,IAAI,CAACzL,KAAK,CAACY,MAAM,CAAC+N,OAAO,CAAC,CAAC,EAAE;AACnK,QAAA;AACF,MAAA;AAEA,MAAA,MAAM7M,aAAa,GAAG;QAAEA,aAAa,EAAE1D,QAAQ,CAAC0N;OAAU;AAE1D,MAAA,IAAI9L,KAAK,CAACM,IAAI,KAAK,OAAO,EAAE;QAC1BwB,aAAa,CAAC4M,UAAU,GAAG1O,KAAK;AAClC,MAAA;AAEA5B,MAAAA,QAAQ,CAACkhB,aAAa,CAACxd,aAAa,CAAC;AACvC,IAAA;AACF,EAAA;EAEA,OAAO+jB,qBAAqBA,CAAC7lB,KAAK,EAAE;IAClC,MAAM8lB,OAAO,GAAG,iBAAiB,CAACra,IAAI,CAACzL,KAAK,CAACY,MAAM,CAAC+N,OAAO,CAAC;AAC5D,IAAA,MAAMoX,aAAa,GAAG/lB,KAAK,CAAC7B,GAAG,KAAKwd,YAAU;AAC9C,IAAA,MAAMqK,eAAe,GAAG,CAACnK,cAAY,EAAEC,gBAAc,CAAC,CAACjZ,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAC;AAC1E,IAAA,MAAM8nB,kBAAkB,GAAG,CAAC5T,gBAAc,EAAEC,iBAAe,CAAC,CAACzP,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAC;AAChF,IAAA,MAAM+nB,gBAAgB,GAAG,CAACnK,UAAQ,EAAEC,SAAO,CAAC,CAACnZ,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAC;AAChE,IAAA,MAAMgoB,mBAAmB,GAAG,CAAClK,WAAS,EAAEC,WAAS,CAAC,CAACrZ,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAC;IAEtE,MAAMinB,gBAAgB,GAAGplB,KAAK,CAACY,MAAM,CAAC4M,OAAO,CAACiP,uBAAuB,CAAC;AAEtE,IAAA,IAAI,CAACuJ,eAAe,IAAI,CAACD,aAAa,IAAI,CAACE,kBAAkB,IAAI,CAACC,gBAAgB,IAC9E,EAAEC,mBAAmB,IAAIf,gBAAgB,CAAC,EAAE;AAC9C,MAAA;AACF,IAAA;AAEA,IAAA,IAAIU,OAAO,IAAI,CAACC,aAAa,EAAE;AAC7B,MAAA;AACF,IAAA;IAEA,MAAMK,eAAe,GAAG,IAAI,CAAC5Y,OAAO,CAACwC,sBAAoB,CAAC,GACxD,IAAI,GACH9C,cAAc,CAACU,IAAI,CAAC,IAAI,EAAEoC,sBAAoB,CAAC,CAAC,CAAC,CAAC,IACjD9C,cAAc,CAACa,IAAI,CAAC,IAAI,EAAEiC,sBAAoB,CAAC,CAAC,CAAC,CAAC,IAClD9C,cAAc,CAACG,OAAO,CAAC2C,sBAAoB,EAAEhQ,KAAK,CAACE,cAAc,CAACW,UAAU,CAAE;IAElF,IAAI,CAACulB,eAAe,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMhoB,QAAQ,GAAG4f,IAAI,CAACvR,mBAAmB,CAAC2Z,eAAe,CAAC;AAE1D,IAAA,IAAI,CAACH,kBAAkB,IAAIC,gBAAgB,IAAKC,mBAAmB,IAAIf,gBAAiB,KAAKhnB,QAAQ,CAAC6mB,qBAAqB,CAACjlB,KAAK,CAAC,EAAE;AAClI,MAAA;AACF,IAAA;AAEA,IAAA,IAAIgmB,eAAe,EAAE;MACnBhmB,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;MACvBvkB,QAAQ,CAAC8a,IAAI,EAAE;AACf9a,MAAAA,QAAQ,CAAC2mB,eAAe,CAAC/kB,KAAK,CAAC;AAC/B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI+lB,aAAa,IAAI3nB,QAAQ,CAAC4a,QAAQ,EAAE,EAAE;MACxChZ,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;MAEvB,MAAMqC,WAAW,GAAGhlB,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACuU,eAAa,CAAC;AACvD,MAAA,MAAMgJ,oBAAoB,GAAGP,WAAW,EAAEhd,OAAO,CAACwU,gBAAgB,CAAC;MAEnE,IAAI+I,oBAAoB,IAAInnB,QAAQ,CAACogB,aAAa,CAAChgB,IAAI,GAAG,CAAC,EAAE;QAC3D,MAAMgnB,aAAa,GAAGtY,cAAc,CAACG,OAAO,CAACoP,uBAAuB,EAAE8I,oBAAoB,CAAC;AAC3FnnB,QAAAA,QAAQ,CAACwkB,aAAa,CAACoC,WAAW,EAAEO,oBAAoB,CAAC;AACzD,QAAA,IAAIC,aAAa,EAAE;UACjBA,aAAa,CAACpG,KAAK,EAAE;AACvB,QAAA;AAEA,QAAA;AACF,MAAA;MAEAhhB,QAAQ,CAAC6a,IAAI,EAAE;MACfmN,eAAe,CAAChH,KAAK,EAAE;AACzB,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAhf,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEyV,sBAAsB,EAAErM,sBAAoB,EAAEgO,IAAI,CAAC6H,qBAAqB,CAAC;AACnGzlB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEyV,sBAAsB,EAAEE,eAAa,EAAEyB,IAAI,CAAC6H,qBAAqB,CAAC;AAC5FzlB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAE+N,IAAI,CAAC0H,UAAU,CAAC;AAChEtlB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE0V,oBAAoB,EAAE0B,IAAI,CAAC0H,UAAU,CAAC;AAChEtlB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;EACrFA,KAAK,CAAC4O,cAAc,EAAE;EACtBoP,IAAI,CAACvR,mBAAmB,CAAC,IAAI,CAAC,CAAC0D,MAAM,EAAE;AACzC,CAAC,CAAC;;ACh8BF;AACA;AACA;AACA;AACA;AACA;;;AAQA;AACA;AACA;;AAEA,MAAMxF,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAM6L,UAAU,GAAG,QAAQ;AAC3B,MAAMC,OAAO,GAAG,KAAK;AACrB,MAAMC,cAAY,GAAG,SAAS;AAC9B,MAAMC,gBAAc,GAAG,WAAW;AAClC,MAAMC,UAAQ,GAAG,MAAM;AACvB,MAAMC,SAAO,GAAG,KAAK;AACrB,MAAMC,SAAS,GAAG,OAAO;AACzB,MAAMC,SAAS,GAAG,GAAG;AAErB,MAAMmK,cAAY,GAAG,CAAA,MAAA,EAASla,WAAS,CAAA,CAAE;AACzC,MAAMuL,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAMyL,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAM8D,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE/D,MAAMN,iBAAe,GAAG,MAAM;AAC9B,MAAM8W,mBAAmB,GAAG,UAAU;AACtC,MAAMC,sBAAsB,GAAG,sBAAsB;AAErD,MAAMvW,sBAAoB,GAAG,6BAA6B;AAC1D,MAAMuM,eAAa,GAAG,OAAO;AAC7B,MAAMiK,kBAAkB,GAAG,2BAA2B;AACtD,MAAM7J,sBAAsB,GAAG,yDAAyD;AACxF,MAAM8J,cAAc,GAAG,iBAAiB;AACxC,MAAMC,qBAAqB,GAAG,wBAAwB;AACtD,MAAMC,mBAAmB,GAAG,sBAAsB;AAElD,MAAMlc,SAAO,GAAG;AACd6S,EAAAA,QAAQ,EAAE,iBAAiB;AAC3BsJ,EAAAA,QAAQ,EAAE,KAAK;AACfja,EAAAA,IAAI,EAAE,IAAI;AACV8Q,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACdoJ,EAAAA,WAAW,EAAE,EAAE;AACf/L,EAAAA,SAAS,EAAE,cAAc;AACzBgM,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,eAAe,EAAE;AACnB,CAAC;AAED,MAAMrc,aAAW,GAAG;AAClB4S,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BsJ,EAAAA,QAAQ,EAAE,SAAS;AACnBja,EAAAA,IAAI,EAAE,eAAe;AACrB8Q,EAAAA,MAAM,EAAE,yBAAyB;AACjCoJ,EAAAA,WAAW,EAAE,QAAQ;AACrB/L,EAAAA,SAAS,EAAE,QAAQ;AACnBgM,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,eAAe,EAAE;AACnB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAASnb,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAACmc,OAAO,GAAG,IAAI,CAACnb,QAAQ;AAC5B,IAAA,IAAI,CAAC6S,KAAK,GAAGzR,cAAc,CAACa,IAAI,CAAC,IAAI,CAACkZ,OAAO,EAAE1K,eAAa,CAAC,CAAC,CAAC,CAAC;AAChE,IAAA,IAAI,CAAC2K,aAAa,GAAGha,cAAc,CAACG,OAAO,CAACoZ,cAAc,EAAE,IAAI,CAACQ,OAAO,CAAC;AACzE,IAAA,IAAI,CAACE,YAAY,GAAGja,cAAc,CAACG,OAAO,CAACqZ,qBAAqB,EAAE,IAAI,CAAC/H,KAAK,CAAC;AAC7E,IAAA,IAAI,CAACyI,UAAU,GAAGla,cAAc,CAACG,OAAO,CAACsZ,mBAAmB,EAAE,IAAI,CAAChI,KAAK,CAAC;IACzE,IAAI,CAAC0I,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,aAAa,GAAG,IAAI;IAEzB,IAAI,CAACC,kBAAkB,EAAE;IACzB,IAAI,CAACC,mBAAmB,EAAE;IAC1B,IAAI,CAACC,qBAAqB,EAAE;IAC5B,IAAI,CAAC3S,kBAAkB,EAAE;AAC3B,EAAA;;AAEA;EACA,WAAWrK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwF,EAAAA,MAAMA,GAAG;AACP,IAAA,OAAO,IAAI,CAAC6I,QAAQ,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;AACpD,EAAA;AAEAA,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAIhR,UAAU,CAAC,IAAI,CAAC+e,OAAO,CAAC,IAAI,IAAI,CAACjO,QAAQ,EAAE,EAAE;AAC/C,MAAA;AACF,IAAA;IAEA,MAAMgG,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAAC0jB,OAAO,EAAEvP,YAAU,CAAC;IAChE,IAAIsH,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC0X,aAAa,CAACpO,IAAI,EAAE;IAEzB,IAAI,IAAI,CAACiO,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAACnjB,KAAK,GAAG,EAAE;AAC5B,MAAA,IAAI,CAAC0jB,YAAY,CAAC,EAAE,CAAC;MACrBrC,qBAAqB,CAAC,MAAM,IAAI,CAAC8B,YAAY,CAAC/H,KAAK,EAAE,CAAC;AACxD,IAAA;IAEAhf,YAAY,CAACmD,OAAO,CAAC,IAAI,CAAC0jB,OAAO,EAAEtP,aAAW,CAAC;AACjD,EAAA;AAEAsB,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE,EAAE;AACpB,MAAA;AACF,IAAA;IAEA,MAAM8G,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAAC0jB,OAAO,EAAErP,YAAU,CAAC;IAChE,IAAIkI,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC0X,aAAa,CAACrO,IAAI,EAAE;IACzB7Y,YAAY,CAACmD,OAAO,CAAC,IAAI,CAAC0jB,OAAO,EAAEpP,cAAY,CAAC;AAClD,EAAA;AAEA3L,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAACob,aAAa,EAAE;AACtB,MAAA,IAAI,CAACA,aAAa,CAACpb,OAAO,EAAE;MAC5B,IAAI,CAACob,aAAa,GAAG,IAAI;AAC3B,IAAA;IAEA,IAAI,IAAI,CAACD,YAAY,EAAE;AACrB,MAAA,IAAI,CAACA,YAAY,CAACvoB,MAAM,EAAE;MAC1B,IAAI,CAACuoB,YAAY,GAAG,IAAI;AAC1B,IAAA;IAEAjnB,YAAY,CAACC,GAAG,CAAC,IAAI,CAACse,KAAK,EAAExS,WAAS,CAAC;IACvC/L,YAAY,CAACC,GAAG,CAAC,IAAI,CAAC4mB,OAAO,EAAE9a,WAAS,CAAC;IAEzC,KAAK,CAACD,OAAO,EAAE;AACjB,EAAA;;AAEA;AACA8M,EAAAA,QAAQA,GAAG;IACT,OAAO,IAAI,CAAC2F,KAAK,CAACtW,SAAS,CAACtG,QAAQ,CAACyN,iBAAe,CAAC;AACvD,EAAA;AAEA+X,EAAAA,kBAAkBA,GAAG;IACnB,MAAM;AAAE5a,MAAAA;KAAM,GAAG,IAAI,CAACZ,OAAO;IAC7B,IAAI,CAACY,IAAI,EAAE;AACT,MAAA;AACF,IAAA;IAEA,IAAI,CAAC0a,YAAY,GAAGzgB,QAAQ,CAAC+gB,aAAa,CAAC,OAAO,CAAC;AACnD,IAAA,IAAI,CAACN,YAAY,CAAC/mB,IAAI,GAAG,QAAQ;AACjC,IAAA,IAAI,CAAC+mB,YAAY,CAAC1a,IAAI,GAAGA,IAAI;AAC7B,IAAA,IAAI,CAAC0a,YAAY,CAACrjB,KAAK,GAAG,EAAE;AAC5B,IAAA,IAAI,CAACijB,OAAO,CAACpmB,UAAU,CAAC+mB,YAAY,CAAC,IAAI,CAACP,YAAY,EAAE,IAAI,CAACJ,OAAO,CAAC;AACvE,EAAA;AAEAO,EAAAA,mBAAmBA,GAAG;IACpB,IAAI,CAACF,aAAa,GAAG,IAAItJ,IAAI,CAAC,IAAI,CAACiJ,OAAO,EAAE;MAC1CtJ,IAAI,EAAE,IAAI,CAACgB,KAAK;MAChBtB,SAAS,EAAE,IAAI,CAACtR,OAAO,CAAC6a,QAAQ,GAAG,SAAS,GAAG,IAAI;AACnDtJ,MAAAA,QAAQ,EAAE,IAAI,CAACvR,OAAO,CAACuR,QAAQ;AAC/BG,MAAAA,MAAM,EAAE,IAAI,CAAC1R,OAAO,CAAC0R,MAAM;AAC3B3C,MAAAA,SAAS,EAAE,IAAI,CAAC/O,OAAO,CAAC+O;AAC1B,KAAC,CAAC;AACJ,EAAA;AAEA2M,EAAAA,qBAAqBA,GAAG;AACtB,IAAA,MAAMI,aAAa,GAAG,IAAI,CAACC,iBAAiB,EAAE;AAC9C,IAAA,IAAID,aAAa,CAAC1kB,MAAM,GAAG,CAAC,EAAE;MAC5B,IAAI,CAAC4kB,iBAAiB,EAAE;MACxB,IAAI,CAACC,kBAAkB,EAAE;AAC3B,IAAA,CAAC,MAAM;MACL,IAAI,CAACC,gBAAgB,EAAE;AACzB,IAAA;AACF,EAAA;AAEAnT,EAAAA,kBAAkBA,GAAG;AACnB1U,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC6b,KAAK,EAAE,OAAO,EAAE6H,kBAAkB,EAAExmB,KAAK,IAAI;MAChE,MAAMkoB,IAAI,GAAGloB,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACwe,kBAAkB,CAAC;AACrD,MAAA,IAAI,CAAC0B,IAAI,IAAIhgB,UAAU,CAACggB,IAAI,CAAC,EAAE;AAC7B,QAAA;AACF,MAAA;MAEAloB,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;AACvB,MAAA,IAAI,CAACwF,WAAW,CAACD,IAAI,CAAC;AACxB,IAAA,CAAC,CAAC;IAEF9nB,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACmkB,OAAO,EAAE,SAAS,EAAEjnB,KAAK,IAAI;AAChD,MAAA,IAAI,CAACooB,oBAAoB,CAACpoB,KAAK,CAAC;AAClC,IAAA,CAAC,CAAC;IAEFI,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC6b,KAAK,EAAE,SAAS,EAAE3e,KAAK,IAAI;AAC9C,MAAA,IAAI,CAACqoB,kBAAkB,CAACroB,KAAK,CAAC;AAChC,IAAA,CAAC,CAAC;IAEF,IAAI,IAAI,CAACmnB,YAAY,EAAE;MACrB/mB,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACqkB,YAAY,EAAE,OAAO,EAAE,MAAM;QAChD,IAAI,CAACO,YAAY,CAAC,IAAI,CAACP,YAAY,CAACnjB,KAAK,CAAC;AAC5C,MAAA,CAAC,CAAC;MAEF5D,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACqkB,YAAY,EAAE,SAAS,EAAEnnB,KAAK,IAAI;AACrD,QAAA,IAAIA,KAAK,CAAC7B,GAAG,KAAK2d,gBAAc,EAAE;UAChC9b,KAAK,CAAC4O,cAAc,EAAE;AACtB,UAAA,MAAM4G,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,UAAA,IAAI9S,KAAK,CAACrS,MAAM,GAAG,CAAC,EAAE;AACpBqS,YAAAA,KAAK,CAAC,CAAC,CAAC,CAAC4J,KAAK,EAAE;AAClB,UAAA;AACF,QAAA;AAEA,QAAA,IAAIpf,KAAK,CAAC7B,GAAG,KAAKwd,UAAU,EAAE;UAC5B,IAAI,CAAC1C,IAAI,EAAE;AACX,UAAA,IAAI,CAACgO,OAAO,CAAC7H,KAAK,EAAE;AACtB,QAAA;AACF,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEA+I,WAAWA,CAACD,IAAI,EAAE;AAChB,IAAA,IAAI,IAAI,CAACnc,OAAO,CAAC6a,QAAQ,EAAE;AACzBsB,MAAAA,IAAI,CAAC7f,SAAS,CAAC8H,MAAM,CAACmW,mBAAmB,CAAC;AAC1C4B,MAAAA,IAAI,CAACpjB,YAAY,CAAC,eAAe,EAAEojB,IAAI,CAAC7f,SAAS,CAACtG,QAAQ,CAACukB,mBAAmB,CAAC,CAAC;AAClF,IAAA,CAAC,MAAM;AACL,MAAA,MAAMiC,kBAAkB,GAAGrb,cAAc,CAAC7L,IAAI,CAAC,CAAA,CAAA,EAAIilB,mBAAmB,CAAA,CAAE,EAAE,IAAI,CAAC3H,KAAK,CAAC;AACrF,MAAA,KAAK,MAAM/Q,IAAI,IAAI2a,kBAAkB,EAAE;AACrC3a,QAAAA,IAAI,CAACvF,SAAS,CAACvJ,MAAM,CAACwnB,mBAAmB,CAAC;AAC1C1Y,QAAAA,IAAI,CAAC9I,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;AAC7C,MAAA;AAEAojB,MAAAA,IAAI,CAAC7f,SAAS,CAAC4J,GAAG,CAACqU,mBAAmB,CAAC;AACvC4B,MAAAA,IAAI,CAACpjB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAC5C,IAAA;IAEA,IAAI,CAACijB,iBAAiB,EAAE;IACxB,IAAI,CAACC,kBAAkB,EAAE;AAEzB,IAAA,MAAMhkB,KAAK,GAAG,IAAI,CAAC+H,OAAO,CAAC6a,QAAQ,GACjC,IAAI,CAACkB,iBAAiB,EAAE,CAAC/a,GAAG,CAACoB,EAAE,IAAIA,EAAE,CAAC/I,OAAO,CAACojB,OAAO,CAAC,GACtDN,IAAI,CAAC9iB,OAAO,CAACojB,OAAO;IAEtBpoB,YAAY,CAACmD,OAAO,CAAC,IAAI,CAAC0jB,OAAO,EAAEZ,cAAY,EAAE;MAC/CriB,KAAK;AACLkkB,MAAAA;AACF,KAAC,CAAC;AAEF,IAAA,IAAI,CAAC,IAAI,CAACnc,OAAO,CAAC6a,QAAQ,EAAE;MAC1B,IAAI,CAAC3N,IAAI,EAAE;AACX,MAAA,IAAI,CAACgO,OAAO,CAAC7H,KAAK,EAAE;AACtB,IAAA;AACF,EAAA;AAEA2I,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,MAAMF,aAAa,GAAG,IAAI,CAACC,iBAAiB,EAAE;AAE9C,IAAA,IAAID,aAAa,CAAC1kB,MAAM,KAAK,CAAC,EAAE;MAC9B,IAAI,CAAC8kB,gBAAgB,EAAE;AACvB,MAAA;AACF,IAAA;IAEA,IAAI,CAACf,aAAa,CAAC7e,SAAS,CAACvJ,MAAM,CAACynB,sBAAsB,CAAC;IAE3D,IAAI,IAAI,CAACxa,OAAO,CAAC6a,QAAQ,IAAIiB,aAAa,CAAC1kB,MAAM,GAAG,CAAC,EAAE;MACrD,IAAI,CAAC+jB,aAAa,CAACuB,WAAW,GAAG,CAAA,EAAGZ,aAAa,CAAC1kB,MAAM,CAAA,SAAA,CAAW;AACrE,IAAA,CAAC,MAAM;AACL,MAAA,MAAM+kB,IAAI,GAAGL,aAAa,CAAC,CAAC,CAAC;MAC7B,MAAMa,KAAK,GAAGxb,cAAc,CAACG,OAAO,CAAC,uCAAuC,EAAE6a,IAAI,CAAC;AACnF,MAAA,IAAI,CAAChB,aAAa,CAACuB,WAAW,GAAGC,KAAK,GAAGA,KAAK,CAACD,WAAW,GAAGP,IAAI,CAACO,WAAW,CAAC3b,IAAI,EAAE;AACtF,IAAA;AACF,EAAA;AAEAmb,EAAAA,gBAAgBA,GAAG;IACjB,MAAM;AAAEpB,MAAAA;KAAa,GAAG,IAAI,CAAC9a,OAAO;AACpC,IAAA,IAAI8a,WAAW,EAAE;AACf,MAAA,IAAI,CAACK,aAAa,CAACuB,WAAW,GAAG5B,WAAW;MAC5C,IAAI,CAACK,aAAa,CAAC7e,SAAS,CAAC4J,GAAG,CAACsU,sBAAsB,CAAC;AAC1D,IAAA;AACF,EAAA;AAEAyB,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,IAAI,CAAC,IAAI,CAACX,YAAY,EAAE;AACtB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMQ,aAAa,GAAG,IAAI,CAACC,iBAAiB,EAAE;AAC9C,IAAA,MAAM1mB,MAAM,GAAGymB,aAAa,CAAC9a,GAAG,CAACoB,EAAE,IAAIA,EAAE,CAAC/I,OAAO,CAACojB,OAAO,CAAC;IAC1D,IAAI,CAACnB,YAAY,CAACrjB,KAAK,GAAG,IAAI,CAAC+H,OAAO,CAAC6a,QAAQ,GAAGxlB,MAAM,CAAC6L,IAAI,CAAC,GAAG,CAAC,GAAI7L,MAAM,CAAC,CAAC,CAAC,IAAI,EAAG;AACxF,EAAA;AAEA0mB,EAAAA,iBAAiBA,GAAG;IAClB,OAAO5a,cAAc,CAAC7L,IAAI,CAAC,CAAA,CAAA,EAAIilB,mBAAmB,CAAA,CAAE,EAAE,IAAI,CAAC3H,KAAK,CAAC;AACnE,EAAA;AAEA2J,EAAAA,gBAAgBA,GAAG;AACjB,IAAA,OAAOpb,cAAc,CAAC7L,IAAI,CAACsb,sBAAsB,EAAE,IAAI,CAACgC,KAAK,CAAC,CAC3DtZ,MAAM,CAAC6iB,IAAI,IAAIvgB,SAAS,CAACugB,IAAI,CAAC,CAAC;AACpC,EAAA;EAEAR,YAAYA,CAACiB,KAAK,EAAE;AAClB,IAAA,MAAMC,eAAe,GAAG,IAAI,CAACC,cAAc,CAACF,KAAK,CAAChkB,WAAW,EAAE,CAACmI,IAAI,EAAE,CAAC;IACvE,MAAM0I,KAAK,GAAGtI,cAAc,CAAC7L,IAAI,CAACmlB,kBAAkB,EAAE,IAAI,CAAC7H,KAAK,CAAC;IACjE,IAAImK,YAAY,GAAG,CAAC;AAEpB,IAAA,KAAK,MAAMZ,IAAI,IAAI1S,KAAK,EAAE;AACxB,MAAA,MAAMuT,IAAI,GAAG,IAAI,CAACF,cAAc,CAACX,IAAI,CAACO,WAAW,CAAC9jB,WAAW,EAAE,CAACmI,IAAI,EAAE,CAAC;MACvE,MAAMU,OAAO,GAAG,CAACob,eAAe,IAAIG,IAAI,CAAClmB,QAAQ,CAAC+lB,eAAe,CAAC;MAClEV,IAAI,CAACzO,KAAK,CAAC+D,OAAO,GAAGhQ,OAAO,GAAG,EAAE,GAAG,MAAM;AAC1C,MAAA,IAAIA,OAAO,EAAE;AACXsb,QAAAA,YAAY,EAAE;AAChB,MAAA;AACF,IAAA;IAEA,IAAI,IAAI,CAAC1B,UAAU,EAAE;AACnB,MAAA,IAAI,CAACA,UAAU,CAAC/e,SAAS,CAAC8H,MAAM,CAAC,QAAQ,EAAE2Y,YAAY,GAAG,CAAC,CAAC;AAC9D,IAAA;AACF,EAAA;EAEAD,cAAcA,CAACE,IAAI,EAAE;AACnB,IAAA,IAAI,IAAI,CAAChd,OAAO,CAACgb,eAAe,EAAE;AAChC,MAAA,OAAOgC,IAAI,CAACC,SAAS,CAAC,KAAK,CAAC,CAAC7mB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAC9D,IAAA;AAEA,IAAA,OAAO4mB,IAAI;AACb,EAAA;EAEAX,oBAAoBA,CAACpoB,KAAK,EAAE;IAC1B,MAAM;AAAE7B,MAAAA;AAAI,KAAC,GAAG6B,KAAK;AAErB,IAAA,IAAI7B,GAAG,KAAK2d,gBAAc,IAAI3d,GAAG,KAAK0d,cAAY,EAAE;MAClD7b,KAAK,CAAC4O,cAAc,EAAE;AACtB,MAAA,IAAI,CAAC,IAAI,CAACoK,QAAQ,EAAE,EAAE;QACpB,IAAI,CAACE,IAAI,EAAE;AACb,MAAA;AAEA,MAAA,MAAM1D,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,MAAA,IAAI9S,KAAK,CAACrS,MAAM,GAAG,CAAC,EAAE;AACpB,QAAA,MAAMvC,MAAM,GAAGzC,GAAG,KAAK2d,gBAAc,GAAGtG,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACrS,MAAM,GAAG,CAAC,CAAC;QAC1EvC,MAAM,CAACwe,KAAK,EAAE;AAChB,MAAA;AAEA,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACjhB,GAAG,KAAK8d,SAAS,IAAI9d,GAAG,KAAK+d,SAAS,KAAK,CAAC,IAAI,CAAClD,QAAQ,EAAE,EAAE;MAChEhZ,KAAK,CAAC4O,cAAc,EAAE;MACtB,IAAI,CAACsK,IAAI,EAAE;AACb,IAAA;AACF,EAAA;EAEAmP,kBAAkBA,CAACroB,KAAK,EAAE;IACxB,MAAM;MAAE7B,GAAG;AAAEyC,MAAAA;AAAO,KAAC,GAAGZ,KAAK;IAE7B,IAAI7B,GAAG,KAAKwd,UAAU,EAAE;MACtB3b,KAAK,CAAC4O,cAAc,EAAE;MACtB5O,KAAK,CAAC2iB,eAAe,EAAE;MACvB,IAAI,CAAC1J,IAAI,EAAE;AACX,MAAA,IAAI,CAACgO,OAAO,CAAC7H,KAAK,EAAE;AACpB,MAAA;AACF,IAAA;IAEA,IAAIjhB,GAAG,KAAKyd,OAAO,EAAE;MACnB,IAAI,CAAC3C,IAAI,EAAE;AACX,MAAA;AACF,IAAA;AAEA,IAAA,MAAM6M,OAAO,GAAGllB,MAAM,CAAC4M,OAAO,CAAC,OAAO,CAAC;AAEvC,IAAA,IAAIrP,GAAG,KAAK2d,gBAAc,IAAI3d,GAAG,KAAK0d,cAAY,EAAE;MAClD7b,KAAK,CAAC4O,cAAc,EAAE;AACtB,MAAA,MAAM4G,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,MAAA,IAAI9S,KAAK,CAACrS,MAAM,GAAG,CAAC,EAAE;QACpB2G,oBAAoB,CAAC0L,KAAK,EAAE5U,MAAM,EAAEzC,GAAG,KAAK2d,gBAAc,EAAE,CAACtG,KAAK,CAAC3S,QAAQ,CAACjC,MAAM,CAAC,CAAC,CAACwe,KAAK,EAAE;AAC9F,MAAA;AAEA,MAAA;AACF,IAAA;AAEA,IAAA,IAAIjhB,GAAG,KAAK4d,UAAQ,IAAI5d,GAAG,KAAK6d,SAAO,EAAE;MACvChc,KAAK,CAAC4O,cAAc,EAAE;AACtB,MAAA,MAAM4G,KAAK,GAAG,IAAI,CAAC8S,gBAAgB,EAAE;AACrC,MAAA,IAAI9S,KAAK,CAACrS,MAAM,GAAG,CAAC,EAAE;AACpB,QAAA,MAAMsiB,UAAU,GAAGtnB,GAAG,KAAK4d,UAAQ,GAAGvG,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACrS,MAAM,GAAG,CAAC,CAAC;QACxEsiB,UAAU,CAACrG,KAAK,EAAE;AACpB,MAAA;AAEA,MAAA;AACF,IAAA;IAEA,IAAI,CAACjhB,GAAG,KAAK8d,SAAS,IAAI9d,GAAG,KAAK+d,SAAS,KAAK,CAAC4J,OAAO,EAAE;MACxD9lB,KAAK,CAAC4O,cAAc,EAAE;AACtB,MAAA,MAAMsZ,IAAI,GAAGtnB,MAAM,CAACoH,OAAO,CAACwe,kBAAkB,CAAC;AAC/C,MAAA,IAAI0B,IAAI,IAAI,CAAChgB,UAAU,CAACggB,IAAI,CAAC,EAAE;AAC7B,QAAA,IAAI,CAACC,WAAW,CAACD,IAAI,CAAC;AACxB,MAAA;AACF,IAAA;AACF,EAAA;;AAEA;EACA,OAAOe,eAAeA,CAACne,MAAM,EAAE;AAC7B,IAAA,OAAO,IAAI,CAACoe,IAAI,CAAC,YAAY;MAC3B,MAAMha,IAAI,GAAG8X,QAAQ,CAACva,mBAAmB,CAAC,IAAI,EAAE3B,MAAM,CAAC;AAEvD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;AAC9B,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,OAAOoE,IAAI,CAACpE,MAAM,CAAC,KAAK,WAAW,EAAE;AACvC,QAAA,MAAM,IAAIY,SAAS,CAAC,CAAA,iBAAA,EAAoBZ,MAAM,GAAG,CAAC;AACpD,MAAA;AAEAoE,MAAAA,IAAI,CAACpE,MAAM,CAAC,EAAE;AAChB,IAAA,CAAC,CAAC;AACJ,EAAA;AACF;;AAEA;AACA;AACA;;AAEA1K,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;EACrFA,KAAK,CAAC4O,cAAc,EAAE;EACtBoY,QAAQ,CAACva,mBAAmB,CAAC,IAAI,CAAC,CAAC0D,MAAM,EAAE;AAC7C,CAAC,CAAC;AAEF/P,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE,kBAAkB,EAAE,MAAM;EAClD,KAAK,MAAMuJ,MAAM,IAAIjD,cAAc,CAAC7L,IAAI,CAAC2O,sBAAoB,CAAC,EAAE;AAC9DgX,IAAAA,QAAQ,CAACva,mBAAmB,CAAC0D,MAAM,CAAC;AACtC,EAAA;AACF,CAAC,CAAC;;ACrcF;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMxF,MAAI,GAAG,YAAY;AACzB,MAAMsB,UAAQ,GAAG,eAAe;AAChC,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAMuW,cAAY,GAAG,CAAA,MAAA,EAASla,WAAS,CAAA,CAAE;AACzC,MAAMuL,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAMyL,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAM8D,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAC/D,MAAMqZ,sBAAsB,GAAG,CAAA,OAAA,EAAUhd,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAEnE,MAAME,sBAAoB,GAAG,+BAA+B;AAE5D,MAAMoZ,UAAU,GAAG,GAAG,CAAA;;AAEtB,MAAM3e,SAAO,GAAG;AACd4e,EAAAA,eAAe,EAAE,IAAI;AAAE;AACvBC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,UAAU,EAAE,IAAI;AAAE;AAClBC,EAAAA,cAAc,EAAE,IAAI;AAAE;AACtBC,EAAAA,kBAAkB,EAAE,CAAC;AAAE;AACvBC,EAAAA,YAAY,EAAE,CAAC;AAAE;AACjBC,EAAAA,MAAM,EAAE,KAAK;AAAE;AACfC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,eAAe,EAAE,IAAI;AAAE;AACvBC,EAAAA,aAAa,EAAE,EAAE;AACjBC,EAAAA,aAAa,EAAE,QAAQ;AAAE;AACzBlP,EAAAA,SAAS,EAAE,MAAM;AAAE;EACnBmP,UAAU,EAAE,EAAE;AAChB,CAAC;AAED,MAAMvf,aAAW,GAAG;AAClB2e,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,OAAO,EAAE,6BAA6B;AACtCC,EAAAA,OAAO,EAAE,6BAA6B;AACtCC,EAAAA,UAAU,EAAE,wBAAwB;AACpCC,EAAAA,cAAc,EAAE,+BAA+B;AAC/CC,EAAAA,kBAAkB,EAAE,QAAQ;AAC5BC,EAAAA,YAAY,EAAE,QAAQ;AACtBC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,eAAe,EAAE,uBAAuB;AACxCC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,aAAa,EAAE,QAAQ;AACvBlP,EAAAA,SAAS,EAAE,QAAQ;AACnBmP,EAAAA,UAAU,EAAE;AACd,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,UAAU,SAASre,aAAa,CAAC;AACrCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAACqf,SAAS,GAAG,IAAI;IACrB,IAAI,CAACnR,QAAQ,GAAG,KAAK;IAErB,IAAI,CAACoR,aAAa,EAAE;AACtB,EAAA;;AAEA;EACA,WAAW3f,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwF,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACpE,OAAO,CAAC6d,MAAM,EAAE;AACvB,MAAA,OAAM;AACR,IAAA;AAEA,IAAA,OAAO,IAAI,CAAC5Q,QAAQ,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;AAClD,EAAA;AAEAA,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,IAAI,CAACnN,OAAO,CAAC6d,MAAM,EAAE;AACvB,MAAA,OAAM;AACR,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAACO,SAAS,IAAIjiB,UAAU,CAAC,IAAI,CAAC4D,QAAQ,CAAC,IAAI,IAAI,CAACkN,QAAQ,EAAE;AACjE,MAAA;AACF,IAAA;IAEA,MAAMgG,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE4L,YAAU,CAAC;IACjE,IAAIsH,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACua,SAAS,CAACjR,IAAI,EAAE;IACrB,IAAI,CAACF,QAAQ,GAAG,IAAI;IAEpB5Y,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE6L,aAAW,CAAC;AAClD,EAAA;AAEAsB,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,IAAI,CAAClN,OAAO,CAAC6d,MAAM,EAAE;AACvB,MAAA,OAAM;AACR,IAAA;IAEA,IAAI,CAAC,IAAI,CAACO,SAAS,IAAI,CAAC,IAAI,CAACnR,QAAQ,EAAE;AACrC,MAAA;AACF,IAAA;IAEA,MAAM8G,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8L,YAAU,CAAC;IACjE,IAAIkI,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACua,SAAS,CAAClR,IAAI,EAAE;IACrB,IAAI,CAACD,QAAQ,GAAG,KAAK;IAErB5Y,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+L,cAAY,CAAC;AACnD,EAAA;AAEA3L,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAACme,cAAc,EAAE;AACvB,MAAA,IAAI,CAACA,cAAc,CAACC,UAAU,EAAE;MAChC,IAAI,CAACD,cAAc,GAAG,IAAI;AAC5B,IAAA;IAEA,IAAI,IAAI,CAACF,SAAS,EAAE;AAClB,MAAA,IAAI,CAACA,SAAS,CAACI,OAAO,EAAE;AAC1B,IAAA;IAEA,IAAI,CAACJ,SAAS,GAAG,IAAI;IACrB,KAAK,CAACje,OAAO,EAAE;AACjB,EAAA;AAEAse,EAAAA,gBAAgBA,GAAG;IACjB,MAAMC,KAAK,GAAG,IAAI,CAACN,SAAS,EAAEO,OAAO,EAAEX,aAAa;AACpD,IAAA,OAAOU,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAC,GAAG,EAAE;AAChC,EAAA;EAEAE,gBAAgBA,CAACF,KAAK,EAAE;IACtB,IAAI,IAAI,CAACN,SAAS,EAAE;AAClB,MAAA,IAAI,CAACA,SAAS,CAAClsB,GAAG,CAAC;AAAE8rB,QAAAA,aAAa,EAAEU;AAAM,OAAC,CAAC;AAC9C,IAAA;AACF,EAAA;;AAEA;AACAL,EAAAA,aAAaA,GAAG;IACd,IAAI,CAACQ,QAAQ,GAAG,IAAI,CAAC9e,QAAQ,CAAC6C,OAAO,KAAK,OAAO;AACjD,IAAA,IAAI,CAACkc,SAAS,GAAG,IAAI,CAAC9e,OAAO,CAAC6d,MAAM;;AAEpC;IACA,IAAI,IAAI,CAACiB,SAAS,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE;MACpC,IAAI,CAACE,WAAW,GAAG,IAAI,CAAChf,QAAQ,CAACpE,aAAa,CAAC,mCAAmC,CAAC;AACrF,IAAA;AAEA,IAAA,IAAI,CAACqjB,gBAAgB,GAAG,IAAI,CAACC,uBAAuB,EAAE;AACtD,IAAA,IAAI,CAACC,eAAe,GAAG,IAAI,CAACC,sBAAsB,EAAE;AAEpD,IAAA,MAAMC,eAAe,GAAG,IAAI,CAACC,qBAAqB,EAAE;;AAEpD;AACA;IACA,IAAI,CAACjB,SAAS,GAAG,IAAIkB,QAAQ,CAAC,IAAI,CAACN,gBAAgB,EAAEI,eAAe,CAAC;AACrE,IAAA,IAAI,CAAChB,SAAS,CAACmB,IAAI,EAAE;;AAErB;IACA,IAAI,CAACC,mBAAmB,EAAE;;AAE1B;IACA,IAAI,IAAI,CAACX,QAAQ,IAAI,IAAI,CAAC9e,QAAQ,CAAC9H,KAAK,EAAE;MACxC,IAAI,CAACwnB,gBAAgB,EAAE;AACzB,IAAA;;AAEA;IACA,IAAI,CAACC,+BAA+B,EAAE;AACxC,EAAA;AAEAA,EAAAA,+BAA+BA,GAAG;IAChC,MAAM;AAAE1B,MAAAA;KAAe,GAAG,IAAI,CAAChe,OAAO;IACtC,IAAI,CAACge,aAAa,IAAIA,aAAa,CAAC5mB,MAAM,KAAK,CAAC,EAAE;AAChD,MAAA;AACF,IAAA;AAEA,IAAA,MAAMuoB,aAAa,GAAG,IAAI,CAACC,mBAAmB,CAAC5B,aAAa,CAAC;IAE7D,IAAI,IAAI,CAACa,QAAQ,EAAE;AACjB,MAAA,IAAI,CAAC9e,QAAQ,CAAC9H,KAAK,GAAG0nB,aAAa;AACrC,IAAA;IAEA,IAAI,IAAI,CAACZ,WAAW,EAAE;MACpB,IAAI,CAACA,WAAW,CAAC9mB,KAAK,GAAG+lB,aAAa,CAAC9c,IAAI,CAAC,GAAG,CAAC;AAClD,IAAA;IAEA,IAAI,IAAI,CAACge,eAAe,EAAE;AACxB,MAAA,IAAI,CAACA,eAAe,CAACxC,WAAW,GAAGiD,aAAa;AAClD,IAAA;AACF,EAAA;AAEAV,EAAAA,uBAAuBA,GAAG;IACxB,IAAI;AAAElB,MAAAA;KAAiB,GAAG,IAAI,CAAC/d,OAAO;AAEtC,IAAA,IAAI,OAAO+d,eAAe,KAAK,QAAQ,EAAE;AACvCA,MAAAA,eAAe,GAAGljB,QAAQ,CAACc,aAAa,CAACoiB,eAAe,CAAC;AAC3D,IAAA;;AAEA;IACA,IAAI,CAACA,eAAe,IAAI,IAAI,CAACc,QAAQ,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MACxD,MAAMvS,MAAM,GAAG,IAAI,CAACxM,QAAQ,CAAC9D,OAAO,CAAC,aAAa,CAAC;AACnD,MAAA,IAAIsQ,MAAM,EAAE;AACVwR,QAAAA,eAAe,GAAGxR,MAAM;AAC1B,MAAA;AACF,IAAA;AAEA,IAAA,OAAOwR,eAAe,IAAI,IAAI,CAAChe,QAAQ;AACzC,EAAA;AAEAof,EAAAA,sBAAsBA,GAAG;IACvB,MAAM;AAAEzB,MAAAA;KAAgB,GAAG,IAAI,CAAC1d,OAAO;AAEvC,IAAA,IAAI,OAAO0d,cAAc,KAAK,QAAQ,EAAE;AACtC,MAAA,OAAO7iB,QAAQ,CAACc,aAAa,CAAC+hB,cAAc,CAAC;AAC/C,IAAA;;AAEA;AACA,IAAA,IAAIA,cAAc,KAAK,IAAI,IAAKA,cAAc,KAAK,IAAI,IAAI,CAAC,IAAI,CAACmB,QAAQ,IAAI,CAAC,IAAI,CAACC,SAAU,EAAE;MAC7F,MAAMe,YAAY,GAAG,IAAI,CAAC9f,QAAQ,CAACpE,aAAa,CAAC,8BAA8B,CAAC;AAChF,MAAA,OAAOkkB,YAAY,IAAI,IAAI,CAAC9f,QAAQ;AACtC,IAAA;AAEA,IAAA,OAAO2d,cAAc;AACvB,EAAA;AAEAoC,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,OAAO,IAAI,CAAC/f,QAAQ,CAAC9D,OAAO,CAAC,iBAAiB,CAAC;AACjD,EAAA;AAEA8jB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,MAAM;AAAEzC,MAAAA;KAAiB,GAAG,IAAI,CAACtd,OAAO;AACxC,IAAA,IAAIsd,eAAe,EAAE;AACnB,MAAA,OAAOA,eAAe;AACxB,IAAA;AAEA,IAAA,MAAM3b,QAAQ,GAAG,IAAI,CAACme,iBAAiB,EAAE;AACzC,IAAA,OAAOne,QAAQ,EAAEjI,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI;AACxD,EAAA;EAEAsmB,mBAAmBA,CAAC7tB,OAAO,EAAE;IAC3B,IAAI,CAACA,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEA,IAAA,MAAM8tB,KAAK,GAAG,IAAI,CAACF,kBAAkB,EAAE;AAEvC,IAAA,IAAIE,KAAK,EAAE;AACT;AACA9tB,MAAAA,OAAO,CAAC4G,YAAY,CAAC,eAAe,EAAEknB,KAAK,CAAC;AAC9C,IAAA,CAAC,MAAM;AACL;AACA9tB,MAAAA,OAAO,CAAC8G,eAAe,CAAC,eAAe,CAAC;AAC1C,IAAA;AACF,EAAA;AAEAumB,EAAAA,mBAAmBA,GAAG;AACpB;AACA,IAAA,MAAM7d,QAAQ,GAAG,IAAI,CAACme,iBAAiB,EAAE;IACzC,IAAI,CAACne,QAAQ,IAAI,IAAI,CAAC3B,OAAO,CAACsd,eAAe,EAAE;AAC7C;AACA,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACgB,cAAc,GAAG,IAAI4B,gBAAgB,CAAC,MAAM;MAC/C,IAAI,CAACF,mBAAmB,CAAC,IAAI,CAAC5B,SAAS,EAAEO,OAAO,EAAEwB,WAAW,CAAC;AAChE,IAAA,CAAC,CAAC;AAEF,IAAA,IAAI,CAAC7B,cAAc,CAAC8B,OAAO,CAACze,QAAQ,EAAE;AACpCxI,MAAAA,UAAU,EAAE,IAAI;MAChBknB,eAAe,EAAE,CAAC,eAAe;AACnC,KAAC,CAAC;AACJ,EAAA;AAEAhB,EAAAA,qBAAqBA,GAAG;AACtB;AACA,IAAA,MAAMY,KAAK,GAAG,IAAI,CAACF,kBAAkB,EAAE;AACvC;IACA,MAAMO,QAAQ,GAAG,CAACL,KAAK,IAAIA,KAAK,KAAK,MAAM,GAAG,QAAQ,GAAGA,KAAK;AAE9D,IAAA,MAAMb,eAAe,GAAG;AACtB,MAAA,GAAG,IAAI,CAACpf,OAAO,CAACke,UAAU;AAC1BqC,MAAAA,SAAS,EAAE,CAAC,IAAI,CAACzB,SAAS;AAC1B0B,MAAAA,eAAe,EAAE,IAAI,CAACxgB,OAAO,CAAC+O,SAAS;AACvC6O,MAAAA,YAAY,EAAE,IAAI,CAAC5d,OAAO,CAAC4d,YAAY;AACvCE,MAAAA,MAAM,EAAE,IAAI,CAAC9d,OAAO,CAAC8d,MAAM;AAC3B2C,MAAAA,kBAAkB,EAAE,IAAI,CAACzgB,OAAO,CAACie,aAAa;AAC9CD,MAAAA,aAAa,EAAE,IAAI,CAAChe,OAAO,CAACge,aAAa;AACzCL,MAAAA,kBAAkB,EAAE,IAAI,CAAC3d,OAAO,CAAC2d,kBAAkB;MACnDppB,IAAI,EAAE,IAAI,CAACyL,OAAO,CAAC2d,kBAAkB,GAAG,CAAC,GAAG,UAAU,GAAG,SAAS;AAClE+C,MAAAA,aAAa,EAAEJ,QAAQ;AACvBK,MAAAA,eAAe,EAAE,iBAAiB;AAClCC,MAAAA,WAAW,EAAEA,CAACC,IAAI,EAAE5sB,KAAK,KAAK,IAAI,CAAC6sB,gBAAgB,CAACD,IAAI,EAAE5sB,KAAK,CAAC;MAChE8sB,MAAM,EAAEF,IAAI,IAAI;QACd,IAAI,CAACb,mBAAmB,CAACa,IAAI,CAAClC,OAAO,CAACwB,WAAW,CAAC;MACpD,CAAC;MACDa,MAAM,EAAEA,MAAM;QACZ,IAAI,CAAC/T,QAAQ,GAAG,IAAI;QACpB,IAAI,CAAC+S,mBAAmB,CAAC,IAAI,CAAC5B,SAAS,CAACO,OAAO,CAACwB,WAAW,CAAC;MAC9D,CAAC;MACDc,MAAM,EAAEA,MAAM;QACZ,IAAI,CAAChU,QAAQ,GAAG,KAAK;AACvB,MAAA;KACD;;AAED;IACA,IAAI,IAAI,CAACjN,OAAO,CAACge,aAAa,CAAC5mB,MAAM,GAAG,CAAC,EAAE;AACzC,MAAA,MAAM8pB,SAAS,GAAG,IAAI,CAACC,UAAU,CAAC,IAAI,CAACnhB,OAAO,CAACge,aAAa,CAAC,CAAC,CAAC,CAAC;AAChEoB,MAAAA,eAAe,CAACgC,aAAa,GAAGF,SAAS,CAACG,QAAQ,EAAE;AACpDjC,MAAAA,eAAe,CAACkC,YAAY,GAAGJ,SAAS,CAACK,WAAW,EAAE;AACxD,IAAA;AAEA,IAAA,IAAI,IAAI,CAACvhB,OAAO,CAACud,OAAO,EAAE;AACxB6B,MAAAA,eAAe,CAAC7B,OAAO,GAAG,IAAI,CAACvd,OAAO,CAACud,OAAO;AAChD,IAAA;AAEA,IAAA,IAAI,IAAI,CAACvd,OAAO,CAACwd,OAAO,EAAE;AACxB4B,MAAAA,eAAe,CAAC5B,OAAO,GAAG,IAAI,CAACxd,OAAO,CAACwd,OAAO;AAChD,IAAA;AAEA,IAAA,OAAO4B,eAAe;AACxB,EAAA;AAEA0B,EAAAA,gBAAgBA,CAACD,IAAI,EAAE5sB,KAAK,EAAE;IAC5B,MAAM+pB,aAAa,GAAG,CAAC,GAAG6C,IAAI,CAAClC,OAAO,CAACX,aAAa,CAAC;AAErD,IAAA,IAAIA,aAAa,CAAC5mB,MAAM,GAAG,CAAC,EAAE;AAC5B,MAAA,MAAMuoB,aAAa,GAAG,IAAI,CAACC,mBAAmB,CAAC5B,aAAa,CAAC;MAE7D,IAAI,IAAI,CAACa,QAAQ,EAAE;AACjB,QAAA,IAAI,CAAC9e,QAAQ,CAAC9H,KAAK,GAAG0nB,aAAa;AACrC,MAAA;MAEA,IAAI,IAAI,CAACZ,WAAW,EAAE;QACpB,IAAI,CAACA,WAAW,CAAC9mB,KAAK,GAAG+lB,aAAa,CAAC9c,IAAI,CAAC,GAAG,CAAC;AAClD,MAAA;MAEA,IAAI,IAAI,CAACge,eAAe,EAAE;AACxB,QAAA,IAAI,CAACA,eAAe,CAACxC,WAAW,GAAGiD,aAAa;AAClD,MAAA;AACF,IAAA;IAEAtrB,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEua,cAAY,EAAE;AAChDoE,MAAAA,KAAK,EAAEV,aAAa;AACpB/pB,MAAAA;AACF,KAAC,CAAC;AAEF,IAAA,IAAI,CAACutB,wBAAwB,CAACxD,aAAa,CAAC;AAC9C,EAAA;EAEAwD,wBAAwBA,CAACxD,aAAa,EAAE;IACtC,IAAI,IAAI,CAACc,SAAS,EAAE;AAClB,MAAA;AACF,IAAA;AAEA,IAAA,MAAM2C,UAAU,GACb,IAAI,CAACzhB,OAAO,CAACie,aAAa,KAAK,QAAQ,IAAID,aAAa,CAAC5mB,MAAM,GAAG,CAAC,IACnE,IAAI,CAAC4I,OAAO,CAACie,aAAa,KAAK,iBAAiB,IAAID,aAAa,CAAC5mB,MAAM,IAAI,CAAE;AAEjF,IAAA,IAAIqqB,UAAU,EAAE;MACd3jB,UAAU,CAAC,MAAM,IAAI,CAACoP,IAAI,EAAE,EAAEmQ,UAAU,CAAC;AAC3C,IAAA;AACF,EAAA;EAEA8D,UAAUA,CAACO,OAAO,EAAE;AAClB,IAAA,MAAM,CAACC,IAAI,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGH,OAAO,CAACpmB,KAAK,CAAC,GAAG,CAAC;IAC7C,OAAO,IAAIuc,IAAI,CAAC8J,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,GAAG,CAAC;AACvC,EAAA;EAEAC,WAAWA,CAACJ,OAAO,EAAE;AACnB,IAAA,MAAMK,IAAI,GAAG,IAAI,CAACZ,UAAU,CAACO,OAAO,CAAC;AACrC,IAAA,MAAM5D,MAAM,GAAG,IAAI,CAAC9d,OAAO,CAAC8d,MAAM,KAAK,SAAS,GAAGxjB,SAAS,GAAG,IAAI,CAAC0F,OAAO,CAAC8d,MAAM;IAClF,MAAM;AAAEL,MAAAA;KAAY,GAAG,IAAI,CAACzd,OAAO;;AAEnC;AACA,IAAA,IAAI,OAAOyd,UAAU,KAAK,UAAU,EAAE;AACpC,MAAA,OAAOA,UAAU,CAACsE,IAAI,EAAEjE,MAAM,CAAC;AACjC,IAAA;;AAEA;AACA,IAAA,IAAIL,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;AAChD,MAAA,OAAO,IAAIuE,IAAI,CAACC,cAAc,CAACnE,MAAM,EAAEL,UAAU,CAAC,CAACyE,MAAM,CAACH,IAAI,CAAC;AACjE,IAAA;;AAEA;AACA,IAAA,OAAOA,IAAI,CAACI,kBAAkB,CAACrE,MAAM,CAAC;AACxC,EAAA;EAEA8B,mBAAmBA,CAAClB,KAAK,EAAE;AACzB,IAAA,IAAIA,KAAK,CAACtnB,MAAM,KAAK,CAAC,EAAE;AACtB,MAAA,OAAO,EAAE;AACX,IAAA;AAEA,IAAA,IAAIsnB,KAAK,CAACtnB,MAAM,KAAK,CAAC,EAAE;MACtB,OAAO,IAAI,CAAC0qB,WAAW,CAACpD,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,IAAA;;AAEA;AACA,IAAA,MAAM0D,SAAS,GAAG,IAAI,CAACpiB,OAAO,CAACie,aAAa,KAAK,iBAAiB,GAAG,KAAK,GAAG,IAAI;AACjF,IAAA,OAAOS,KAAK,CAAC1d,GAAG,CAACqhB,CAAC,IAAI,IAAI,CAACP,WAAW,CAACO,CAAC,CAAC,CAAC,CAACnhB,IAAI,CAACkhB,SAAS,CAAC;AAC5D,EAAA;AAEA3C,EAAAA,gBAAgBA,GAAG;AACjB;IACA,MAAMxnB,KAAK,GAAG,IAAI,CAAC8H,QAAQ,CAAC9H,KAAK,CAAC8I,IAAI,EAAE;IACxC,IAAI,CAAC9I,KAAK,EAAE;AACV,MAAA;AACF,IAAA;AAEA,IAAA,MAAM8pB,IAAI,GAAG,IAAIlK,IAAI,CAAC5f,KAAK,CAAC;IAC5B,IAAI,CAACI,MAAM,CAACiqB,KAAK,CAACP,IAAI,CAACQ,OAAO,EAAE,CAAC,EAAE;AACjC,MAAA,MAAMZ,IAAI,GAAGI,IAAI,CAACR,WAAW,EAAE;AAC/B,MAAA,MAAMK,KAAK,GAAGY,MAAM,CAACT,IAAI,CAACV,QAAQ,EAAE,GAAG,CAAC,CAAC,CAACoB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC1D,MAAA,MAAMZ,GAAG,GAAGW,MAAM,CAACT,IAAI,CAACW,OAAO,EAAE,CAAC,CAACD,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;MACnD,MAAME,SAAS,GAAG,CAAA,EAAGhB,IAAI,IAAIC,KAAK,CAAA,CAAA,EAAIC,GAAG,CAAA,CAAE;AAC3C,MAAA,IAAI,CAACzD,SAAS,CAAClsB,GAAG,CAAC;QAAE8rB,aAAa,EAAE,CAAC2E,SAAS;AAAE,OAAC,CAAC;AACpD,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAtuB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;AACrF;AACA;AACA,EAAA,IAAI,IAAI,CAAC2O,OAAO,KAAK,OAAO,IAAI,IAAI,CAACvJ,OAAO,CAACupB,QAAQ,KAAK,MAAM,EAAE;AAChE,IAAA;AACF,EAAA;EAEA3uB,KAAK,CAAC4O,cAAc,EAAE;EACtBsb,UAAU,CAACzd,mBAAmB,CAAC,IAAI,CAAC,CAAC0D,MAAM,EAAE;AAC/C,CAAC,CAAC;AAEF/P,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEuiB,sBAAsB,EAAEnZ,sBAAoB,EAAE,YAAY;AAClF;AACA,EAAA,IAAI,IAAI,CAACrB,OAAO,KAAK,OAAO,EAAE;AAC5B,IAAA;AACF,EAAA;EAEAub,UAAU,CAACzd,mBAAmB,CAAC,IAAI,CAAC,CAACyM,IAAI,EAAE;AAC7C,CAAC,CAAC;;AAEF;AACA9Y,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM5R,OAAO,IAAI0I,QAAQ,CAACjG,gBAAgB,CAAC,CAAA,EAAGqP,sBAAoB,CAAA,uBAAA,CAAyB,CAAC,EAAE;AACjGka,IAAAA,UAAU,CAACzd,mBAAmB,CAACvO,OAAO,CAAC;AACzC,EAAA;AACF,CAAC,CAAC;;AC/dF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM0wB,eAAe,GAAG,aAAa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,SAAShjB,aAAa,CAAC;AACrCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAAC0N,gBAAgB,GAAG,KAAK;IAC7B,IAAI,CAACsW,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACC,mBAAmB,EAAE;AAC5B,EAAA;;AAEA;AACA;EACA,WAAWpkB,IAAIA,GAAG;AAChB,IAAA,OAAO,YAAY;AACrB,EAAA;;AAEA;;AAEAqkB,EAAAA,YAAYA,CAAC;AAAEC,IAAAA,KAAK,GAAG,IAAI;AAAEC,IAAAA,iBAAiB,GAAG;GAAM,GAAG,EAAE,EAAE;IAC5D,IAAI,CAACJ,cAAc,GAAGG,KAAK;AAE3B,IAAA,IAAIA,KAAK,EAAE;AACT,MAAA,IAAI,CAACnjB,QAAQ,CAACqjB,SAAS,EAAE;AAC3B,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACrjB,QAAQ,CAACoN,IAAI,EAAE;AACtB,IAAA;AAEA,IAAA,IAAIgW,iBAAiB,EAAE;MACrBtoB,QAAQ,CAACuY,IAAI,CAAC9W,SAAS,CAAC4J,GAAG,CAAC2c,eAAe,CAAC;AAC9C,IAAA;AACF,EAAA;AAEAQ,EAAAA,YAAYA,GAAG;AACb;AACA,IAAA,IAAI,CAACtjB,QAAQ,CAAC4D,KAAK,EAAE;IACrB,IAAI,CAACof,cAAc,GAAG,KAAK;;AAE3B;AACA,IAAA,IAAI,CAACloB,QAAQ,CAACc,aAAa,CAAC,oBAAoB,CAAC,EAAE;MACjDd,QAAQ,CAACuY,IAAI,CAAC9W,SAAS,CAACvJ,MAAM,CAAC8vB,eAAe,CAAC;AACjD,IAAA;AACF,EAAA;;AAEA;AACA;AACA;AACAS,EAAAA,oBAAoBA,GAAG;IACrB,MAAM5uB,QAAQ,GAAG,wDAAwD;AAEzE,IAAA,KAAK,MAAM0N,EAAE,IAAIjB,cAAc,CAAC7L,IAAI,CAACZ,QAAQ,EAAE,IAAI,CAACqL,QAAQ,CAAC,EAAE;AAC7D,MAAA,MAAM1N,QAAQ,GAAGyN,aAAa,CAACW,WAAW,CAAC2B,EAAE,CAAC;MAC9C,IAAI/P,QAAQ,IAAI,OAAOA,QAAQ,CAAC6a,IAAI,KAAK,UAAU,EAAE;QACnD7a,QAAQ,CAAC6a,IAAI,EAAE;AACjB,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,KAAK,MAAM9K,EAAE,IAAIjB,cAAc,CAAC7L,IAAI,CAAC,aAAa,EAAE,IAAI,CAACyK,QAAQ,CAAC,EAAE;AAClE,MAAA,MAAM1N,QAAQ,GAAGyN,aAAa,CAACW,WAAW,CAAC2B,EAAE,CAAC;MAC9C,IAAI/P,QAAQ,IAAI,OAAOA,QAAQ,CAAC6a,IAAI,KAAK,UAAU,EAAE;QACnD7a,QAAQ,CAAC6a,IAAI,EAAE;AACjB,MAAA;AACF,IAAA;AACF,EAAA;AAEAqW,EAAAA,0BAA0BA,GAAG;AAC3B,IAAA,MAAMC,kBAAkB,GAAGnvB,YAAY,CAACmD,OAAO,CAC7C,IAAI,CAACuI,QAAQ,EACb,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC,eAAe,CAC5C,CAAC;IAED,IAAI6iB,kBAAkB,CAAC3f,gBAAgB,EAAE;AACvC,MAAA;AACF,IAAA;AAEA,IAAA,MAAM4f,WAAW,GAAG,IAAI,CAACC,mBAAmB,EAAE;IAC9C,IAAI,CAAC3jB,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAACud,WAAW,CAAC;IACxC,IAAI,CAACljB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACR,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC0wB,WAAW,CAAC;AAC7C,IAAA,CAAC,EAAE,IAAI,CAAC1jB,QAAQ,CAAC;AACnB,EAAA;;AAEA;AACA2jB,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,OAAO,eAAe;AACxB,EAAA;;AAEA;;AAEAV,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,MAAMW,QAAQ,GAAG,IAAI,CAACvkB,WAAW,CAACgB,SAAS;;AAE3C;AACA;AACA;IACA/L,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,QAAQ,EAAE9L,KAAK,IAAI;AAChD;MACAA,KAAK,CAAC4O,cAAc,EAAE;AAEtB,MAAA,IAAI,CAAC,IAAI,CAAC7C,OAAO,CAACmI,QAAQ,EAAE;QAC1B,IAAI,CAACob,0BAA0B,EAAE;AACjC,QAAA;AACF,MAAA;MAEA,IAAI,CAACK,SAAS,EAAE;MAChB,IAAI,CAAC1W,IAAI,EAAE;AACb,IAAA,CAAC,CAAC;;AAEF;AACA7Y,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,CAAA,OAAA,EAAU4jB,QAAQ,CAAA,CAAE,EAAE1vB,KAAK,IAAI;MAC5D,IAAIA,KAAK,CAAC7B,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC2wB,cAAc,EAAE;AACjD,QAAA;AACF,MAAA;MAEA9uB,KAAK,CAAC4O,cAAc,EAAE;AAEtB,MAAA,IAAI,CAAC,IAAI,CAAC7C,OAAO,CAACmI,QAAQ,EAAE;AAC1B,QAAA;AACF,MAAA;MAEA,IAAI,CAACyb,SAAS,EAAE;MAChB,IAAI,CAAC1W,IAAI,EAAE;AACb,IAAA,CAAC,CAAC;;AAEF;AACA;AACA7Y,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,CAAA,KAAA,EAAQ4jB,QAAQ,CAAA,CAAE,EAAE1vB,KAAK,IAAI;AAC1D;AACA,MAAA,IAAIA,KAAK,CAACY,MAAM,KAAK,IAAI,CAACkL,QAAQ,IAAI,CAAC,IAAI,CAACgjB,cAAc,EAAE;AAC1D,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,IAAI,CAAC/iB,OAAO,CAAC6jB,QAAQ,KAAK,QAAQ,EAAE;QACtC,IAAI,CAACN,0BAA0B,EAAE;AACjC,QAAA;AACF,MAAA;MAEA,IAAI,CAACrW,IAAI,EAAE;AACb,IAAA,CAAC,CAAC;AACJ,EAAA;;AAEA;AACA0W,EAAAA,SAASA,GAAG;AACV;AAAA,EAAA;AAEJ;;AC9KA;AACA;AACA;AACA;AACA;AACA;;;AASA;AACA;AACA;;AAEA,MAAMhlB,MAAI,GAAG,QAAQ;AACrB,MAAMsB,UAAQ,GAAG,WAAW;AAC5B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAM4H,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAMyL,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAM0jB,YAAY,GAAG,CAAA,MAAA,EAAS1jB,WAAS,CAAA,CAAE;AACzC,MAAM8D,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE/D,MAAMggB,mBAAmB,GAAG,iBAAiB;AAE7C,MAAM9f,sBAAoB,GAAG,2BAA2B;AAExD,MAAMvF,SAAO,GAAG;AACdmlB,EAAAA,QAAQ,EAAE,IAAI;AAAE;AAChB1b,EAAAA,QAAQ,EAAE,IAAI;EACd+a,KAAK,EAAE,IAAI;AACb,CAAC;AAED,MAAMvkB,aAAW,GAAG;AAClBklB,EAAAA,QAAQ,EAAE,kBAAkB;AAC5B1b,EAAAA,QAAQ,EAAE,SAAS;AACnB+a,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAEA,MAAMc,MAAM,SAASlB,UAAU,CAAC;AAC9B;EACA,WAAWpkB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;EACAwF,MAAMA,CAACrO,aAAa,EAAE;AACpB,IAAA,OAAO,IAAI,CAACgK,QAAQ,CAACkkB,IAAI,GAAG,IAAI,CAAC/W,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,CAACpX,aAAa,CAAC;AACpE,EAAA;EAEAoX,IAAIA,CAACpX,aAAa,EAAE;IAClB,IAAI,IAAI,CAACgK,QAAQ,CAACkkB,IAAI,IAAI,IAAI,CAACxX,gBAAgB,EAAE;AAC/C,MAAA;AACF,IAAA;IAEA,MAAMwG,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE4L,YAAU,EAAE;AAChE5V,MAAAA;AACF,KAAC,CAAC;IAEF,IAAIkd,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC4I,gBAAgB,GAAG,IAAI;AAE5B,IAAA,IAAI,CAAC,IAAI,CAACzM,OAAO,CAACkjB,KAAK,EAAE;MACvB,IAAI,CAACnjB,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC6d,mBAAmB,CAAC;AAClD,IAAA;IAEA,IAAI,CAACd,YAAY,CAAC;AAChBC,MAAAA,KAAK,EAAE,IAAI,CAACljB,OAAO,CAACkjB,KAAK;AACzBC,MAAAA,iBAAiB,EAAE,IAAI,CAACnjB,OAAO,CAACkjB;AAClC,KAAC,CAAC;;AAEF;IACA,IAAI,CAAC3iB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACkM,gBAAgB,GAAG,KAAK;MAC7BpY,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE6L,aAAW,EAAE;AAC/C7V,QAAAA;AACF,OAAC,CAAC;AACJ,IAAA,CAAC,EAAE,IAAI,CAACgK,QAAQ,EAAE,IAAI,CAAC;AACzB,EAAA;AAEAmN,EAAAA,IAAIA,GAAG;IACL,IAAI,CAAC,IAAI,CAACnN,QAAQ,CAACkkB,IAAI,IAAI,IAAI,CAACxX,gBAAgB,EAAE;AAChD,MAAA;AACF,IAAA;IAEA,MAAMsH,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8L,YAAU,CAAC;IAEjE,IAAIkI,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC4I,gBAAgB,GAAG,IAAI;;AAE5B;AACA;IACA,IAAI,CAAC4W,YAAY,EAAE;IACnB,IAAI,CAACtjB,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAACgxB,mBAAmB,CAAC;IAEnD,IAAI,CAACxjB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACkM,gBAAgB,GAAG,KAAK;MAC7BpY,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+L,cAAY,CAAC;AACnD,IAAA,CAAC,EAAE,IAAI,CAAC/L,QAAQ,EAAE,IAAI,CAAC;AACzB,EAAA;AAEAmkB,EAAAA,YAAYA,GAAG;AACb;AACA;AAAA,EAAA;;AAGF;AACAN,EAAAA,SAASA,GAAG;IACVvvB,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+jB,YAAY,CAAC;AACnD,EAAA;AACF;;AAEA;AACA;AACA;;AAEAzvB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;AACrF,EAAA,MAAMY,MAAM,GAAGsM,cAAc,CAACmB,sBAAsB,CAAC,IAAI,CAAC;AAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACxL,QAAQ,CAAC,IAAI,CAAC8L,OAAO,CAAC,EAAE;IACxC3O,KAAK,CAAC4O,cAAc,EAAE;AACxB,EAAA;EAEAxO,YAAY,CAAC2C,GAAG,CAACnC,MAAM,EAAE8W,YAAU,EAAEsH,SAAS,IAAI;IAChD,IAAIA,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEAxP,IAAAA,YAAY,CAAC2C,GAAG,CAACnC,MAAM,EAAEiX,cAAY,EAAE,MAAM;AAC3C,MAAA,IAAIlQ,SAAS,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,CAACyX,KAAK,EAAE;AACd,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,CAAC;;AAEF;AACA,EAAA,MAAMtU,MAAM,GAAGlG,WAAW,CAACK,iBAAiB,CAAC,IAAI,CAAC;;AAElD;AACA,EAAA,MAAMirB,aAAa,GAAG,IAAI,CAACloB,OAAO,CAAC,cAAc,CAAC;AAClD,EAAA,MAAMmoB,UAAU,GAAGD,aAAa,IAAIA,aAAa,KAAKtvB,MAAM;AAE5D,EAAA,IAAIuvB,UAAU,EAAE;AACd;IACA,MAAMC,SAAS,GAAGL,MAAM,CAACtjB,mBAAmB,CAAC7L,MAAM,EAAEkK,MAAM,CAAC;AAC5DslB,IAAAA,SAAS,CAAClX,IAAI,CAAC,IAAI,CAAC;;AAEpB;AACA,IAAA,MAAMmX,eAAe,GAAGN,MAAM,CAACvjB,WAAW,CAAC0jB,aAAa,CAAC;AACzD,IAAA,IAAIG,eAAe,EAAE;MACnBA,eAAe,CAACpX,IAAI,EAAE;AACxB,IAAA;AAEA,IAAA;AACF,EAAA;EAEA,MAAM/J,IAAI,GAAG6gB,MAAM,CAACtjB,mBAAmB,CAAC7L,MAAM,EAAEkK,MAAM,CAAC;AACvDoE,EAAAA,IAAI,CAACiB,MAAM,CAAC,IAAI,CAAC;AACnB,CAAC,CAAC;AAEF5B,oBAAoB,CAACwhB,MAAM,CAAC;;ACzL5B;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMplB,MAAI,GAAG,aAAa;AAC1B,MAAMsB,UAAQ,GAAG,gBAAgB;AACjC,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAMqkB,YAAY,GAAG,CAAA,MAAA,EAASnkB,WAAS,CAAA,CAAE;AACzC,MAAMokB,cAAc,GAAG,CAAA,QAAA,EAAWpkB,WAAS,CAAA,CAAE;AAE7C,MAAMqkB,mBAAmB,GAAG,cAAc;AAC1C,MAAMC,wBAAwB,GAAG,mBAAmB;AACpD,MAAMC,iBAAiB,GAAG,QAAQ;AAElC,MAAMC,iBAAiB,GAAG,WAAW;AACrC,MAAMC,iBAAiB,GAAG,WAAW;AACrC,MAAMC,wBAAwB,GAAG,sBAAsB;AACvD,MAAMC,sBAAsB,GAAG,oBAAoB;AACnD,MAAMC,eAAe,GAAG,mBAAmB;AAE3C,MAAMtmB,SAAO,GAAG;AACdumB,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,QAAQ,EAAE,qPAAqP;EAC/PC,SAAS,EAAE,CAAC;AACd,CAAC;AAED,MAAMxmB,aAAW,GAAG;AAClBsmB,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,QAAQ,EAAE,QAAQ;AAClBC,EAAAA,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,WAAW,SAAStlB,aAAa,CAAC;AACtCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAACsmB,MAAM,GAAG,EAAE;IAChB,IAAI,CAACC,cAAc,GAAG,EAAE;IACxB,IAAI,CAACC,aAAa,GAAG,IAAI;IACzB,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACC,cAAc,GAAG,KAAK;IAE3B,IAAI,CAACC,KAAK,EAAE;AACd,EAAA;;AAEA;EACA,WAAWjnB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAiV,EAAAA,MAAMA,GAAG;IACP,IAAI,CAAC+R,kBAAkB,EAAE;IACzBvxB,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEwkB,YAAY,CAAC;AACnD,EAAA;AAEApkB,EAAAA,OAAOA,GAAG;IACR,IAAI,IAAI,CAACslB,eAAe,EAAE;AACxB,MAAA,IAAI,CAACA,eAAe,CAAClH,UAAU,EAAE;AACnC,IAAA;;AAEA;IACA,IAAI,CAACsH,aAAa,EAAE;;AAEpB;IACA,IAAI,IAAI,CAACL,eAAe,IAAI,IAAI,CAACA,eAAe,CAACM,aAAa,EAAE;AAC9D,MAAA,IAAI,CAACN,eAAe,CAACM,aAAa,CAAC/yB,MAAM,EAAE;AAC7C,IAAA;IAEA,KAAK,CAACoN,OAAO,EAAE;AACjB,EAAA;;AAEA;AACAwlB,EAAAA,KAAKA,GAAG;AACN;IACA,IAAI,CAAC5lB,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAACue,mBAAmB,CAAC;;AAEhD;AACA,IAAA,IAAI,CAACY,MAAM,GAAG,CAAC,GAAGlkB,cAAc,CAAC7L,IAAI,CAACsvB,iBAAiB,EAAE,IAAI,CAAC7kB,QAAQ,CAAC,CAAC;;AAExE;AACA,IAAA,KAAK,MAAM,CAAC1B,KAAK,EAAE8d,IAAI,CAAC,IAAI,IAAI,CAACkJ,MAAM,CAACxuB,OAAO,EAAE,EAAE;AACjDslB,MAAAA,IAAI,CAAC9iB,OAAO,CAAC0sB,UAAU,GAAG1nB,KAAK;AACjC,IAAA;;AAEA;IACA,IAAI,CAAC2nB,mBAAmB,EAAE;;AAE1B;IACA,IAAI,CAACC,oBAAoB,EAAE;;AAE3B;IACA,IAAI,CAACL,kBAAkB,EAAE;IAEzB,IAAI,CAACF,cAAc,GAAG,IAAI;AAC5B,EAAA;AAEAM,EAAAA,mBAAmBA,GAAG;AACpB;AACA,IAAA,IAAI,CAACR,eAAe,GAAGrkB,cAAc,CAACG,OAAO,CAACwjB,wBAAwB,EAAE,IAAI,CAAC/kB,QAAQ,CAAC;IAEtF,IAAI,IAAI,CAACylB,eAAe,EAAE;AACxB,MAAA,IAAI,CAACD,aAAa,GAAGpkB,cAAc,CAACG,OAAO,CAACyjB,sBAAsB,EAAE,IAAI,CAAChlB,QAAQ,CAAC;AAClF,MAAA;AACF,IAAA;AAEA,IAAA,MAAMmmB,YAAY,GAAGrrB,QAAQ,CAAC+gB,aAAa,CAAC,IAAI,CAAC;IACjDsK,YAAY,CAACC,SAAS,GAAG,4BAA4B;IACrDD,YAAY,CAACE,SAAS,GAAG;AAC7B;AACA,wCAAA,EAA0C,IAAI,CAACpmB,OAAO,CAACklB,QAAQ,CAAA;AAC/D,wCAAA,EAA0C,IAAI,CAACllB,OAAO,CAACilB,QAAQ,CAAA;AAC/D;AACA,kBAAA,EAAoBP,wBAAwB,CAAA;AAC5C,IAAA,CAAK;AAED,IAAA,IAAI,CAAC3kB,QAAQ,CAAC4V,MAAM,CAACuQ,YAAY,CAAC;IAClC,IAAI,CAACV,eAAe,GAAGU,YAAY,CAACvqB,aAAa,CAACmpB,wBAAwB,CAAC;IAC3E,IAAI,CAACS,aAAa,GAAGW,YAAY,CAACvqB,aAAa,CAACopB,sBAAsB,CAAC;AACzE,EAAA;AAEAkB,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,IAAI,OAAOI,cAAc,KAAK,WAAW,EAAE;AACzC;AACAhyB,MAAAA,YAAY,CAAC0C,EAAE,CAACgD,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC6rB,kBAAkB,EAAE,CAAC;AAClE,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACH,eAAe,GAAG,IAAIY,cAAc,CAAC,MAAM;MAC9C,IAAI,CAACT,kBAAkB,EAAE;AAC3B,IAAA,CAAC,CAAC;IAEF,IAAI,CAACH,eAAe,CAACrF,OAAO,CAAC,IAAI,CAACrgB,QAAQ,CAAC;AAC7C,EAAA;AAEA6lB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,IAAI,CAACC,aAAa,EAAE;AAEpB,IAAA,MAAMS,QAAQ,GAAG,IAAI,CAACvmB,QAAQ,CAACwmB,WAAW;IAC1C,MAAML,YAAY,GAAG,IAAI,CAACV,eAAe,EAAEvpB,OAAO,CAAC,WAAW,CAAC;AAC/D,IAAA,MAAMuqB,aAAa,GAAGN,YAAY,EAAEK,WAAW,IAAI,CAAC;IAEpD,IAAIE,SAAS,GAAG,CAAC;IACjB,MAAMC,eAAe,GAAG,EAAE;AAC1B,IAAA,MAAMC,iBAAiB,GAAGL,QAAQ,GAAGE,aAAa,GAAG,EAAE,CAAA;;AAEvD;AACA,IAAA,KAAK,MAAMrK,IAAI,IAAI,IAAI,CAACkJ,MAAM,EAAE;AAC9B,MAAA,MAAMuB,SAAS,GAAGzK,IAAI,CAACoK,WAAW;AAClCE,MAAAA,SAAS,IAAIG,SAAS;;AAEtB;MACA,IAAIzK,IAAI,CAAC7f,SAAS,CAACtG,QAAQ,CAACgvB,eAAe,CAAC,EAAE;AAC5C,QAAA;AACF,MAAA;MAEA,IAAIyB,SAAS,GAAGE,iBAAiB,EAAE;AACjCD,QAAAA,eAAe,CAAC9kB,IAAI,CAACua,IAAI,CAAC;AAC5B,MAAA;AACF,IAAA;;AAEA;IACA,MAAMY,YAAY,GAAG,IAAI,CAACsI,MAAM,CAACjuB,MAAM,GAAGsvB,eAAe,CAACtvB,MAAM;AAChE,IAAA,IAAI2lB,YAAY,GAAG,IAAI,CAAC/c,OAAO,CAACmlB,SAAS,IAAI,IAAI,CAACE,MAAM,CAACjuB,MAAM,GAAG,IAAI,CAAC4I,OAAO,CAACmlB,SAAS,EAAE;AACxF;AACA,MAAA,MAAM0B,MAAM,GAAG,IAAI,CAACxB,MAAM,CAAC/tB,KAAK,CAAC,IAAI,CAAC0I,OAAO,CAACmlB,SAAS,CAAC,CAAC7rB,MAAM,CAAC6iB,IAAI,IAAI,CAACA,IAAI,CAAC7f,SAAS,CAACtG,QAAQ,CAACgvB,eAAe,CAAC,CAAC;MAClH0B,eAAe,CAACtvB,MAAM,GAAG,CAAC;AAC1BsvB,MAAAA,eAAe,CAAC9kB,IAAI,CAAC,GAAGilB,MAAM,CAAC;AACjC,IAAA;;AAEA;AACA,IAAA,IAAI,CAACC,eAAe,CAACJ,eAAe,CAAC;;AAErC;AACA,IAAA,IAAIR,YAAY,EAAE;AAChB,MAAA,IAAIQ,eAAe,CAACtvB,MAAM,GAAG,CAAC,EAAE;AAC9B8uB,QAAAA,YAAY,CAAC5pB,SAAS,CAACvJ,MAAM,CAAC4xB,iBAAiB,CAAC;AAClD,MAAA,CAAC,MAAM;AACLuB,QAAAA,YAAY,CAAC5pB,SAAS,CAAC4J,GAAG,CAACye,iBAAiB,CAAC;AAC/C,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI+B,eAAe,CAACtvB,MAAM,GAAG,CAAC,EAAE;MAC9B/C,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEykB,cAAc,EAAE;QAClDuC,aAAa,EAAEL,eAAe,CAACtvB,MAAM;QACrC2lB,YAAY,EAAE,IAAI,CAACsI,MAAM,CAACjuB,MAAM,GAAGsvB,eAAe,CAACtvB;AACrD,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEA0vB,eAAeA,CAACrd,KAAK,EAAE;AACrB,IAAA,IAAI,CAAC,IAAI,CAAC8b,aAAa,EAAE;AACvB,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI,CAACA,aAAa,CAACa,SAAS,GAAG,EAAE;IACjC,IAAI,CAACd,cAAc,GAAG,EAAE;AAExB,IAAA,KAAK,MAAMnJ,IAAI,IAAI1S,KAAK,EAAE;MACxB,MAAMud,IAAI,GAAG7lB,cAAc,CAACG,OAAO,CAACujB,iBAAiB,EAAE1I,IAAI,CAAC;MAC5D,IAAI,CAAC6K,IAAI,EAAE;AACT,QAAA;AACF,MAAA;AAEA,MAAA,MAAMC,UAAU,GAAGD,IAAI,CAACE,SAAS,CAAC,IAAI,CAAC;MACvCD,UAAU,CAACd,SAAS,GAAG,WAAW;MAElC,IAAIa,IAAI,CAAC1qB,SAAS,CAACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACrCixB,QAAAA,UAAU,CAAC3qB,SAAS,CAAC4J,GAAG,CAAC,QAAQ,CAAC;AACpC,MAAA;AAEA,MAAA,IAAI8gB,IAAI,CAAC1qB,SAAS,CAACtG,QAAQ,CAAC,UAAU,CAAC,IAAIgxB,IAAI,CAACxqB,YAAY,CAAC,UAAU,CAAC,EAAE;AACxEyqB,QAAAA,UAAU,CAAC3qB,SAAS,CAAC4J,GAAG,CAAC,UAAU,CAAC;AACtC,MAAA;AAEA,MAAA,IAAI,CAACqf,aAAa,CAAC5P,MAAM,CAACsR,UAAU,CAAC;;AAErC;AACA9K,MAAAA,IAAI,CAAC7f,SAAS,CAAC4J,GAAG,CAACye,iBAAiB,CAAC;AACrCxI,MAAAA,IAAI,CAAC9iB,OAAO,CAAC8tB,aAAa,GAAG,MAAM;AAEnC,MAAA,IAAI,CAAC7B,cAAc,CAAC1jB,IAAI,CAACua,IAAI,CAAC;AAChC,IAAA;AACF,EAAA;AAEA0J,EAAAA,aAAaA,GAAG;AACd,IAAA,KAAK,MAAM1J,IAAI,IAAI,IAAI,CAACkJ,MAAM,EAAE;AAC9BlJ,MAAAA,IAAI,CAAC7f,SAAS,CAACvJ,MAAM,CAAC4xB,iBAAiB,CAAC;AACxC,MAAA,OAAOxI,IAAI,CAAC9iB,OAAO,CAAC8tB,aAAa;AACnC,IAAA;IAEA,IAAI,IAAI,CAAC5B,aAAa,EAAE;AACtB,MAAA,IAAI,CAACA,aAAa,CAACa,SAAS,GAAG,EAAE;AACnC,IAAA;IAEA,IAAI,CAACd,cAAc,GAAG,EAAE;AAC1B,EAAA;AACF;;AAEA;AACA;AACA;;AAEAjxB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE,kBAAkB,EAAE,MAAM;EAClD,KAAK,MAAM1I,OAAO,IAAIgP,cAAc,CAAC7L,IAAI,CAAC,iCAAiC,CAAC,EAAE;AAC5E8vB,IAAAA,WAAW,CAAC1kB,mBAAmB,CAACvO,OAAO,CAAC;AAC1C,EAAA;AACF,CAAC,CAAC;;ACnRF;AACA;AACA;AACA;AACA;AACA;;;AAWA;AACA;AACA;;AAEA,MAAMyM,MAAI,GAAG,WAAW;AACxB,MAAMsB,UAAQ,GAAG,cAAc;AAC/B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAChC,MAAMoD,qBAAmB,GAAG,CAAA,IAAA,EAAO/G,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE7D,MAAM4H,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAMyL,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAMgnB,YAAY,GAAG,CAAA,MAAA,EAAShnB,WAAS,CAAA,CAAE;AACzC,MAAM8D,sBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE;AAE/D,MAAME,sBAAoB,GAAG,8BAA8B;AAE3D,MAAMvF,SAAO,GAAG;AACdmlB,EAAAA,QAAQ,EAAE,IAAI;AACd1b,EAAAA,QAAQ,EAAE,IAAI;AACdkf,EAAAA,MAAM,EAAE;AACV,CAAC;AAED,MAAM1oB,aAAW,GAAG;AAClBklB,EAAAA,QAAQ,EAAE,kBAAkB;AAC5B1b,EAAAA,QAAQ,EAAE,SAAS;AACnBkf,EAAAA,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,SAAS,SAASxE,UAAU,CAAC;AACjC;EACA,WAAWpkB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;EACAwF,MAAMA,CAACrO,aAAa,EAAE;AACpB,IAAA,OAAO,IAAI,CAACgK,QAAQ,CAACkkB,IAAI,GAAG,IAAI,CAAC/W,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,CAACpX,aAAa,CAAC;AACpE,EAAA;EAEAoX,IAAIA,CAACpX,aAAa,EAAE;IAClB,IAAI,IAAI,CAACgK,QAAQ,CAACkkB,IAAI,IAAI,IAAI,CAACxX,gBAAgB,EAAE;AAC/C,MAAA;AACF,IAAA;IAEA,MAAMwG,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE4L,YAAU,EAAE;AAAE5V,MAAAA;AAAc,KAAC,CAAC;IAEpF,IAAIkd,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC4I,gBAAgB,GAAG,IAAI;;AAE5B;AACA;AACA;AACA;AACA,IAAA,MAAM8a,QAAQ,GAAG/wB,OAAO,CAAC,IAAI,CAACwJ,OAAO,CAAC6jB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC7jB,OAAO,CAACqnB,MAAM;IAEvE,IAAI,CAACpE,YAAY,CAAC;AAChBC,MAAAA,KAAK,EAAEqE,QAAQ;AACfpE,MAAAA,iBAAiB,EAAE,CAAC,IAAI,CAACnjB,OAAO,CAACqnB;AACnC,KAAC,CAAC;;AAEF;AACA;IACA,IAAI,CAAC9mB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACkM,gBAAgB,GAAG,KAAK;MAC7BpY,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE6L,aAAW,EAAE;AAAE7V,QAAAA;AAAc,OAAC,CAAC;AACrE,IAAA,CAAC,EAAE,IAAI,CAACgK,QAAQ,EAAE,IAAI,CAAC;AACzB,EAAA;AAEAmN,EAAAA,IAAIA,GAAG;IACL,IAAI,CAAC,IAAI,CAACnN,QAAQ,CAACkkB,IAAI,IAAI,IAAI,CAACxX,gBAAgB,EAAE;AAChD,MAAA;AACF,IAAA;IAEA,MAAMsH,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8L,YAAU,CAAC;IAEjE,IAAIkI,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAAC4I,gBAAgB,GAAG,IAAI;;AAE5B;AACA;AACA;IACA,IAAI,CAAC4W,YAAY,EAAE;IAEnB,IAAI,CAAC9iB,cAAc,CAAC,MAAM;MACxB,IAAI,CAACkM,gBAAgB,GAAG,KAAK;MAC7BpY,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+L,cAAY,CAAC;AACnD,IAAA,CAAC,EAAE,IAAI,CAAC/L,QAAQ,EAAE,IAAI,CAAC;AACzB,EAAA;;AAEA;AACA2jB,EAAAA,mBAAmBA,GAAG;AACpB,IAAA,OAAO,kBAAkB;AAC3B,EAAA;AACF;;AAEA;AACA;AACA;;AAEArvB,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,sBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;AACrF,EAAA,MAAMY,MAAM,GAAGsM,cAAc,CAACmB,sBAAsB,CAAC,IAAI,CAAC;AAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACxL,QAAQ,CAAC,IAAI,CAAC8L,OAAO,CAAC,EAAE;IACxC3O,KAAK,CAAC4O,cAAc,EAAE;AACxB,EAAA;AAEA,EAAA,IAAI1G,UAAU,CAAC,IAAI,CAAC,EAAE;AACpB,IAAA;AACF,EAAA;AAEA9H,EAAAA,YAAY,CAAC2C,GAAG,CAACnC,MAAM,EAAEiX,cAAY,EAAE,MAAM;AAC3C;AACA,IAAA,IAAIlQ,SAAS,CAAC,IAAI,CAAC,EAAE;MACnB,IAAI,CAACyX,KAAK,EAAE;AACd,IAAA;AACF,EAAA,CAAC,CAAC;;AAEF;AACA,EAAA,MAAMmU,WAAW,GAAGrmB,cAAc,CAACG,OAAO,CAAC,wBAAwB,CAAC;AACpE,EAAA,IAAIkmB,WAAW,IAAIA,WAAW,KAAK3yB,MAAM,EAAE;IACzCyyB,SAAS,CAAC7mB,WAAW,CAAC+mB,WAAW,CAAC,CAACta,IAAI,EAAE;AAC3C,EAAA;AAEA,EAAA,MAAM/J,IAAI,GAAGmkB,SAAS,CAAC5mB,mBAAmB,CAAC7L,MAAM,CAAC;AAClDsO,EAAAA,IAAI,CAACiB,MAAM,CAAC,IAAI,CAAC;AACnB,CAAC,CAAC;AAEF/P,YAAY,CAAC0C,EAAE,CAACgD,MAAM,EAAEoN,qBAAmB,EAAE,MAAM;EACjD,KAAK,MAAMzS,QAAQ,IAAIyM,cAAc,CAAC7L,IAAI,CAAC,wBAAwB,CAAC,EAAE;IACpEgyB,SAAS,CAAC5mB,mBAAmB,CAAChM,QAAQ,CAAC,CAACyY,IAAI,EAAE;AAChD,EAAA;AACF,CAAC,CAAC;AAEF9Y,YAAY,CAAC0C,EAAE,CAACgD,MAAM,EAAEqtB,YAAY,EAAE,MAAM;EAC1C,KAAK,MAAMj1B,OAAO,IAAIgP,cAAc,CAAC7L,IAAI,CAAC,qCAAqC,CAAC,EAAE;IAChF,IAAI4F,gBAAgB,CAAC/I,OAAO,CAAC,CAAC4jB,QAAQ,KAAK,OAAO,EAAE;MAClDuR,SAAS,CAAC5mB,mBAAmB,CAACvO,OAAO,CAAC,CAAC+a,IAAI,EAAE;AAC/C,IAAA;AACF,EAAA;AACF,CAAC,CAAC;AAEF1K,oBAAoB,CAAC8kB,SAAS,CAAC;;AClL/B;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAM1oB,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,aAAa;AAC9B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAM0jB,qBAAqB,GAAG,CAAA,cAAA,EAAiBrnB,WAAS,CAAA,CAAE;AAE1D,MAAMsnB,sBAAsB,GAAG,oBAAoB;AAEnD,MAAMC,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AAE1D,MAAMjpB,SAAO,GAAG;AACdkpB,EAAAA,KAAK,EAAE,IAAI;AAAE;AACbC,EAAAA,SAAS,EAAE,CAAC;AACZC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,MAAM,EAAE;GACT;AACDC,EAAAA,OAAO,EAAE;AACPN,IAAAA,SAAS,EAAE,CAAC;AACZO,IAAAA,WAAW,EAAE,CAAC;AACdC,IAAAA,SAAS,EAAE,CAAC;AACZC,IAAAA,SAAS,EAAE,CAAC;AACZC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,eAAe,EAAE,CAAC;AAClBC,IAAAA,YAAY,EAAE;GACf;AACDC,EAAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAAE;EACvBC,MAAM,EAAE,IAAI;AACd,CAAC;AAED,MAAMjqB,aAAW,GAAG;AAClBipB,EAAAA,KAAK,EAAE,uBAAuB;AAC9BC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,QAAQ,EAAE,QAAQ;AAClBK,EAAAA,OAAO,EAAE,QAAQ;AACjBQ,EAAAA,UAAU,EAAE,OAAO;AACnBC,EAAAA,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAAS/oB,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAAC+pB,MAAM,GAAG,IAAI,CAACC,SAAS,EAAE;AAC9B,IAAA,IAAI,CAACC,SAAS,GAAG7nB,cAAc,CAAC7L,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAACyK,QAAQ,CAAC;AACxE,IAAA,IAAI,CAACkpB,YAAY,GAAG9nB,cAAc,CAACG,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAACvB,QAAQ,CAAC+lB,aAAa,CAAC;IACzF,IAAI,CAACoD,gBAAgB,GAAG,IAAI;IAE5B,IAAI,IAAI,CAACJ,MAAM,EAAE;MACf,IAAI,CAAC/f,kBAAkB,EAAE;AACzB;MACA,IAAI,CAACogB,SAAS,EAAE;AAClB,IAAA;AACF,EAAA;;AAEA;EACA,WAAWzqB,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAwqB,EAAAA,WAAWA,GAAG;IACZ,OAAO,IAAI,CAACF,gBAAgB;AAC9B,EAAA;AAEAG,EAAAA,QAAQA,GAAG;IACT,IAAI,CAACF,SAAS,EAAE;AAClB,EAAA;;AAEA;AACAJ,EAAAA,SAASA,GAAG;AACV,IAAA,IAAI,IAAI,CAAC/oB,OAAO,CAAC4nB,KAAK,EAAE;MACtB,OAAO,OAAO,IAAI,CAAC5nB,OAAO,CAAC4nB,KAAK,KAAK,QAAQ,GAC3CzmB,cAAc,CAACG,OAAO,CAAC,IAAI,CAACtB,OAAO,CAAC4nB,KAAK,CAAC,GAC1C,IAAI,CAAC5nB,OAAO,CAAC4nB,KAAK;AACtB,IAAA;;AAEA;AACA,IAAA,MAAMrb,MAAM,GAAG,IAAI,CAACxM,QAAQ,CAAC+lB,aAAa;AAC1C,IAAA,OAAO3kB,cAAc,CAACG,OAAO,CAAC,wBAAwB,EAAEiL,MAAM,CAAC;AACjE,EAAA;AAEAxD,EAAAA,kBAAkBA,GAAG;AACnB1U,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAACK,SAAS,EAAE,CAAC;AAC7D90B,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAACK,SAAS,EAAE,CAAC;AAChE,EAAA;AAEAA,EAAAA,SAASA,GAAG;AACV,IAAA,MAAMG,QAAQ,GAAG,IAAI,CAACR,MAAM,CAAC7wB,KAAK;AAClC,IAAA,MAAMsxB,KAAK,GAAG,IAAI,CAACC,eAAe,CAACF,QAAQ,CAAC;AAC5C,IAAA,MAAMG,QAAQ,GAAG,IAAI,CAACC,gBAAgB,CAACH,KAAK,CAAC;AAE7C,IAAA,IAAIE,QAAQ,KAAK,IAAI,CAACP,gBAAgB,EAAE;MACtC,IAAI,CAACA,gBAAgB,GAAGO,QAAQ;AAChC,MAAA,IAAI,CAACE,SAAS,CAACF,QAAQ,EAAEF,KAAK,CAAC;MAE/Bl1B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE0nB,qBAAqB,EAAE;QACzDgC,QAAQ;QACRF,KAAK;QACLD,QAAQ,EAAEA,QAAQ,CAAClyB,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;AAC5C,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;EAEAoyB,eAAeA,CAACF,QAAQ,EAAE;IACxB,IAAI,CAACA,QAAQ,EAAE;AACb,MAAA,OAAO,CAAC;AACV,IAAA;;AAEA;IACA,IAAI,OAAO,IAAI,CAACtpB,OAAO,CAAC4oB,MAAM,KAAK,UAAU,EAAE;AAC7C,MAAA,OAAO,IAAI,CAAC5oB,OAAO,CAAC4oB,MAAM,CAACU,QAAQ,CAAC;AACtC,IAAA;IAEA,MAAM;AAAEnB,MAAAA;KAAS,GAAG,IAAI,CAACnoB,OAAO;IAChC,IAAIupB,KAAK,GAAG,CAAC;;AAEb;IACA,IAAID,QAAQ,CAAClyB,MAAM,IAAI,IAAI,CAAC4I,OAAO,CAAC6nB,SAAS,EAAE;MAC7C0B,KAAK,IAAIpB,OAAO,CAACN,SAAS;AAC5B,IAAA;IAEA,IAAIyB,QAAQ,CAAClyB,MAAM,IAAI,IAAI,CAAC4I,OAAO,CAAC6nB,SAAS,GAAG,CAAC,EAAE;MACjD0B,KAAK,IAAIpB,OAAO,CAACC,WAAW;AAC9B,IAAA;;AAEA;AACA,IAAA,IAAI,OAAO,CAAC1oB,IAAI,CAAC4pB,QAAQ,CAAC,EAAE;MAC1BC,KAAK,IAAIpB,OAAO,CAACE,SAAS;AAC5B,IAAA;AAEA,IAAA,IAAI,OAAO,CAAC3oB,IAAI,CAAC4pB,QAAQ,CAAC,EAAE;MAC1BC,KAAK,IAAIpB,OAAO,CAACG,SAAS;AAC5B,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC5oB,IAAI,CAAC4pB,QAAQ,CAAC,EAAE;MACvBC,KAAK,IAAIpB,OAAO,CAACI,OAAO;AAC1B,IAAA;;AAEA;AACA,IAAA,IAAI,wBAAwB,CAAC7oB,IAAI,CAAC4pB,QAAQ,CAAC,EAAE;MAC3CC,KAAK,IAAIpB,OAAO,CAACK,OAAO;AAC1B,IAAA;;AAEA;AACA,IAAA,IAAI,gDAAgD,CAAC9oB,IAAI,CAAC4pB,QAAQ,CAAC,EAAE;MACnEC,KAAK,IAAIpB,OAAO,CAACM,eAAe;AAClC,IAAA;AAEA,IAAA,IAAIa,QAAQ,CAAClyB,MAAM,IAAI,EAAE,EAAE;MACzBmyB,KAAK,IAAIpB,OAAO,CAACO,YAAY;AAC/B,IAAA;AAEA,IAAA,OAAOa,KAAK;AACd,EAAA;EAEAG,gBAAgBA,CAACH,KAAK,EAAE;IACtB,IAAIA,KAAK,KAAK,CAAC,EAAE;AACf,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,MAAM,CAACxB,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC,GAAG,IAAI,CAACjoB,OAAO,CAAC2oB,UAAU;IAElD,IAAIY,KAAK,IAAIxB,IAAI,EAAE;AACjB,MAAA,OAAO,MAAM;AACf,IAAA;IAEA,IAAIwB,KAAK,IAAIvB,IAAI,EAAE;AACjB,MAAA,OAAO,MAAM;AACf,IAAA;IAEA,IAAIuB,KAAK,IAAItB,IAAI,EAAE;AACjB,MAAA,OAAO,MAAM;AACf,IAAA;AAEA,IAAA,OAAO,QAAQ;AACjB,EAAA;EAEA0B,SAASA,CAACF,QAAQ,EAAE;AAClB;AACA,IAAA,IAAIA,QAAQ,EAAE;AACZ,MAAA,IAAI,CAAC1pB,QAAQ,CAAC1G,OAAO,CAACuwB,UAAU,GAAGH,QAAQ;AAC7C,IAAA,CAAC,MAAM;AACL,MAAA,OAAO,IAAI,CAAC1pB,QAAQ,CAAC1G,OAAO,CAACuwB,UAAU;AACzC,IAAA;;AAEA;AACA,IAAA,MAAMC,aAAa,GAAGJ,QAAQ,GAAG9B,eAAe,CAACrpB,OAAO,CAACmrB,QAAQ,CAAC,GAAG,EAAE;AAEvE,IAAA,KAAK,MAAM,CAACprB,KAAK,EAAEyrB,OAAO,CAAC,IAAI,IAAI,CAACd,SAAS,CAACnyB,OAAO,EAAE,EAAE;MACvD,IAAIwH,KAAK,IAAIwrB,aAAa,EAAE;AAC1BC,QAAAA,OAAO,CAACxtB,SAAS,CAAC4J,GAAG,CAAC,QAAQ,CAAC;AACjC,MAAA,CAAC,MAAM;AACL4jB,QAAAA,OAAO,CAACxtB,SAAS,CAACvJ,MAAM,CAAC,QAAQ,CAAC;AACpC,MAAA;AACF,IAAA;;AAEA;IACA,IAAI,IAAI,CAACk2B,YAAY,EAAE;MACrB,IAAIQ,QAAQ,IAAI,IAAI,CAACzpB,OAAO,CAAC8nB,QAAQ,CAAC2B,QAAQ,CAAC,EAAE;AAC/C,QAAA,IAAI,CAACR,YAAY,CAACvM,WAAW,GAAG,IAAI,CAAC1c,OAAO,CAAC8nB,QAAQ,CAAC2B,QAAQ,CAAC;AAC/D,QAAA,IAAI,CAACR,YAAY,CAAC5vB,OAAO,CAACuwB,UAAU,GAAGH,QAAQ;;AAE/C;AACA,QAAA,MAAMM,QAAQ,GAAG;AACfhC,UAAAA,IAAI,EAAE,QAAQ;AACdC,UAAAA,IAAI,EAAE,SAAS;AACfC,UAAAA,IAAI,EAAE,MAAM;AACZC,UAAAA,MAAM,EAAE;SACT;AACD,QAAA,IAAI,CAACe,YAAY,CAACvb,KAAK,CAACsc,WAAW,CAAC,kBAAkB,EAAE,SAASD,QAAQ,CAACN,QAAQ,CAAC,QAAQ,CAAC;AAC9F,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACR,YAAY,CAACvM,WAAW,GAAG,EAAE;AAClC,QAAA,OAAO,IAAI,CAACuM,YAAY,CAAC5vB,OAAO,CAACuwB,UAAU;AAC7C,MAAA;AACF,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEAv1B,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM5R,OAAO,IAAIgP,cAAc,CAAC7L,IAAI,CAACoyB,sBAAsB,CAAC,EAAE;AACjEmB,IAAAA,QAAQ,CAACnoB,mBAAmB,CAACvO,OAAO,CAAC;AACvC,EAAA;AACF,CAAC,CAAC;;AClQF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMyM,MAAI,GAAG,UAAU;AACvB,MAAMsB,UAAQ,GAAG,cAAc;AAC/B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAMkmB,cAAc,GAAG,CAAA,QAAA,EAAW7pB,WAAS,CAAA,CAAE;AAC7C,MAAM8pB,WAAW,GAAG,CAAA,KAAA,EAAQ9pB,WAAS,CAAA,CAAE;AAEvC,MAAM+pB,iBAAiB,GAAG,eAAe;AACzC,MAAMC,cAAc,GAAG,OAAO;AAE9B,MAAM1rB,SAAO,GAAG;AACdtH,EAAAA,MAAM,EAAE,CAAC;AACTizB,EAAAA,IAAI,EAAE;AACR,CAAC;AAED,MAAM1rB,aAAW,GAAG;AAClBvH,EAAAA,MAAM,EAAE,QAAQ;AAChBizB,EAAAA,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,QAAQ,SAASxqB,aAAa,CAAC;AACnCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAACwrB,OAAO,GAAGppB,cAAc,CAAC7L,IAAI,CAAC80B,cAAc,EAAE,IAAI,CAACrqB,QAAQ,CAAC;IACjE,IAAI,CAACyqB,YAAY,EAAE;IACnB,IAAI,CAACzhB,kBAAkB,EAAE;AAC3B,EAAA;;AAEA;EACA,WAAWrK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA6rB,EAAAA,QAAQA,GAAG;AACT,IAAA,OAAO,IAAI,CAACF,OAAO,CAACvpB,GAAG,CAAC4mB,KAAK,IAAIA,KAAK,CAAC3vB,KAAK,CAAC,CAACiJ,IAAI,CAAC,EAAE,CAAC;AACxD,EAAA;EAEAwpB,QAAQA,CAACzyB,KAAK,EAAE;IACd,MAAM0yB,KAAK,GAAGnI,MAAM,CAACvqB,KAAK,CAAC,CAACqD,KAAK,CAAC,EAAE,CAAC;AACrC,IAAA,KAAK,MAAM,CAAC+C,KAAK,EAAEupB,KAAK,CAAC,IAAI,IAAI,CAAC2C,OAAO,CAAC1zB,OAAO,EAAE,EAAE;MACnD+wB,KAAK,CAAC3vB,KAAK,GAAG0yB,KAAK,CAACtsB,KAAK,CAAC,IAAI,EAAE;AAClC,IAAA;IAEA,IAAI,CAACusB,cAAc,EAAE;AACvB,EAAA;AAEAlT,EAAAA,KAAKA,GAAG;AACN,IAAA,KAAK,MAAMkQ,KAAK,IAAI,IAAI,CAAC2C,OAAO,EAAE;MAChC3C,KAAK,CAAC3vB,KAAK,GAAG,EAAE;AAClB,IAAA;IAEA,IAAI,CAACsyB,OAAO,CAAC,CAAC,CAAC,EAAElX,KAAK,EAAE;AAC1B,EAAA;AAEAA,EAAAA,KAAKA,GAAG;AACN;AACA,IAAA,MAAMwX,UAAU,GAAG,IAAI,CAACN,OAAO,CAACj1B,IAAI,CAACsyB,KAAK,IAAI,CAACA,KAAK,CAAC3vB,KAAK,CAAC;AAC3D,IAAA,IAAI4yB,UAAU,EAAE;MACdA,UAAU,CAACxX,KAAK,EAAE;AACpB,IAAA,CAAC,MAAM;MACL,IAAI,CAACkX,OAAO,CAACO,EAAE,CAAC,EAAE,CAAC,EAAEzX,KAAK,EAAE;AAC9B,IAAA;AACF,EAAA;;AAEA;AACAmX,EAAAA,YAAYA,GAAG;AACb,IAAA,KAAK,MAAM5C,KAAK,IAAI,IAAI,CAAC2C,OAAO,EAAE;AAChC;AACA3C,MAAAA,KAAK,CAAC7uB,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC;AACpC6uB,MAAAA,KAAK,CAAC7uB,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC;AAC1C6uB,MAAAA,KAAK,CAAC7uB,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;;AAErC;MACA,IAAI6uB,KAAK,KAAK,IAAI,CAAC2C,OAAO,CAAC,CAAC,CAAC,EAAE;AAC7B3C,QAAAA,KAAK,CAAC7uB,YAAY,CAAC,cAAc,EAAE,eAAe,CAAC;AACrD,MAAA,CAAC,MAAM;AACL6uB,QAAAA,KAAK,CAAC7uB,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC;AAC3C,MAAA;;AAEA;AACA,MAAA,IAAI,IAAI,CAACiH,OAAO,CAACqqB,IAAI,EAAE;AACrBzC,QAAAA,KAAK,CAAC7uB,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;AACxC,MAAA;AACF,IAAA;AACF,EAAA;AAEAgQ,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,KAAK,MAAM,CAAC1K,KAAK,EAAEupB,KAAK,CAAC,IAAI,IAAI,CAAC2C,OAAO,CAAC1zB,OAAO,EAAE,EAAE;AACnDxC,MAAAA,YAAY,CAAC0C,EAAE,CAAC6wB,KAAK,EAAE,OAAO,EAAE3zB,KAAK,IAAI,IAAI,CAAC82B,YAAY,CAAC92B,KAAK,EAAEoK,KAAK,CAAC,CAAC;AACzEhK,MAAAA,YAAY,CAAC0C,EAAE,CAAC6wB,KAAK,EAAE,SAAS,EAAE3zB,KAAK,IAAI,IAAI,CAAC+2B,cAAc,CAAC/2B,KAAK,EAAEoK,KAAK,CAAC,CAAC;AAC7EhK,MAAAA,YAAY,CAAC0C,EAAE,CAAC6wB,KAAK,EAAE,OAAO,EAAE3zB,KAAK,IAAI,IAAI,CAACg3B,YAAY,CAACh3B,KAAK,CAAC,CAAC;AAClEI,MAAAA,YAAY,CAAC0C,EAAE,CAAC6wB,KAAK,EAAE,OAAO,EAAE3zB,KAAK,IAAI,IAAI,CAACi3B,YAAY,CAACj3B,KAAK,CAAC,CAAC;AACpE,IAAA;AACF,EAAA;AAEA82B,EAAAA,YAAYA,CAAC92B,KAAK,EAAEoK,KAAK,EAAE;AACzB,IAAA,MAAMupB,KAAK,GAAG3zB,KAAK,CAACY,MAAM;;AAE1B;IACA,IAAI,CAAC,OAAO,CAAC6K,IAAI,CAACkoB,KAAK,CAAC3vB,KAAK,CAAC,EAAE;AAC9B2vB,MAAAA,KAAK,CAAC3vB,KAAK,GAAG2vB,KAAK,CAAC3vB,KAAK,CAAC7B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC9C,IAAA;IAEA,MAAM;AAAE6B,MAAAA;AAAM,KAAC,GAAG2vB,KAAK;;AAEvB;AACA,IAAA,IAAI3vB,KAAK,CAACb,MAAM,GAAG,CAAC,EAAE;AACpB;AACA,MAAA,MAAMuzB,KAAK,GAAG1yB,KAAK,CAACqD,KAAK,CAAC,EAAE,CAAC;MAC7BssB,KAAK,CAAC3vB,KAAK,GAAG0yB,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;MAE5B,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,KAAK,CAACvzB,MAAM,IAAIiH,KAAK,GAAG8sB,CAAC,GAAG,IAAI,CAACZ,OAAO,CAACnzB,MAAM,EAAE+zB,CAAC,EAAE,EAAE;AACxE,QAAA,IAAI,CAACZ,OAAO,CAAClsB,KAAK,GAAG8sB,CAAC,CAAC,CAAClzB,KAAK,GAAG0yB,KAAK,CAACQ,CAAC,CAAC;AAC1C,MAAA;;AAEA;AACA,MAAA,MAAMC,SAAS,GAAG1wB,IAAI,CAAC8D,GAAG,CAACH,KAAK,GAAGssB,KAAK,CAACvzB,MAAM,EAAE,IAAI,CAACmzB,OAAO,CAACnzB,MAAM,GAAG,CAAC,CAAC;MACzE,IAAI,CAACmzB,OAAO,CAACa,SAAS,CAAC,CAAC/X,KAAK,EAAE;AACjC,IAAA,CAAC,MAAM,IAAIpb,KAAK,IAAIoG,KAAK,GAAG,IAAI,CAACksB,OAAO,CAACnzB,MAAM,GAAG,CAAC,EAAE;AACnD;MACA,IAAI,CAACmzB,OAAO,CAAClsB,KAAK,GAAG,CAAC,CAAC,CAACgV,KAAK,EAAE;AACjC,IAAA;IAEAhf,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEmqB,WAAW,EAAE;AAC/CjyB,MAAAA,KAAK,EAAE,IAAI,CAACwyB,QAAQ,EAAE;AACtBpsB,MAAAA;AACF,KAAC,CAAC;IAEF,IAAI,CAACusB,cAAc,EAAE;AACvB,EAAA;AAEAI,EAAAA,cAAcA,CAAC/2B,KAAK,EAAEoK,KAAK,EAAE;IAC3B,MAAM;AAAEjM,MAAAA;AAAI,KAAC,GAAG6B,KAAK;AAErB,IAAA,QAAQ7B,GAAG;AACT,MAAA,KAAK,WAAW;AAAE,QAAA;AAChB,UAAA,IAAI,CAAC,IAAI,CAACm4B,OAAO,CAAClsB,KAAK,CAAC,CAACpG,KAAK,IAAIoG,KAAK,GAAG,CAAC,EAAE;AAC3C;YACApK,KAAK,CAAC4O,cAAc,EAAE;YACtB,IAAI,CAAC0nB,OAAO,CAAClsB,KAAK,GAAG,CAAC,CAAC,CAACpG,KAAK,GAAG,EAAE;YAClC,IAAI,CAACsyB,OAAO,CAAClsB,KAAK,GAAG,CAAC,CAAC,CAACgV,KAAK,EAAE;AACjC,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,QAAQ;AAAE,QAAA;AACb;UACApf,KAAK,CAAC4O,cAAc,EAAE;AACtB,UAAA,KAAK,IAAIsoB,CAAC,GAAG9sB,KAAK,EAAE8sB,CAAC,GAAG,IAAI,CAACZ,OAAO,CAACnzB,MAAM,GAAG,CAAC,EAAE+zB,CAAC,EAAE,EAAE;AACpD,YAAA,IAAI,CAACZ,OAAO,CAACY,CAAC,CAAC,CAAClzB,KAAK,GAAG,IAAI,CAACsyB,OAAO,CAACY,CAAC,GAAG,CAAC,CAAC,CAAClzB,KAAK;AACnD,UAAA;UAEA,IAAI,CAACsyB,OAAO,CAACO,EAAE,CAAC,EAAE,CAAC,CAAC7yB,KAAK,GAAG,EAAE;AAC9B,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAAE,QAAA;UAChB,IAAIoG,KAAK,GAAG,CAAC,EAAE;YACbpK,KAAK,CAAC4O,cAAc,EAAE;YACtB,IAAI,CAAC0nB,OAAO,CAAClsB,KAAK,GAAG,CAAC,CAAC,CAACgV,KAAK,EAAE;AACjC,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,YAAY;AAAE,QAAA;UACjB,IAAIhV,KAAK,GAAG,IAAI,CAACksB,OAAO,CAACnzB,MAAM,GAAG,CAAC,EAAE;YACnCnD,KAAK,CAAC4O,cAAc,EAAE;YACtB,IAAI,CAAC0nB,OAAO,CAAClsB,KAAK,GAAG,CAAC,CAAC,CAACgV,KAAK,EAAE;AACjC,UAAA;AAEA,UAAA;AACF,QAAA;;AAEA;AACF;AACF,EAAA;EAEA4X,YAAYA,CAACh3B,KAAK,EAAE;IAClBA,KAAK,CAAC4O,cAAc,EAAE;AACtB,IAAA,MAAMwoB,UAAU,GAAG,CAACp3B,KAAK,CAACq3B,aAAa,IAAIvxB,MAAM,CAACuxB,aAAa,EAAEC,OAAO,CAAC,MAAM,CAAC;IAChF,MAAMC,MAAM,GAAGH,UAAU,CAACj1B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACkB,KAAK,CAAC,CAAC,EAAE,IAAI,CAACizB,OAAO,CAACnzB,MAAM,CAAC;AAE1E,IAAA,IAAIo0B,MAAM,EAAE;AACV,MAAA,IAAI,CAACd,QAAQ,CAACc,MAAM,CAAC;;AAErB;AACA,MAAA,MAAMC,SAAS,GAAG/wB,IAAI,CAAC8D,GAAG,CAACgtB,MAAM,CAACp0B,MAAM,EAAE,IAAI,CAACmzB,OAAO,CAACnzB,MAAM,CAAC,GAAG,CAAC;MAClE,IAAI,CAACmzB,OAAO,CAACkB,SAAS,CAAC,CAACpY,KAAK,EAAE;AACjC,IAAA;AACF,EAAA;EAEA6X,YAAYA,CAACj3B,KAAK,EAAE;AAClB;AACAA,IAAAA,KAAK,CAACY,MAAM,CAAC62B,MAAM,EAAE;AACvB,EAAA;AAEAd,EAAAA,cAAcA,GAAG;AACf,IAAA,MAAM3yB,KAAK,GAAG,IAAI,CAACwyB,QAAQ,EAAE;IAC7B,MAAMkB,UAAU,GAAG1zB,KAAK,CAACb,MAAM,KAAK,IAAI,CAACmzB,OAAO,CAACnzB,MAAM,IACrD,IAAI,CAACmzB,OAAO,CAACqB,KAAK,CAAChE,KAAK,IAAIA,KAAK,CAAC3vB,KAAK,KAAK,EAAE,CAAC;AAEjD,IAAA,IAAI0zB,UAAU,EAAE;MACdt3B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEkqB,cAAc,EAAE;AAAEhyB,QAAAA;AAAM,OAAC,CAAC;AAChE,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA5D,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM5R,OAAO,IAAIgP,cAAc,CAAC7L,IAAI,CAAC60B,iBAAiB,CAAC,EAAE;AAC5DG,IAAAA,QAAQ,CAAC5pB,mBAAmB,CAACvO,OAAO,CAAC;AACvC,EAAA;AACF,CAAC,CAAC;;ACvPF;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMyM,MAAI,GAAG,WAAW;AACxB,MAAMsB,UAAQ,GAAG,eAAe;AAChC,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,cAAY,GAAG,WAAW;AAEhC,MAAM8nB,SAAS,GAAG,CAAA,GAAA,EAAMzrB,WAAS,CAAA,CAAE;AACnC,MAAM0rB,YAAY,GAAG,CAAA,MAAA,EAAS1rB,WAAS,CAAA,CAAE;AACzC,MAAMka,YAAY,GAAG,CAAA,MAAA,EAASla,WAAS,CAAA,CAAE;AACzC,MAAM2rB,YAAY,GAAG,CAAA,MAAA,EAAS3rB,WAAS,CAAA,CAAE;AAEzC,MAAM4rB,wBAAwB,GAAG,sBAAsB;AACvD,MAAMC,oBAAoB,GAAG,aAAa;AAC1C,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,qBAAqB,GAAG,eAAe;AAE7C,MAAMC,eAAe,GAAG,MAAM;AAC9B,MAAMC,uBAAuB,GAAG,cAAc;AAC9C,MAAMroB,mBAAiB,GAAG,QAAQ;AAElC,MAAMsoB,oBAAoB,GAAG,+OAA+O;AAE5Q,MAAM5tB,SAAO,GAAG;AACd0jB,EAAAA,SAAS,EAAE,GAAG;AACdmK,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,QAAQ,EAAE,IAAI;AACd1R,EAAAA,WAAW,EAAE,EAAE;AACf2R,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,WAAW,EAAEJ,oBAAoB;AACjCK,EAAAA,YAAY,EAAE;AAChB,CAAC;AAED,MAAMhuB,aAAW,GAAG;AAClByjB,EAAAA,SAAS,EAAE,eAAe;AAC1BmK,EAAAA,eAAe,EAAE,SAAS;AAC1BC,EAAAA,QAAQ,EAAE,eAAe;AACzB1R,EAAAA,WAAW,EAAE,QAAQ;AACrB2R,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,QAAQ;AACrBC,EAAAA,YAAY,EAAE;AAChB,CAAC;;AAED;AACA;AACA;;AAEA,MAAMC,SAAS,SAAS9sB,aAAa,CAAC;AACpCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;AAEtB,IAAA,IAAI,CAAC+pB,MAAM,GAAG3nB,cAAc,CAACG,OAAO,CAAC2qB,oBAAoB,EAAE,IAAI,CAAClsB,QAAQ,CAAC;IACzE,IAAI,CAAC8sB,MAAM,GAAG,EAAE;AAChB,IAAA,IAAI,CAACC,cAAc,GAAG,IAAIp5B,GAAG,EAAE;AAC/B,IAAA,IAAI,CAACq5B,WAAW,GAAG,IAAI,CAAA;;AAEvB,IAAA,IAAI,CAAC,IAAI,CAACjE,MAAM,EAAE;MAChB,IAAI,CAACkE,YAAY,EAAE;AACrB,IAAA;IAEA,IAAI,CAACC,wBAAwB,EAAE;IAC/B,IAAI,CAAClkB,kBAAkB,EAAE;AAC3B,EAAA;;AAEA;EACA,WAAWrK,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;EACAsH,GAAGA,CAACjO,KAAK,EAAE;IACT,MAAMi1B,YAAY,GAAG1K,MAAM,CAACvqB,KAAK,CAAC,CAAC8I,IAAI,EAAE;IAEzC,IAAI,CAACmsB,YAAY,EAAE;AACjB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACA,IAAA,IAAI,CAAC,IAAI,CAACltB,OAAO,CAACusB,eAAe,IAAI,IAAI,CAACM,MAAM,CAAC/1B,QAAQ,CAACo2B,YAAY,CAAC,EAAE;AACvE,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACA,IAAA,IAAI,IAAI,CAACltB,OAAO,CAACwsB,QAAQ,KAAK,IAAI,IAAI,IAAI,CAACK,MAAM,CAACz1B,MAAM,IAAI,IAAI,CAAC4I,OAAO,CAACwsB,QAAQ,EAAE;AACjF,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,MAAMW,QAAQ,GAAG94B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8rB,SAAS,EAAE;AAC9D5zB,MAAAA,KAAK,EAAEi1B,YAAY;MACnBn3B,aAAa,EAAE,IAAI,CAAC+yB;AACtB,KAAC,CAAC;IAEF,IAAIqE,QAAQ,CAACtpB,gBAAgB,EAAE;AAC7B,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,MAAMupB,IAAI,GAAG,IAAI,CAACC,WAAW,CAACH,YAAY,CAAC;IAC3C,IAAI,CAACntB,QAAQ,CAAC8b,YAAY,CAACuR,IAAI,EAAE,IAAI,CAACtE,MAAM,CAAC;AAC7C,IAAA,IAAI,CAAC+D,MAAM,CAACjrB,IAAI,CAACsrB,YAAY,CAAC;IAE9B74B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEua,YAAY,EAAE;AAChDjlB,MAAAA,MAAM,EAAE,IAAI,CAACi4B,SAAS;AACxB,KAAC,CAAC;AAEF,IAAA,OAAOF,IAAI;AACb,EAAA;EAEAr6B,MAAMA,CAACw6B,WAAW,EAAE;AAClB,IAAA,IAAIH,IAAI;AACR,IAAA,IAAIn1B,KAAK;AAET,IAAA,IAAI,OAAOs1B,WAAW,KAAK,QAAQ,EAAE;AACnCt1B,MAAAA,KAAK,GAAGs1B,WAAW;AACnBH,MAAAA,IAAI,GAAG,IAAI,CAACI,gBAAgB,CAACv1B,KAAK,CAAC;AACrC,IAAA,CAAC,MAAM;AACLm1B,MAAAA,IAAI,GAAGG,WAAW;AAClBt1B,MAAAA,KAAK,GAAG,IAAI,CAACw1B,aAAa,CAACL,IAAI,CAAC;AAClC,IAAA;AAEA,IAAA,IAAI,CAACA,IAAI,IAAI,CAACn1B,KAAK,EAAE;AACnB,MAAA,OAAO,KAAK;AACd,IAAA;IAEA,MAAMy1B,WAAW,GAAGr5B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+rB,YAAY,EAAE;MACpE7zB,KAAK;MACLm1B,IAAI;MACJr3B,aAAa,EAAE,IAAI,CAAC+yB;AACtB,KAAC,CAAC;IAEF,IAAI4E,WAAW,CAAC7pB,gBAAgB,EAAE;AAChC,MAAA,OAAO,KAAK;AACd,IAAA;;AAEA;AACA,IAAA,IAAI,CAACipB,cAAc,CAAC95B,MAAM,CAACo6B,IAAI,CAAC;AAChC,IAAA,IAAI,IAAI,CAACL,WAAW,KAAKK,IAAI,EAAE;MAC7B,IAAI,CAACL,WAAW,GAAG,IAAI;AACzB,IAAA;;AAEA;IACAK,IAAI,CAACr6B,MAAM,EAAE;AACb,IAAA,IAAI,CAAC85B,MAAM,GAAG,IAAI,CAACA,MAAM,CAACvzB,MAAM,CAACq0B,CAAC,IAAIA,CAAC,KAAK11B,KAAK,CAAC;IAElD5D,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEua,YAAY,EAAE;AAChDjlB,MAAAA,MAAM,EAAE,IAAI,CAACi4B,SAAS;AACxB,KAAC,CAAC;AAEF,IAAA,OAAO,IAAI;AACb,EAAA;AAEAM,EAAAA,cAAcA,GAAG;AACf,IAAA,MAAMC,aAAa,GAAG,CAAC,GAAG,IAAI,CAACf,cAAc,CAAC;AAC9C,IAAA,KAAK,MAAMM,IAAI,IAAIS,aAAa,EAAE;AAChC,MAAA,IAAI,CAAC96B,MAAM,CAACq6B,IAAI,CAAC;AACnB,IAAA;AAEA,IAAA,IAAI,CAACtE,MAAM,EAAEzV,KAAK,EAAE;AACtB,EAAA;AAEAia,EAAAA,SAASA,GAAG;AACV,IAAA,OAAO,CAAC,GAAG,IAAI,CAACT,MAAM,CAAC;AACzB,EAAA;AAEAiB,EAAAA,iBAAiBA,GAAG;AAClB,IAAA,OAAO,CAAC,GAAG,IAAI,CAAChB,cAAc,CAAC,CAAC9rB,GAAG,CAACosB,IAAI,IAAI,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC,CAAC;AACvE,EAAA;AAEA1V,EAAAA,KAAKA,GAAG;IACN,MAAMqW,KAAK,GAAG5sB,cAAc,CAAC7L,IAAI,CAAC42B,aAAa,EAAE,IAAI,CAACnsB,QAAQ,CAAC;AAC/D,IAAA,KAAK,MAAMqtB,IAAI,IAAIW,KAAK,EAAE;MACxBX,IAAI,CAACr6B,MAAM,EAAE;AACf,IAAA;IAEA,IAAI,CAAC85B,MAAM,GAAG,EAAE;AAChB,IAAA,IAAI,CAACC,cAAc,CAACpV,KAAK,EAAE;IAC3B,IAAI,CAACqV,WAAW,GAAG,IAAI;IAEvB14B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEua,YAAY,EAAE;AAChDjlB,MAAAA,MAAM,EAAE;AACV,KAAC,CAAC;AACJ,EAAA;AAEA24B,EAAAA,cAAcA,GAAG;AACf,IAAA,KAAK,MAAMZ,IAAI,IAAI,IAAI,CAACN,cAAc,EAAE;AACtCM,MAAAA,IAAI,CAAC9wB,SAAS,CAACvJ,MAAM,CAACiR,mBAAiB,CAAC;AAC1C,IAAA;AAEA,IAAA,IAAI,CAAC8oB,cAAc,CAACpV,KAAK,EAAE;IAC3B,IAAI,CAACqV,WAAW,GAAG,IAAI;IAEvB14B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEgsB,YAAY,EAAE;AAChDhe,MAAAA,QAAQ,EAAE;AACZ,KAAC,CAAC;AACJ,EAAA;AAEAkgB,EAAAA,UAAUA,CAACb,IAAI,EAAEc,OAAO,GAAG,EAAE,EAAE;IAC7B,MAAM;AAAEC,MAAAA,cAAc,GAAG,KAAK;AAAEC,MAAAA,WAAW,GAAG;AAAM,KAAC,GAAGF,OAAO;AAC/D,IAAA,MAAMG,YAAY,GAAG,IAAI,CAACC,gBAAgB,EAAE;AAE5C,IAAA,IAAI,CAACD,YAAY,CAACv3B,QAAQ,CAACs2B,IAAI,CAAC,EAAE;AAChC,MAAA;AACF,IAAA;AAEA,IAAA,IAAIgB,WAAW,IAAI,IAAI,CAACrB,WAAW,EAAE;AACnC;MACA,MAAMwB,WAAW,GAAGF,YAAY,CAAC/vB,OAAO,CAAC,IAAI,CAACyuB,WAAW,CAAC;AAC1D,MAAA,MAAMyB,SAAS,GAAGH,YAAY,CAAC/vB,OAAO,CAAC8uB,IAAI,CAAC;MAC5C,MAAMqB,KAAK,GAAG/zB,IAAI,CAAC8D,GAAG,CAAC+vB,WAAW,EAAEC,SAAS,CAAC;MAC9C,MAAME,GAAG,GAAGh0B,IAAI,CAAC6D,GAAG,CAACgwB,WAAW,EAAEC,SAAS,CAAC;MAE5C,IAAI,CAACL,cAAc,EAAE;QACnB,IAAI,CAACH,cAAc,EAAE;AACvB,MAAA;MAEA,KAAK,IAAI7C,CAAC,GAAGsD,KAAK,EAAEtD,CAAC,IAAIuD,GAAG,EAAEvD,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC2B,cAAc,CAAC5mB,GAAG,CAACmoB,YAAY,CAAClD,CAAC,CAAC,CAAC;QACxCkD,YAAY,CAAClD,CAAC,CAAC,CAAC7uB,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;AAClD,MAAA;IACF,CAAC,MAAM,IAAImqB,cAAc,EAAE;AACzB;MACA,IAAI,IAAI,CAACrB,cAAc,CAACx6B,GAAG,CAAC86B,IAAI,CAAC,EAAE;AACjC,QAAA,IAAI,CAACN,cAAc,CAAC95B,MAAM,CAACo6B,IAAI,CAAC;AAChCA,QAAAA,IAAI,CAAC9wB,SAAS,CAACvJ,MAAM,CAACiR,mBAAiB,CAAC;AAC1C,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAAC8oB,cAAc,CAAC5mB,GAAG,CAACknB,IAAI,CAAC;AAC7BA,QAAAA,IAAI,CAAC9wB,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;QACrC,IAAI,CAAC+oB,WAAW,GAAGK,IAAI;AACzB,MAAA;AACF,IAAA,CAAC,MAAM;AACL;MACA,IAAI,CAACY,cAAc,EAAE;AACrB,MAAA,IAAI,CAAClB,cAAc,CAAC5mB,GAAG,CAACknB,IAAI,CAAC;AAC7BA,MAAAA,IAAI,CAAC9wB,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;MACrC,IAAI,CAAC+oB,WAAW,GAAGK,IAAI;AACzB,IAAA;IAEA/4B,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEgsB,YAAY,EAAE;AAChDhe,MAAAA,QAAQ,EAAE,IAAI,CAAC+f,iBAAiB;AAClC,KAAC,CAAC;AACJ,EAAA;AAEAza,EAAAA,KAAKA,GAAG;AACN,IAAA,IAAI,CAACyV,MAAM,EAAEzV,KAAK,EAAE;AACtB,EAAA;;AAEA;AACAib,EAAAA,gBAAgBA,GAAG;IACjB,OAAOntB,cAAc,CAAC7L,IAAI,CAAC42B,aAAa,EAAE,IAAI,CAACnsB,QAAQ,CAAC;AAC1D,EAAA;AAEAitB,EAAAA,YAAYA,GAAG;AACb,IAAA,MAAMpF,KAAK,GAAG/sB,QAAQ,CAAC+gB,aAAa,CAAC,OAAO,CAAC;IAC7CgM,KAAK,CAACrzB,IAAI,GAAG,MAAM;IACnBqzB,KAAK,CAACzB,SAAS,GAAG,YAAY;AAC9B,IAAA,IAAI,IAAI,CAACnmB,OAAO,CAAC8a,WAAW,EAAE;AAC5B8M,MAAAA,KAAK,CAAC9M,WAAW,GAAG,IAAI,CAAC9a,OAAO,CAAC8a,WAAW;AAC9C,IAAA;AAEA,IAAA,IAAI,CAAC/a,QAAQ,CAAC4V,MAAM,CAACiS,KAAK,CAAC;IAC3B,IAAI,CAACkB,MAAM,GAAGlB,KAAK;AACrB,EAAA;AAEAqF,EAAAA,wBAAwBA,GAAG;IACzB,MAAM0B,aAAa,GAAGxtB,cAAc,CAAC7L,IAAI,CAAC42B,aAAa,EAAE,IAAI,CAACnsB,QAAQ,CAAC;AACvE,IAAA,KAAK,MAAMqtB,IAAI,IAAIuB,aAAa,EAAE;AAChC,MAAA,MAAM12B,KAAK,GAAG,IAAI,CAACw1B,aAAa,CAACL,IAAI,CAAC;AACtC,MAAA,IAAIn1B,KAAK,EAAE;AACT,QAAA,IAAI,CAAC40B,MAAM,CAACjrB,IAAI,CAAC3J,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC22B,UAAU,CAACxB,IAAI,CAAC;AACvB,MAAA;AACF,IAAA;AACF,EAAA;EAEAwB,UAAUA,CAACxB,IAAI,EAAE;AACf;AACAA,IAAAA,IAAI,CAACr0B,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;;AAElC;AACA,IAAA,IAAI,IAAI,CAACiH,OAAO,CAACysB,WAAW,IAAI,CAACtrB,cAAc,CAACG,OAAO,CAAC6qB,qBAAqB,EAAEiB,IAAI,CAAC,EAAE;MACpFA,IAAI,CAACzX,MAAM,CAAC,IAAI,CAACkZ,oBAAoB,EAAE,CAAC;AAC1C,IAAA;AACF,EAAA;EAEAxB,WAAWA,CAACp1B,KAAK,EAAE;AACjB,IAAA,MAAMm1B,IAAI,GAAGvyB,QAAQ,CAAC+gB,aAAa,CAAC,MAAM,CAAC;IAC3CwR,IAAI,CAACjH,SAAS,GAAGiG,eAAe;AAChCgB,IAAAA,IAAI,CAAC/zB,OAAO,CAACy1B,WAAW,GAAG72B,KAAK;;AAEhC;IACAm1B,IAAI,CAACzX,MAAM,CAAC9a,QAAQ,CAACk0B,cAAc,CAAC92B,KAAK,CAAC,CAAC;;AAE3C;AACA,IAAA,IAAI,CAAC22B,UAAU,CAACxB,IAAI,CAAC;AAErB,IAAA,OAAOA,IAAI;AACb,EAAA;AAEAyB,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,MAAMxqB,MAAM,GAAGxJ,QAAQ,CAAC+gB,aAAa,CAAC,QAAQ,CAAC;IAC/CvX,MAAM,CAAC9P,IAAI,GAAG,QAAQ;IACtB8P,MAAM,CAAC8hB,SAAS,GAAGkG,uBAAuB;AAC1ChoB,IAAAA,MAAM,CAACtL,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC;AAC3CsL,IAAAA,MAAM,CAACtL,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AACrCsL,IAAAA,MAAM,CAAC+hB,SAAS,GAAG,IAAI,CAACpmB,OAAO,CAAC0sB,WAAW;AAC3C,IAAA,OAAOroB,MAAM;AACf,EAAA;EAEAmpB,gBAAgBA,CAACv1B,KAAK,EAAE;AACtB,IAAA,MAAM81B,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AACrC,IAAA,OAAOP,KAAK,CAACz4B,IAAI,CAAC83B,IAAI,IAAI,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC,KAAKn1B,KAAK,CAAC;AAC/D,EAAA;EAEAw1B,aAAaA,CAACL,IAAI,EAAE;AAClB,IAAA,IAAIA,IAAI,CAAC/zB,OAAO,CAACy1B,WAAW,EAAE;AAC5B,MAAA,OAAO1B,IAAI,CAAC/zB,OAAO,CAACy1B,WAAW;AACjC,IAAA;AAEA,IAAA,MAAME,KAAK,GAAG5B,IAAI,CAAClG,SAAS,CAAC,IAAI,CAAC;IAClC,MAAM+H,OAAO,GAAG9tB,cAAc,CAACG,OAAO,CAAC6qB,qBAAqB,EAAE6C,KAAK,CAAC;AACpE,IAAA,IAAIC,OAAO,EAAE;MACXA,OAAO,CAACl8B,MAAM,EAAE;AAClB,IAAA;IAEA,OAAOi8B,KAAK,CAACtS,WAAW,EAAE3b,IAAI,EAAE,IAAI,EAAE;AACxC,EAAA;AAEAgI,EAAAA,kBAAkBA,GAAG;AACnB;AACA1U,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,SAAS,EAAE70B,KAAK,IAAI,IAAI,CAACi7B,mBAAmB,CAACj7B,KAAK,CAAC,CAAC;AACjFI,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,OAAO,EAAE70B,KAAK,IAAI,IAAI,CAAC82B,YAAY,CAAC92B,KAAK,CAAC,CAAC;AACxEI,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,OAAO,EAAE70B,KAAK,IAAI,IAAI,CAACg3B,YAAY,CAACh3B,KAAK,CAAC,CAAC;AACxEI,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAACkF,cAAc,EAAE,CAAC;AAElE,IAAA,IAAI,IAAI,CAAChuB,OAAO,CAAC2sB,YAAY,EAAE;MAC7Bt4B,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAAC+xB,MAAM,EAAE,MAAM,EAAE70B,KAAK,IAAI;AAC5C;QACA,IAAI,CAACA,KAAK,CAAC8B,aAAa,EAAEkG,OAAO,CAACiwB,aAAa,CAAC,EAAE;UAChD,IAAI,CAACiD,oBAAoB,EAAE;AAC7B,QAAA;AACF,MAAA,CAAC,CAAC;AACJ,IAAA;;AAEA;AACA96B,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,OAAO,EAAEmsB,aAAa,EAAEj4B,KAAK,IAAI;AAC9D;MACA,IAAIA,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACkwB,qBAAqB,CAAC,EAAE;AAC/C,QAAA;AACF,MAAA;MAEA,MAAMiB,IAAI,GAAGn5B,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACiwB,aAAa,CAAC;AAChD,MAAA,IAAIkB,IAAI,EAAE;QACRn5B,KAAK,CAAC4O,cAAc,EAAE;AACtB,QAAA,IAAI,CAACorB,UAAU,CAACb,IAAI,EAAE;AACpBe,UAAAA,cAAc,EAAEl6B,KAAK,CAACm7B,OAAO,IAAIn7B,KAAK,CAACo7B,OAAO;UAC9CjB,WAAW,EAAEn6B,KAAK,CAACq7B;AACrB,SAAC,CAAC;QACFlC,IAAI,CAAC/Z,KAAK,EAAE;AACd,MAAA;AACF,IAAA,CAAC,CAAC;;AAEF;AACAhf,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,OAAO,EAAEosB,qBAAqB,EAAEl4B,KAAK,IAAI;MACtEA,KAAK,CAAC2iB,eAAe,EAAE;MACvB,MAAMwW,IAAI,GAAGn5B,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACiwB,aAAa,CAAC;AAChD,MAAA,IAAIkB,IAAI,EAAE;AACR,QAAA,IAAI,CAACr6B,MAAM,CAACq6B,IAAI,CAAC;AACjB,QAAA,IAAI,CAACtE,MAAM,EAAEzV,KAAK,EAAE;AACtB,MAAA;AACF,IAAA,CAAC,CAAC;;AAEF;AACAhf,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,SAAS,EAAEmsB,aAAa,EAAEj4B,KAAK,IAAI;AAChE,MAAA,IAAI,CAACs7B,kBAAkB,CAACt7B,KAAK,CAAC;AAChC,IAAA,CAAC,CAAC;;AAEF;IACAI,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,OAAO,EAAE9L,KAAK,IAAI;AAC/C,MAAA,IAAIA,KAAK,CAACY,MAAM,KAAK,IAAI,CAACkL,QAAQ,EAAE;QAClC,IAAI,CAACiuB,cAAc,EAAE;AACrB,QAAA,IAAI,CAAClF,MAAM,EAAEzV,KAAK,EAAE;AACtB,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;EAEA6b,mBAAmBA,CAACj7B,KAAK,EAAE;IACzB,MAAM;AAAE7B,MAAAA;AAAI,KAAC,GAAG6B,KAAK;AAErB,IAAA,QAAQ7B,GAAG;AACT,MAAA,KAAK,OAAO;AAAE,QAAA;UACZ6B,KAAK,CAAC4O,cAAc,EAAE;UACtB,IAAI,CAACssB,oBAAoB,EAAE;AAC3B,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAChB,MAAA,KAAK,QAAQ;AAAE,QAAA;AACb,UAAA,IAAI,IAAI,CAACrG,MAAM,CAAC7wB,KAAK,KAAK,EAAE,EAAE;YAC5BhE,KAAK,CAAC4O,cAAc,EAAE;AACtB,YAAA,MAAMkrB,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AAErC,YAAA,IAAIP,KAAK,CAAC32B,MAAM,GAAG,CAAC,EAAE;AACpB;cACA,MAAMo4B,QAAQ,GAAGzB,KAAK,CAACjD,EAAE,CAAC,EAAE,CAAC;AAC7B,cAAA,IAAI,CAACmD,UAAU,CAACuB,QAAQ,CAAC;cACzBA,QAAQ,CAACnc,KAAK,EAAE;AAClB,YAAA;AACF,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAAE,QAAA;AAChB,UAAA,IAAI,IAAI,CAACyV,MAAM,CAAC2G,cAAc,KAAK,CAAC,IAAI,IAAI,CAAC3G,MAAM,CAAC4G,YAAY,KAAK,CAAC,EAAE;YACtEz7B,KAAK,CAAC4O,cAAc,EAAE;AACtB,YAAA,MAAMkrB,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AACrC,YAAA,IAAIP,KAAK,CAAC32B,MAAM,GAAG,CAAC,EAAE;cACpB,MAAMo4B,QAAQ,GAAGzB,KAAK,CAACjD,EAAE,CAAC,EAAE,CAAC;cAC7B,IAAI72B,KAAK,CAACq7B,QAAQ,EAAE;AAClB,gBAAA,IAAI,CAACrB,UAAU,CAACuB,QAAQ,EAAE;AAAErB,kBAAAA,cAAc,EAAE;AAAK,iBAAC,CAAC;AACrD,cAAA,CAAC,MAAM;AACL,gBAAA,IAAI,CAACF,UAAU,CAACuB,QAAQ,CAAC;AAC3B,cAAA;cAEAA,QAAQ,CAACnc,KAAK,EAAE;AAClB,YAAA;AACF,UAAA;AAEA,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,QAAQ;AAAE,QAAA;AACb,UAAA,IAAI,CAACyV,MAAM,CAAC7wB,KAAK,GAAG,EAAE;UACtB,IAAI,CAAC+1B,cAAc,EAAE;AACrB,UAAA,IAAI,CAAClF,MAAM,CAAC6G,IAAI,EAAE;AAClB,UAAA;AACF,QAAA;;AAEA;AACF;AACF,EAAA;EAEAJ,kBAAkBA,CAACt7B,KAAK,EAAE;IACxB,MAAM;AAAE7B,MAAAA;AAAI,KAAC,GAAG6B,KAAK;IACrB,MAAMm5B,IAAI,GAAGn5B,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACiwB,aAAa,CAAC;IAChD,IAAI,CAACkB,IAAI,EAAE;AACT,MAAA;AACF,IAAA;AAEA,IAAA,MAAMW,KAAK,GAAG,IAAI,CAACO,gBAAgB,EAAE;AACrC,IAAA,MAAMsB,YAAY,GAAG7B,KAAK,CAACzvB,OAAO,CAAC8uB,IAAI,CAAC;AAExC,IAAA,QAAQh7B,GAAG;AACT,MAAA,KAAK,WAAW;AAChB,MAAA,KAAK,QAAQ;AAAE,QAAA;UACb6B,KAAK,CAAC4O,cAAc,EAAE;AACtB,UAAA,IAAI,CAACgtB,iBAAiB,CAACD,YAAY,EAAE7B,KAAK,CAAC;AAC3C,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,WAAW;AAAE,QAAA;UAChB95B,KAAK,CAAC4O,cAAc,EAAE;AACtB,UAAA,IAAI,CAACitB,aAAa,CAAC/B,KAAK,EAAE6B,YAAY,EAAE,EAAE,EAAE37B,KAAK,CAACq7B,QAAQ,CAAC;AAC3D,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,YAAY;AAAE,QAAA;UACjBr7B,KAAK,CAAC4O,cAAc,EAAE;AACtB,UAAA,IAAI,CAACitB,aAAa,CAAC/B,KAAK,EAAE6B,YAAY,EAAE,CAAC,EAAE37B,KAAK,CAACq7B,QAAQ,CAAC;AAC1D,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,MAAM;AAAE,QAAA;UACXr7B,KAAK,CAAC4O,cAAc,EAAE;UACtB,IAAI,CAACktB,eAAe,CAAChC,KAAK,EAAE,CAAC,EAAE95B,KAAK,CAACq7B,QAAQ,CAAC;AAC9C,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,KAAK;AAAE,QAAA;UACVr7B,KAAK,CAAC4O,cAAc,EAAE;UACtB,IAAI,CAACmrB,cAAc,EAAE;AACrB,UAAA,IAAI,CAAClF,MAAM,EAAEzV,KAAK,EAAE;AACpB,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,GAAG;AAAE,QAAA;AACR,UAAA,IAAI,CAAC2c,gBAAgB,CAAC/7B,KAAK,EAAE85B,KAAK,CAAC;AACnC,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,QAAQ;AAAE,QAAA;UACb95B,KAAK,CAAC4O,cAAc,EAAE;UACtB,IAAI,CAACmrB,cAAc,EAAE;AACrB,UAAA,IAAI,CAAClF,MAAM,EAAEzV,KAAK,EAAE;AACpB,UAAA;AACF,QAAA;;AAEA;AACF;AACF,EAAA;AAEAwc,EAAAA,iBAAiBA,CAACD,YAAY,EAAE7B,KAAK,EAAE;AACrC,IAAA,IAAI,IAAI,CAACjB,cAAc,CAACr6B,IAAI,KAAK,CAAC,EAAE;AAClC,MAAA;AACF,IAAA;AAEA,IAAA,MAAM24B,SAAS,GAAG1wB,IAAI,CAAC8D,GAAG,CAACoxB,YAAY,EAAE7B,KAAK,CAAC32B,MAAM,GAAG,IAAI,CAAC01B,cAAc,CAACr6B,IAAI,GAAG,CAAC,CAAC;IACrF,IAAI,CAACm7B,cAAc,EAAE;AAErB,IAAA,MAAMqC,cAAc,GAAG,IAAI,CAAC3B,gBAAgB,EAAE;AAC9C,IAAA,IAAI2B,cAAc,CAAC74B,MAAM,GAAG,CAAC,EAAE;MAC7B,MAAM84B,UAAU,GAAGx1B,IAAI,CAAC6D,GAAG,CAAC,CAAC,EAAE7D,IAAI,CAAC8D,GAAG,CAAC4sB,SAAS,EAAE6E,cAAc,CAAC74B,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E64B,MAAAA,cAAc,CAACC,UAAU,CAAC,CAAC7c,KAAK,EAAE;AAClC,MAAA,IAAI,CAAC4a,UAAU,CAACgC,cAAc,CAACC,UAAU,CAAC,CAAC;AAC7C,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACpH,MAAM,EAAEzV,KAAK,EAAE;AACtB,IAAA;AACF,EAAA;EAEAyc,aAAaA,CAAC/B,KAAK,EAAE6B,YAAY,EAAE3pB,SAAS,EAAEqpB,QAAQ,EAAE;AACtD,IAAA,MAAMa,WAAW,GAAGP,YAAY,GAAG3pB,SAAS;AAE5C,IAAA,IAAIA,SAAS,GAAG,CAAC,IAAIkqB,WAAW,IAAI,CAAC,EAAE;AACrC,MAAA,MAAMC,UAAU,GAAGrC,KAAK,CAACoC,WAAW,CAAC;AACrC,MAAA,IAAI,CAAClC,UAAU,CAACmC,UAAU,EAAEd,QAAQ,GAAG;AAAEnB,QAAAA,cAAc,EAAE,IAAI;AAAEC,QAAAA,WAAW,EAAE;OAAM,GAAG,EAAE,CAAC;MACxFgC,UAAU,CAAC/c,KAAK,EAAE;IACpB,CAAC,MAAM,IAAIpN,SAAS,GAAG,CAAC,IAAIkqB,WAAW,GAAGpC,KAAK,CAAC32B,MAAM,EAAE;AACtD,MAAA,MAAMg5B,UAAU,GAAGrC,KAAK,CAACoC,WAAW,CAAC;AACrC,MAAA,IAAI,CAAClC,UAAU,CAACmC,UAAU,EAAEd,QAAQ,GAAG;AAAEnB,QAAAA,cAAc,EAAE,IAAI;AAAEC,QAAAA,WAAW,EAAE;OAAM,GAAG,EAAE,CAAC;MACxFgC,UAAU,CAAC/c,KAAK,EAAE;AACpB,IAAA,CAAC,MAAM,IAAIpN,SAAS,GAAG,CAAC,EAAE;MACxB,IAAI,CAAC+nB,cAAc,EAAE;AACrB,MAAA,IAAI,CAAClF,MAAM,EAAEzV,KAAK,EAAE;AACtB,IAAA;AACF,EAAA;AAEA0c,EAAAA,eAAeA,CAAChC,KAAK,EAAEoC,WAAW,EAAEb,QAAQ,EAAE;AAC5C,IAAA,IAAIvB,KAAK,CAAC32B,MAAM,KAAK,CAAC,EAAE;AACtB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMg5B,UAAU,GAAGrC,KAAK,CAACoC,WAAW,CAAC;AACrC,IAAA,IAAI,CAAClC,UAAU,CAACmC,UAAU,EAAEd,QAAQ,GAAG;AAAElB,MAAAA,WAAW,EAAE;KAAM,GAAG,EAAE,CAAC;IAClEgC,UAAU,CAAC/c,KAAK,EAAE;AACpB,EAAA;AAEA2c,EAAAA,gBAAgBA,CAAC/7B,KAAK,EAAE85B,KAAK,EAAE;IAC7B,IAAI,EAAE95B,KAAK,CAACm7B,OAAO,IAAIn7B,KAAK,CAACo7B,OAAO,CAAC,EAAE;AACrC,MAAA;AACF,IAAA;IAEAp7B,KAAK,CAAC4O,cAAc,EAAE;AACtB,IAAA,KAAK,MAAMwtB,CAAC,IAAItC,KAAK,EAAE;AACrB,MAAA,IAAI,CAACjB,cAAc,CAAC5mB,GAAG,CAACmqB,CAAC,CAAC;AAC1BA,MAAAA,CAAC,CAAC/zB,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;AACpC,IAAA;IAEA3P,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEgsB,YAAY,EAAE;AAChDhe,MAAAA,QAAQ,EAAE,IAAI,CAAC+f,iBAAiB;AAClC,KAAC,CAAC;AACJ,EAAA;EAEA/C,YAAYA,CAAC92B,KAAK,EAAE;IAClB,MAAM;AAAEgE,MAAAA;KAAO,GAAGhE,KAAK,CAACY,MAAM;IAC9B,MAAM;AAAEutB,MAAAA;KAAW,GAAG,IAAI,CAACpiB,OAAO;IAElC,IAAIoiB,SAAS,IAAInqB,KAAK,CAACnB,QAAQ,CAACsrB,SAAS,CAAC,EAAE;AAC1C,MAAA,MAAM1T,KAAK,GAAGzW,KAAK,CAACqD,KAAK,CAAC8mB,SAAS,CAAC;AACpC,MAAA,KAAK,MAAMvT,IAAI,IAAIH,KAAK,CAACpX,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QACrC,IAAI,CAAC4O,GAAG,CAAC2I,IAAI,CAAC9N,IAAI,EAAE,CAAC;AACvB,MAAA;MAEA,IAAI,CAAC+nB,MAAM,CAAC7wB,KAAK,GAAGyW,KAAK,CAACoc,EAAE,CAAC,EAAE,CAAC;AAClC,IAAA;AACF,EAAA;EAEAG,YAAYA,CAACh3B,KAAK,EAAE;IAClB,MAAM;AAAEmuB,MAAAA;KAAW,GAAG,IAAI,CAACpiB,OAAO;IAClC,IAAI,CAACoiB,SAAS,EAAE;AACd,MAAA;AACF,IAAA;AAEA,IAAA,MAAMiJ,UAAU,GAAG,CAACp3B,KAAK,CAACq3B,aAAa,IAAIvxB,MAAM,CAACuxB,aAAa,EAAEC,OAAO,CAAC,MAAM,CAAC;AAChF,IAAA,IAAIF,UAAU,CAACv0B,QAAQ,CAACsrB,SAAS,CAAC,EAAE;MAClCnuB,KAAK,CAAC4O,cAAc,EAAE;AAEtB,MAAA,MAAM6L,KAAK,GAAG2c,UAAU,CAAC/vB,KAAK,CAAC8mB,SAAS,CAAC;AACzC,MAAA,KAAK,MAAMvT,IAAI,IAAIH,KAAK,EAAE;QACxB,IAAI,CAACxI,GAAG,CAAC2I,IAAI,CAAC9N,IAAI,EAAE,CAAC;AACvB,MAAA;AACF,IAAA;AACF,EAAA;AAEAouB,EAAAA,oBAAoBA,GAAG;IACrB,MAAMl3B,KAAK,GAAG,IAAI,CAAC6wB,MAAM,CAAC7wB,KAAK,CAAC8I,IAAI,EAAE;AACtC,IAAA,IAAI9I,KAAK,EAAE;AACT,MAAA,IAAI,CAACiO,GAAG,CAACjO,KAAK,CAAC;AACf,MAAA,IAAI,CAAC6wB,MAAM,CAAC7wB,KAAK,GAAG,EAAE;AACxB,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA5D,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE,CAAA,gBAAA,EAAmBuF,WAAS,CAAA,EAAG2D,cAAY,CAAA,CAAE,EAAE,MAAM;EAC7E,KAAK,MAAM5R,OAAO,IAAIgP,cAAc,CAAC7L,IAAI,CAAC02B,wBAAwB,CAAC,EAAE;AACnEY,IAAAA,SAAS,CAAClsB,mBAAmB,CAACvO,OAAO,CAAC;AACxC,EAAA;AACF,CAAC,CAAC;;ACtnBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMm+B,sBAAsB,GAAG,gBAAgB;AAExC,MAAMC,gBAAgB,GAAG;AAC9B;AACA,EAAA,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAED,sBAAsB,CAAC;EACnEE,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACrCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNtG,EAAAA,CAAC,EAAE,EAAE;AACLjhB,EAAAA,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;AACzDwnB,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,GAAG,EAAE,EAAE;AACPhK,EAAAA,MAAM,EAAE,EAAE;AACViK,EAAAA,CAAC,EAAE,EAAE;AACLC,EAAAA,EAAE,EAAE;AACN,CAAC;AACD;;AAEA,MAAMC,aAAa,GAAG,IAAI3+B,GAAG,CAAC,CAC5B,YAAY,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,YAAY,CACb,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4+B,gBAAgB,GAAG,yDAAyD;AAElF,MAAMC,gBAAgB,GAAGA,CAACC,SAAS,EAAEC,oBAAoB,KAAK;EAC5D,MAAMC,aAAa,GAAGF,SAAS,CAACG,QAAQ,CAAC/5B,WAAW,EAAE;AAEtD,EAAA,IAAI65B,oBAAoB,CAAC37B,QAAQ,CAAC47B,aAAa,CAAC,EAAE;AAChD,IAAA,IAAIL,aAAa,CAAC//B,GAAG,CAACogC,aAAa,CAAC,EAAE;MACpC,OAAOl8B,OAAO,CAAC87B,gBAAgB,CAAC5yB,IAAI,CAAC8yB,SAAS,CAACI,SAAS,CAAC,CAAC;AAC5D,IAAA;AAEA,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;EACA,OAAOH,oBAAoB,CAACn5B,MAAM,CAACu5B,cAAc,IAAIA,cAAc,YAAYpzB,MAAM,CAAC,CACnFqzB,IAAI,CAACC,KAAK,IAAIA,KAAK,CAACrzB,IAAI,CAACgzB,aAAa,CAAC,CAAC;AAC7C,CAAC;AAEM,SAASM,YAAYA,CAACC,UAAU,EAAEC,SAAS,EAAEC,gBAAgB,EAAE;AACpE,EAAA,IAAI,CAACF,UAAU,CAAC77B,MAAM,EAAE;AACtB,IAAA,OAAO67B,UAAU;AACnB,EAAA;AAEA,EAAA,IAAIE,gBAAgB,IAAI,OAAOA,gBAAgB,KAAK,UAAU,EAAE;IAC9D,OAAOA,gBAAgB,CAACF,UAAU,CAAC;AACrC,EAAA;AAEA,EAAA,MAAMG,SAAS,GAAG,IAAIr5B,MAAM,CAACs5B,SAAS,EAAE;EACxC,MAAMC,eAAe,GAAGF,SAAS,CAACG,eAAe,CAACN,UAAU,EAAE,WAAW,CAAC;AAC1E,EAAA,MAAMO,QAAQ,GAAG,EAAE,CAACpyB,MAAM,CAAC,GAAGkyB,eAAe,CAAClgB,IAAI,CAACxe,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEzE,EAAA,KAAK,MAAMzC,OAAO,IAAIqhC,QAAQ,EAAE;IAC9B,MAAMC,WAAW,GAAGthC,OAAO,CAACwgC,QAAQ,CAAC/5B,WAAW,EAAE;AAElD,IAAA,IAAI,CAACxD,MAAM,CAACtC,IAAI,CAACogC,SAAS,CAAC,CAACp8B,QAAQ,CAAC28B,WAAW,CAAC,EAAE;MACjDthC,OAAO,CAACY,MAAM,EAAE;AAChB,MAAA;AACF,IAAA;IAEA,MAAM2gC,aAAa,GAAG,EAAE,CAACtyB,MAAM,CAAC,GAAGjP,OAAO,CAACgH,UAAU,CAAC;AACtD,IAAA,MAAMw6B,iBAAiB,GAAG,EAAE,CAACvyB,MAAM,CAAC8xB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAEA,SAAS,CAACO,WAAW,CAAC,IAAI,EAAE,CAAC;AAEvF,IAAA,KAAK,MAAMjB,SAAS,IAAIkB,aAAa,EAAE;AACrC,MAAA,IAAI,CAACnB,gBAAgB,CAACC,SAAS,EAAEmB,iBAAiB,CAAC,EAAE;AACnDxhC,QAAAA,OAAO,CAAC8G,eAAe,CAACu5B,SAAS,CAACG,QAAQ,CAAC;AAC7C,MAAA;AACF,IAAA;AACF,EAAA;AAEA,EAAA,OAAOW,eAAe,CAAClgB,IAAI,CAACgT,SAAS;AACvC;;ACnHA;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMxnB,MAAI,GAAG,iBAAiB;AAE9B,MAAMF,SAAO,GAAG;AACdw0B,EAAAA,SAAS,EAAE3C,gBAAgB;EAC3BqD,OAAO,EAAE,EAAE;AAAE;AACbC,EAAAA,UAAU,EAAE,EAAE;AACdC,EAAAA,IAAI,EAAE,KAAK;AACXC,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,UAAU,EAAE,IAAI;AAChBC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMt1B,aAAW,GAAG;AAClBu0B,EAAAA,SAAS,EAAE,QAAQ;AACnBU,EAAAA,OAAO,EAAE,QAAQ;AACjBC,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,IAAI,EAAE,SAAS;AACfC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,UAAU,EAAE,iBAAiB;AAC7BC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,kBAAkB,GAAG;AACzBC,EAAAA,KAAK,EAAE,gCAAgC;AACvCz/B,EAAAA,QAAQ,EAAE;AACZ,CAAC;;AAED;AACA;AACA;;AAEA,MAAM0/B,eAAe,SAAS31B,MAAM,CAAC;EACnCW,WAAWA,CAACL,MAAM,EAAE;AAClB,IAAA,KAAK,EAAE;IACP,IAAI,CAACiB,OAAO,GAAG,IAAI,CAAClB,UAAU,CAACC,MAAM,CAAC;AACxC,EAAA;;AAEA;EACA,WAAWL,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAy1B,EAAAA,UAAUA,GAAG;IACX,OAAOj/B,MAAM,CAACC,MAAM,CAAC,IAAI,CAAC2K,OAAO,CAAC4zB,OAAO,CAAC,CACvC5yB,GAAG,CAACjC,MAAM,IAAI,IAAI,CAACu1B,wBAAwB,CAACv1B,MAAM,CAAC,CAAC,CACpDzF,MAAM,CAAC9C,OAAO,CAAC;AACpB,EAAA;AAEA+9B,EAAAA,UAAUA,GAAG;IACX,OAAO,IAAI,CAACF,UAAU,EAAE,CAACj9B,MAAM,GAAG,CAAC;AACrC,EAAA;EAEAo9B,aAAaA,CAACZ,OAAO,EAAE;AACrB,IAAA,IAAI,CAACa,aAAa,CAACb,OAAO,CAAC;AAC3B,IAAA,IAAI,CAAC5zB,OAAO,CAAC4zB,OAAO,GAAG;AAAE,MAAA,GAAG,IAAI,CAAC5zB,OAAO,CAAC4zB,OAAO;MAAE,GAAGA;KAAS;AAC9D,IAAA,OAAO,IAAI;AACb,EAAA;AAEAc,EAAAA,MAAMA,GAAG;AACP,IAAA,MAAMC,eAAe,GAAG95B,QAAQ,CAAC+gB,aAAa,CAAC,KAAK,CAAC;AACrD+Y,IAAAA,eAAe,CAACvO,SAAS,GAAG,IAAI,CAACwO,cAAc,CAAC,IAAI,CAAC50B,OAAO,CAACi0B,QAAQ,CAAC;AAEtE,IAAA,KAAK,MAAM,CAACv/B,QAAQ,EAAEsoB,IAAI,CAAC,IAAI5nB,MAAM,CAACyB,OAAO,CAAC,IAAI,CAACmJ,OAAO,CAAC4zB,OAAO,CAAC,EAAE;MACnE,IAAI,CAACiB,WAAW,CAACF,eAAe,EAAE3X,IAAI,EAAEtoB,QAAQ,CAAC;AACnD,IAAA;AAEA,IAAA,MAAMu/B,QAAQ,GAAGU,eAAe,CAACpzB,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAMsyB,UAAU,GAAG,IAAI,CAACS,wBAAwB,CAAC,IAAI,CAACt0B,OAAO,CAAC6zB,UAAU,CAAC;AAEzE,IAAA,IAAIA,UAAU,EAAE;AACdI,MAAAA,QAAQ,CAAC33B,SAAS,CAAC4J,GAAG,CAAC,GAAG2tB,UAAU,CAACv4B,KAAK,CAAC,GAAG,CAAC,CAAC;AAClD,IAAA;AAEA,IAAA,OAAO24B,QAAQ;AACjB,EAAA;;AAEA;EACA/0B,gBAAgBA,CAACH,MAAM,EAAE;AACvB,IAAA,KAAK,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC9B,IAAA,IAAI,CAAC01B,aAAa,CAAC11B,MAAM,CAAC60B,OAAO,CAAC;AACpC,EAAA;EAEAa,aAAaA,CAACK,GAAG,EAAE;AACjB,IAAA,KAAK,MAAM,CAACpgC,QAAQ,EAAEk/B,OAAO,CAAC,IAAIx+B,MAAM,CAACyB,OAAO,CAACi+B,GAAG,CAAC,EAAE;MACrD,KAAK,CAAC51B,gBAAgB,CAAC;QAAExK,QAAQ;AAAEy/B,QAAAA,KAAK,EAAEP;OAAS,EAAEM,kBAAkB,CAAC;AAC1E,IAAA;AACF,EAAA;AAEAW,EAAAA,WAAWA,CAACZ,QAAQ,EAAEL,OAAO,EAAEl/B,QAAQ,EAAE;IACvC,MAAMqgC,eAAe,GAAG5zB,cAAc,CAACG,OAAO,CAAC5M,QAAQ,EAAEu/B,QAAQ,CAAC;IAElE,IAAI,CAACc,eAAe,EAAE;AACpB,MAAA;AACF,IAAA;AAEAnB,IAAAA,OAAO,GAAG,IAAI,CAACU,wBAAwB,CAACV,OAAO,CAAC;IAEhD,IAAI,CAACA,OAAO,EAAE;MACZmB,eAAe,CAAChiC,MAAM,EAAE;AACxB,MAAA;AACF,IAAA;AAEA,IAAA,IAAIyI,SAAS,CAACo4B,OAAO,CAAC,EAAE;MACtB,IAAI,CAACoB,qBAAqB,CAACt5B,UAAU,CAACk4B,OAAO,CAAC,EAAEmB,eAAe,CAAC;AAChE,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC/0B,OAAO,CAAC8zB,IAAI,EAAE;MACrBiB,eAAe,CAAC3O,SAAS,GAAG,IAAI,CAACwO,cAAc,CAAChB,OAAO,CAAC;AACxD,MAAA;AACF,IAAA;IAEAmB,eAAe,CAACrY,WAAW,GAAGkX,OAAO;AACvC,EAAA;EAEAgB,cAAcA,CAACE,GAAG,EAAE;IAClB,OAAO,IAAI,CAAC90B,OAAO,CAAC+zB,QAAQ,GAAGf,YAAY,CAAC8B,GAAG,EAAE,IAAI,CAAC90B,OAAO,CAACkzB,SAAS,EAAE,IAAI,CAAClzB,OAAO,CAACg0B,UAAU,CAAC,GAAGc,GAAG;AACzG,EAAA;EAEAR,wBAAwBA,CAACQ,GAAG,EAAE;IAC5B,OAAO13B,OAAO,CAAC03B,GAAG,EAAE,CAACx6B,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,EAAA;AAEA06B,EAAAA,qBAAqBA,CAAC7iC,OAAO,EAAE4iC,eAAe,EAAE;AAC9C,IAAA,IAAI,IAAI,CAAC/0B,OAAO,CAAC8zB,IAAI,EAAE;MACrBiB,eAAe,CAAC3O,SAAS,GAAG,EAAE;AAC9B2O,MAAAA,eAAe,CAACpf,MAAM,CAACxjB,OAAO,CAAC;AAC/B,MAAA;AACF,IAAA;AAEA4iC,IAAAA,eAAe,CAACrY,WAAW,GAAGvqB,OAAO,CAACuqB,WAAW;AACnD,EAAA;AACF;;AC7JA;AACA;AACA;AACA;AACA;AACA;;;AAyBA;AACA;AACA;;AAEA,MAAM9d,MAAI,GAAG,SAAS;AACtB,MAAMq2B,qBAAqB,GAAG,IAAIvhC,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAE9E,MAAM8P,iBAAe,GAAG,MAAM;AAC9B,MAAM0xB,gBAAgB,GAAG,OAAO;AAChC,MAAMzxB,iBAAe,GAAG,MAAM;AAE9B,MAAM0xB,sBAAsB,GAAG,gBAAgB;AAC/C,MAAMC,cAAc,GAAG,CAAA,CAAA,EAAIF,gBAAgB,CAAA,CAAE;AAC7C,MAAMjxB,sBAAoB,GAAG,4BAA4B;AAEzD,MAAMoxB,gBAAgB,GAAG,eAAe;AAExC,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,cAAc,GAAG,QAAQ;AAE/B,MAAM5pB,YAAU,GAAG,MAAM;AACzB,MAAMC,cAAY,GAAG,QAAQ;AAC7B,MAAMH,YAAU,GAAG,MAAM;AACzB,MAAMC,aAAW,GAAG,OAAO;AAC3B,MAAM8pB,cAAc,GAAG,UAAU;AACjC,MAAMC,aAAW,GAAG,OAAO;AAC3B,MAAMC,eAAa,GAAG,SAAS;AAC/B,MAAMC,gBAAc,GAAG,UAAU;AACjC,MAAM7uB,kBAAgB,GAAG,YAAY;AACrC,MAAMC,gBAAgB,GAAG,YAAY;AAErC,MAAM6uB,aAAa,GAAG;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,KAAK,EAAE/4B,KAAK,EAAE,GAAG,MAAM,GAAG,OAAO;AACjCg5B,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,IAAI,EAAEj5B,KAAK,EAAE,GAAG,OAAO,GAAG;AAC5B,CAAC;AAED,MAAMwB,SAAO,GAAG;AACdw0B,EAAAA,SAAS,EAAE3C,gBAAgB;AAC3B6F,EAAAA,SAAS,EAAE,IAAI;AACf7kB,EAAAA,QAAQ,EAAE,iBAAiB;AAC3BC,EAAAA,SAAS,EAAE,KAAK;AAChB6kB,EAAAA,WAAW,EAAE,EAAE;AACfC,EAAAA,KAAK,EAAE,CAAC;EACRrhB,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;AACtD6e,EAAAA,IAAI,EAAE,KAAK;AACXpiB,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACd3C,EAAAA,SAAS,EAAE,KAAK;AAChB4C,EAAAA,cAAc,EAAE,IAAI;AACpBoiB,EAAAA,QAAQ,EAAE,IAAI;AACdC,EAAAA,UAAU,EAAE,IAAI;AAChBt/B,EAAAA,QAAQ,EAAE,KAAK;AACfu/B,EAAAA,QAAQ,EAAE,sCAAsC,GACtC,mCAAmC,GACnC,mCAAmC,GACnC,QAAQ;AAClBsC,EAAAA,KAAK,EAAE,EAAE;AACT/+B,EAAAA,OAAO,EAAE;AACX,CAAC;AAED,MAAMmH,aAAW,GAAG;AAClBu0B,EAAAA,SAAS,EAAE,QAAQ;AACnBkD,EAAAA,SAAS,EAAE,SAAS;AACpB7kB,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE,0BAA0B;AACrC6kB,EAAAA,WAAW,EAAE,mBAAmB;AAChCC,EAAAA,KAAK,EAAE,iBAAiB;AACxBrhB,EAAAA,kBAAkB,EAAE,OAAO;AAC3B6e,EAAAA,IAAI,EAAE,SAAS;AACfpiB,EAAAA,MAAM,EAAE,yBAAyB;AACjC3C,EAAAA,SAAS,EAAE,mBAAmB;AAC9B4C,EAAAA,cAAc,EAAE,wBAAwB;AACxCoiB,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,UAAU,EAAE,iBAAiB;AAC7Bt/B,EAAAA,QAAQ,EAAE,kBAAkB;AAC5Bu/B,EAAAA,QAAQ,EAAE,QAAQ;AAClBsC,EAAAA,KAAK,EAAE,2BAA2B;AAClC/+B,EAAAA,OAAO,EAAE;AACX,CAAC;;AAED;AACA;AACA;;AAEA,MAAMg/B,OAAO,SAAS12B,aAAa,CAAC;AAClCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,IAAI,OAAOoT,eAAe,KAAK,WAAW,EAAE;AAC1C,MAAA,MAAM,IAAIxS,SAAS,CAAC,qEAAqE,CAAC;AAC5F,IAAA;AAEA,IAAA,KAAK,CAACxN,OAAO,EAAE4M,MAAM,CAAC;;AAEtB;IACA,IAAI,CAAC03B,UAAU,GAAG,IAAI;IACtB,IAAI,CAACC,QAAQ,GAAG,CAAC;IACjB,IAAI,CAACC,UAAU,GAAG,IAAI;AACtB,IAAA,IAAI,CAACC,cAAc,GAAG,EAAE;IACxB,IAAI,CAACxkB,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACykB,gBAAgB,GAAG,IAAI;IAC5B,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACzkB,oBAAoB,GAAG,EAAE;IAC9B,IAAI,CAACC,qBAAqB,GAAG,IAAI;;AAEjC;IACA,IAAI,CAACykB,GAAG,GAAG,IAAI;IAEf,IAAI,CAAChkB,0BAA0B,EAAE;IACjC,IAAI,CAACikB,aAAa,EAAE;AAEpB,IAAA,IAAI,CAAC,IAAI,CAACh3B,OAAO,CAACtL,QAAQ,EAAE;MAC1B,IAAI,CAACuiC,SAAS,EAAE;AAClB,IAAA;AACF,EAAA;;AAEA;EACA,WAAWv4B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAs4B,EAAAA,MAAMA,GAAG;IACP,IAAI,CAACT,UAAU,GAAG,IAAI;AACxB,EAAA;AAEAU,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACV,UAAU,GAAG,KAAK;AACzB,EAAA;AAEAW,EAAAA,aAAaA,GAAG;AACd,IAAA,IAAI,CAACX,UAAU,GAAG,CAAC,IAAI,CAACA,UAAU;AACpC,EAAA;AAEAryB,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,CAAC,IAAI,CAACqyB,UAAU,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACxpB,QAAQ,EAAE,EAAE;MACnB,IAAI,CAACoqB,MAAM,EAAE;AACb,MAAA;AACF,IAAA;IAEA,IAAI,CAACC,MAAM,EAAE;AACf,EAAA;AAEAn3B,EAAAA,OAAOA,GAAG;AACRiK,IAAAA,YAAY,CAAC,IAAI,CAACssB,QAAQ,CAAC;AAE3BriC,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACyL,QAAQ,CAAC9D,OAAO,CAACm5B,cAAc,CAAC,EAAEC,gBAAgB,EAAE,IAAI,CAACkC,iBAAiB,CAAC;IAEjG,IAAI,IAAI,CAACx3B,QAAQ,CAACrG,YAAY,CAAC,wBAAwB,CAAC,EAAE;AACxD,MAAA,IAAI,CAACqG,QAAQ,CAAChH,YAAY,CAAC,OAAO,EAAE,IAAI,CAACgH,QAAQ,CAACrG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAC3F,IAAA;IAEA,IAAI,CAAC8Z,gBAAgB,EAAE;IACvB,IAAI,CAACE,2BAA2B,EAAE;IAClC,KAAK,CAACvT,OAAO,EAAE;AACjB,EAAA;EAEA,MAAMgN,IAAIA,GAAG;IACX,IAAI,IAAI,CAACpN,QAAQ,CAAC2N,KAAK,CAAC+D,OAAO,KAAK,MAAM,EAAE;AAC1C,MAAA,MAAM,IAAI5S,KAAK,CAAC,qCAAqC,CAAC;AACxD,IAAA;IAEA,IAAI,EAAE,IAAI,CAAC24B,cAAc,EAAE,IAAI,IAAI,CAACf,UAAU,CAAC,EAAE;AAC/C,MAAA;AACF,IAAA;AAEA,IAAA,MAAMxjB,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACgL,YAAU,CAAC,CAAC;AAC7F,IAAA,MAAM8rB,UAAU,GAAGh7B,cAAc,CAAC,IAAI,CAACsD,QAAQ,CAAC;AAChD,IAAA,MAAM23B,UAAU,GAAG,CAACD,UAAU,IAAI,IAAI,CAAC13B,QAAQ,CAAC43B,aAAa,CAACj7B,eAAe,EAAE1G,QAAQ,CAAC,IAAI,CAAC+J,QAAQ,CAAC;AAEtG,IAAA,IAAIkT,SAAS,CAACpP,gBAAgB,IAAI,CAAC6zB,UAAU,EAAE;AAC7C,MAAA;AACF,IAAA;IAEA,IAAI,CAAClkB,gBAAgB,EAAE;AAEvB,IAAA,MAAMujB,GAAG,GAAG,IAAI,CAACa,cAAc,EAAE;AAEjC,IAAA,IAAI,CAAC73B,QAAQ,CAAChH,YAAY,CAAC,kBAAkB,EAAEg+B,GAAG,CAACr9B,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtE,IAAI;AAAE8X,MAAAA;KAAW,GAAG,IAAI,CAACxR,OAAO;IAChC,MAAM63B,aAAa,GAAG,IAAI,CAAC93B,QAAQ,CAAC9D,OAAO,CAAC,cAAc,CAAC;AAC3D,IAAA,IAAI47B,aAAa,IAAIrmB,SAAS,KAAK3W,QAAQ,CAACuY,IAAI,EAAE;AAChD5B,MAAAA,SAAS,GAAGqmB,aAAa;AAC3B,IAAA;AAEA,IAAA,IAAI,CAAC,IAAI,CAAC93B,QAAQ,CAAC43B,aAAa,CAACj7B,eAAe,CAAC1G,QAAQ,CAAC,IAAI,CAAC+gC,GAAG,CAAC,EAAE;AACnEvlB,MAAAA,SAAS,CAACmE,MAAM,CAACohB,GAAG,CAAC;AACrB1iC,MAAAA,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAAC+0B,cAAc,CAAC,CAAC;AACjF,IAAA;AAEA,IAAA,MAAM,IAAI,CAACviB,eAAe,CAAC4jB,GAAG,CAAC;AAE/BA,IAAAA,GAAG,CAACz6B,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;;AAElC;AACA;AACA;AACA;AACA,IAAA,IAAI,cAAc,IAAI5I,QAAQ,CAAC6B,eAAe,EAAE;AAC9C,MAAA,KAAK,MAAMvK,OAAO,IAAI,EAAE,CAACiP,MAAM,CAAC,GAAGvG,QAAQ,CAACuY,IAAI,CAAC7R,QAAQ,CAAC,EAAE;QAC1DlN,YAAY,CAAC0C,EAAE,CAAC5E,OAAO,EAAE,WAAW,EAAE4K,IAAI,CAAC;AAC7C,MAAA;AACF,IAAA;IAEA,MAAM4Q,QAAQ,GAAGA,MAAM;AACrBtZ,MAAAA,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACiL,aAAW,CAAC,CAAC;AAE5E,MAAA,IAAI,IAAI,CAAC+qB,UAAU,KAAK,KAAK,EAAE;QAC7B,IAAI,CAACU,MAAM,EAAE;AACf,MAAA;MAEA,IAAI,CAACV,UAAU,GAAG,KAAK;IACzB,CAAC;AAED,IAAA,IAAI,CAACp2B,cAAc,CAACoN,QAAQ,EAAE,IAAI,CAACopB,GAAG,EAAE,IAAI,CAACzrB,WAAW,EAAE,CAAC;AAC7D,EAAA;AAEA4B,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAM8G,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACkL,YAAU,CAAC,CAAC;IAC7F,IAAIkI,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;AAEA,IAAA,MAAMkzB,GAAG,GAAG,IAAI,CAACa,cAAc,EAAE;AACjCb,IAAAA,GAAG,CAACz6B,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;;AAErC;AACA;AACA,IAAA,IAAI,cAAc,IAAI5I,QAAQ,CAAC6B,eAAe,EAAE;AAC9C,MAAA,KAAK,MAAMvK,OAAO,IAAI,EAAE,CAACiP,MAAM,CAAC,GAAGvG,QAAQ,CAACuY,IAAI,CAAC7R,QAAQ,CAAC,EAAE;QAC1DlN,YAAY,CAACC,GAAG,CAACnC,OAAO,EAAE,WAAW,EAAE4K,IAAI,CAAC;AAC9C,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAAC65B,cAAc,CAACpB,aAAa,CAAC,GAAG,KAAK;AAC1C,IAAA,IAAI,CAACoB,cAAc,CAACrB,aAAa,CAAC,GAAG,KAAK;AAC1C,IAAA,IAAI,CAACqB,cAAc,CAACtB,aAAa,CAAC,GAAG,KAAK;AAC1C,IAAA,IAAI,CAACqB,UAAU,GAAG,IAAI,CAAA;;IAEtB,MAAMhpB,QAAQ,GAAGA,MAAM;AACrB,MAAA,IAAI,IAAI,CAACmqB,oBAAoB,EAAE,EAAE;AAC/B,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,CAAC,IAAI,CAACnB,UAAU,EAAE;QACpB,IAAI,CAACnjB,gBAAgB,EAAE;AACzB,MAAA;AAEA,MAAA,IAAI,CAACzT,QAAQ,CAAC9G,eAAe,CAAC,kBAAkB,CAAC;AACjD5E,MAAAA,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACmL,cAAY,CAAC,CAAC;IAC/E,CAAC;AAED,IAAA,IAAI,CAACvL,cAAc,CAACoN,QAAQ,EAAE,IAAI,CAACopB,GAAG,EAAE,IAAI,CAACzrB,WAAW,EAAE,CAAC;AAC7D,EAAA;AAEAuI,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACzB,gBAAgB,IAAI,IAAI,CAAC2kB,GAAG,EAAE;MACrC,IAAI,CAACjjB,uBAAuB,EAAE;AAChC,IAAA;AACF,EAAA;;AAEA;AACA0jB,EAAAA,cAAcA,GAAG;AACf,IAAA,OAAOhhC,OAAO,CAAC,IAAI,CAACuhC,SAAS,EAAE,CAAC;AAClC,EAAA;AAEAH,EAAAA,cAAcA,GAAG;AACf,IAAA,IAAI,CAAC,IAAI,CAACb,GAAG,EAAE;AACb,MAAA,IAAI,CAACA,GAAG,GAAG,IAAI,CAACiB,iBAAiB,CAAC,IAAI,CAAClB,WAAW,IAAI,IAAI,CAACmB,sBAAsB,EAAE,CAAC;AACtF,IAAA;IAEA,OAAO,IAAI,CAAClB,GAAG;AACjB,EAAA;EAEAiB,iBAAiBA,CAACpE,OAAO,EAAE;IACzB,MAAMmD,GAAG,GAAG,IAAI,CAACmB,mBAAmB,CAACtE,OAAO,CAAC,CAACc,MAAM,EAAE;IAEtDqC,GAAG,CAACz6B,SAAS,CAACvJ,MAAM,CAACyQ,iBAAe,EAAEC,iBAAe,CAAC;AACtDszB,IAAAA,GAAG,CAACz6B,SAAS,CAAC4J,GAAG,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC9G,WAAW,CAACR,IAAI,CAAA,KAAA,CAAO,CAAC;AAErD,IAAA,MAAMu5B,KAAK,GAAG39B,MAAM,CAAC,IAAI,CAAC4E,WAAW,CAACR,IAAI,CAAC,CAACtG,QAAQ,EAAE;AAEtDy+B,IAAAA,GAAG,CAACh+B,YAAY,CAAC,IAAI,EAAEo/B,KAAK,CAAC;AAE7B,IAAA,IAAI,IAAI,CAAC7sB,WAAW,EAAE,EAAE;AACtByrB,MAAAA,GAAG,CAACz6B,SAAS,CAAC4J,GAAG,CAAC1C,iBAAe,CAAC;AACpC,IAAA;AAEA,IAAA,OAAOuzB,GAAG;AACZ,EAAA;EAEAqB,UAAUA,CAACxE,OAAO,EAAE;IAClB,IAAI,CAACkD,WAAW,GAAGlD,OAAO;AAC1B,IAAA,IAAI,IAAI,CAAC3mB,QAAQ,EAAE,EAAE;MACnB,IAAI,CAACuG,gBAAgB,EAAE;MACvB,IAAI,CAACrG,IAAI,EAAE;AACb,IAAA;AACF,EAAA;EAEA+qB,mBAAmBA,CAACtE,OAAO,EAAE;IAC3B,IAAI,IAAI,CAACiD,gBAAgB,EAAE;AACzB,MAAA,IAAI,CAACA,gBAAgB,CAACrC,aAAa,CAACZ,OAAO,CAAC;AAC9C,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACiD,gBAAgB,GAAG,IAAIzC,eAAe,CAAC;QAC1C,GAAG,IAAI,CAACp0B,OAAO;AACf;AACA;QACA4zB,OAAO;QACPC,UAAU,EAAE,IAAI,CAACS,wBAAwB,CAAC,IAAI,CAACt0B,OAAO,CAACq2B,WAAW;AACpE,OAAC,CAAC;AACJ,IAAA;IAEA,OAAO,IAAI,CAACQ,gBAAgB;AAC9B,EAAA;AAEAoB,EAAAA,sBAAsBA,GAAG;IACvB,OAAO;AACL,MAAA,CAAC9C,sBAAsB,GAAG,IAAI,CAAC4C,SAAS;KACzC;AACH,EAAA;AAEAA,EAAAA,SAASA,GAAG;AACV,IAAA,OAAO,IAAI,CAACzD,wBAAwB,CAAC,IAAI,CAACt0B,OAAO,CAACu2B,KAAK,CAAC,IAAI,IAAI,CAACx2B,QAAQ,CAACrG,YAAY,CAAC,wBAAwB,CAAC;AAClH,EAAA;;AAEA;EACA2+B,4BAA4BA,CAACpkC,KAAK,EAAE;AAClC,IAAA,OAAO,IAAI,CAACmL,WAAW,CAACsB,mBAAmB,CAACzM,KAAK,CAACE,cAAc,EAAE,IAAI,CAACmkC,kBAAkB,EAAE,CAAC;AAC9F,EAAA;AAEAhtB,EAAAA,WAAWA,GAAG;AACZ,IAAA,OAAO,IAAI,CAACtL,OAAO,CAACo2B,SAAS,IAAK,IAAI,CAACW,GAAG,IAAI,IAAI,CAACA,GAAG,CAACz6B,SAAS,CAACtG,QAAQ,CAACwN,iBAAe,CAAE;AAC7F,EAAA;AAEAyJ,EAAAA,QAAQA,GAAG;AACT,IAAA,OAAO,IAAI,CAAC8pB,GAAG,IAAI,IAAI,CAACA,GAAG,CAACz6B,SAAS,CAACtG,QAAQ,CAACyN,iBAAe,CAAC;AACjE,EAAA;EAEAyQ,aAAaA,CAAC6iB,GAAG,EAAE;AACjB;IACA,IAAI,IAAI,CAACzkB,qBAAqB,EAAE;MAC9B,MAAMvD,SAAS,GAAGC,sBAAsB,CAAC,IAAI,CAACsD,qBAAqB,EAAE,KAAK,CAAC;MAC3E,OAAOwjB,aAAa,CAAC/mB,SAAS,CAACnP,WAAW,EAAE,CAAC,IAAImP,SAAS;AAC5D,IAAA;;AAEA;AACA,IAAA,MAAMA,SAAS,GAAG3R,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAAC+O,SAAS,EAAE,CAAC,IAAI,EAAEgoB,GAAG,EAAE,IAAI,CAACh3B,QAAQ,CAAC,CAAC;IAC7E,OAAO+1B,aAAa,CAAC/mB,SAAS,CAACnP,WAAW,EAAE,CAAC,IAAImP,SAAS;AAC5D,EAAA;AAEAgE,EAAAA,0BAA0BA,GAAG;AAC3B;IACA,IAAI,OAAO,IAAI,CAAC/S,OAAO,CAAC+O,SAAS,KAAK,QAAQ,EAAE;MAC9C,IAAI,CAACuD,qBAAqB,GAAG,IAAI;AACjC,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACA,qBAAqB,GAAG/D,wBAAwB,CAAC,IAAI,CAACvO,OAAO,CAAC+O,SAAS,EAAE,KAAK,CAAC;IAEpF,IAAI,IAAI,CAACuD,qBAAqB,EAAE;MAC9B,IAAI,CAACiC,yBAAyB,EAAE;AAClC,IAAA;AACF,EAAA;AAEAA,EAAAA,yBAAyBA,GAAG;IAC1B,IAAI,CAACb,2BAA2B,EAAE;AAClC,IAAA,IAAI,CAACrB,oBAAoB,GAAG9C,yBAAyB,CAAC,MAAM;AAC1D,MAAA,IAAI,IAAI,CAACtC,QAAQ,EAAE,EAAE;QACnB,IAAI,CAAC6G,uBAAuB,EAAE;AAChC,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAJ,EAAAA,2BAA2BA,GAAG;AAC5B/D,IAAAA,0BAA0B,CAAC,IAAI,CAAC0C,oBAAoB,CAAC;IACrD,IAAI,CAACA,oBAAoB,GAAG,EAAE;AAChC,EAAA;EAEA,MAAMc,eAAeA,CAAC4jB,GAAG,EAAE;AACzB,IAAA,MAAMhoB,SAAS,GAAG,IAAI,CAACmF,aAAa,CAAC6iB,GAAG,CAAC;AACzC,IAAA,MAAMwB,YAAY,GAAGxB,GAAG,CAACp7B,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAACyD,WAAW,CAACR,IAAI,QAAQ,CAAC;;AAEzE;IACA,MAAM,IAAI,CAACkV,uBAAuB,CAACijB,GAAG,EAAEhoB,SAAS,EAAEwpB,YAAY,CAAC;;AAEhE;IACA,IAAI,CAACnmB,gBAAgB,GAAG6B,UAAU,CAChC,IAAI,CAAClU,QAAQ,EACbg3B,GAAG,EACH,MAAM,IAAI,CAACjjB,uBAAuB,CAACijB,GAAG,EAAE,IAAI,EAAEwB,YAAY,CAC5D,CAAC;AACH,EAAA;AAEA,EAAA,MAAMzkB,uBAAuBA,CAACijB,GAAG,GAAG,IAAI,CAACA,GAAG,EAAEhoB,SAAS,GAAG,IAAI,EAAEwpB,YAAY,GAAG,IAAI,EAAE;IACnF,IAAI,CAACxB,GAAG,EAAE;AACR,MAAA;AACF,IAAA;IAEA,IAAI,CAAChoB,SAAS,EAAE;AACdA,MAAAA,SAAS,GAAG,IAAI,CAACmF,aAAa,CAAC6iB,GAAG,CAAC;AACrC,IAAA;IAEA,IAAI,CAACwB,YAAY,EAAE;AACjBA,MAAAA,YAAY,GAAGxB,GAAG,CAACp7B,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAACyD,WAAW,CAACR,IAAI,CAAA,MAAA,CAAQ,CAAC;AACrE,IAAA;AAEA,IAAA,MAAMuV,UAAU,GAAG,IAAI,CAACC,sBAAsB,CAACmkB,YAAY,CAAC;IAC5D,MAAM5mB,cAAc,GAAG,IAAI,CAAC0C,kBAAkB,CAACtF,SAAS,EAAEoF,UAAU,CAAC;IAErE,MAAM;MAAE/C,CAAC;MAAEC,CAAC;AAAEtC,MAAAA,SAAS,EAAE8G,cAAc;AAAE2iB,MAAAA;KAAgB,GAAG,MAAMrmB,eAAe,CAC/E,IAAI,CAACpS,QAAQ,EACbg3B,GAAG,EACHplB,cACF,CAAC;;AAED;AACAvc,IAAAA,MAAM,CAAC0gB,MAAM,CAACihB,GAAG,CAACrpB,KAAK,EAAE;AACvBqI,MAAAA,QAAQ,EAAE,UAAU;MACpBP,IAAI,EAAE,CAAA,EAAGpE,CAAC,CAAA,EAAA,CAAI;MACdkE,GAAG,EAAE,GAAGjE,CAAC,CAAA,EAAA;AACX,KAAC,CAAC;;AAEF;AACA,IAAA,IAAIknB,YAAY,EAAE;AAChBA,MAAAA,YAAY,CAAC7qB,KAAK,CAACqI,QAAQ,GAAG,UAAU;AAC1C,IAAA;;AAEA;IACAld,WAAW,CAACC,gBAAgB,CAACi+B,GAAG,EAAE,WAAW,EAAElhB,cAAc,CAAC;;AAE9D;AACA;AACA,IAAA,IAAI0iB,YAAY,IAAIC,cAAc,CAACC,KAAK,EAAE;MACxC,MAAM;AAAErnB,QAAAA,CAAC,EAAEsnB,MAAM;AAAErnB,QAAAA,CAAC,EAAEsnB;OAAQ,GAAGH,cAAc,CAACC,KAAK;AACrD,MAAA,MAAMG,UAAU,GAAG/iB,cAAc,CAAC1e,UAAU,CAAC,KAAK,CAAC,IAAI0e,cAAc,CAAC1e,UAAU,CAAC,QAAQ,CAAC;;AAE1F;AACA;AACA/B,MAAAA,MAAM,CAAC0gB,MAAM,CAACyiB,YAAY,CAAC7qB,KAAK,EAAE;QAChC8H,IAAI,EAAEojB,UAAU,IAAIF,MAAM,KAAK,IAAI,GAAG,CAAA,EAAGA,MAAM,CAAA,EAAA,CAAI,GAAG,EAAE;AACxDpjB,QAAAA,GAAG,EAAE,CAACsjB,UAAU,IAAID,MAAM,KAAK,IAAI,GAAG,CAAA,EAAGA,MAAM,CAAA,EAAA,CAAI,GAAG,EAAE;AACxD;AACApjB,QAAAA,KAAK,EAAE,EAAE;AACTF,QAAAA,MAAM,EAAE;AACV,OAAC,CAAC;AACJ,IAAA;AACF,EAAA;AAEAb,EAAAA,UAAUA,GAAG;IACX,MAAM;AAAE9C,MAAAA;KAAQ,GAAG,IAAI,CAAC1R,OAAO;AAE/B,IAAA,IAAI,OAAO0R,MAAM,KAAK,QAAQ,EAAE;AAC9B,MAAA,OAAOA,MAAM,CAACpW,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAAC/I,KAAK,IAAII,MAAM,CAACsS,QAAQ,CAAC1S,KAAK,EAAE,EAAE,CAAC,CAAC;AACnE,IAAA;AAEA,IAAA,IAAI,OAAOyZ,MAAM,KAAK,UAAU,EAAE;AAChC;AACA,MAAA,OAAO,CAAC;QAAE3C,SAAS;AAAE2F,QAAAA;AAAM,OAAC,KAAK;QAC/B,MAAMC,MAAM,GAAGjD,MAAM,CAAC;UAAE3C,SAAS;UAAE8C,SAAS,EAAE6C,KAAK,CAAC7C,SAAS;UAAE+C,QAAQ,EAAEF,KAAK,CAACE;AAAS,SAAC,EAAE,IAAI,CAAC7U,QAAQ,CAAC;AACzG,QAAA,OAAO4U,MAAM;MACf,CAAC;AACH,IAAA;AAEA,IAAA,OAAOjD,MAAM;AACf,EAAA;EAEA4iB,wBAAwBA,CAACQ,GAAG,EAAE;AAC5B,IAAA,OAAO13B,OAAO,CAAC03B,GAAG,EAAE,CAAC,IAAI,CAAC/0B,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAAC,CAAC;AACrD,EAAA;EAEAqU,sBAAsBA,CAACmkB,YAAY,EAAE;AACnC,IAAA,MAAM1jB,WAAW,GAAG,IAAI,CAACL,UAAU,EAAE;AAErC,IAAA,MAAML,UAAU,GAAG;AACjB;AACAzC,IAAAA,MAAM,CACJ,OAAOmD,WAAW,KAAK,UAAU,GAC/BA,WAAW,GACX;AAAEC,MAAAA,QAAQ,EAAED,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAAEE,MAAAA,SAAS,EAAEF,WAAW,CAAC,CAAC,CAAC,IAAI;AAAE,KACpE,CAAC;AACD;AACAG,IAAAA,IAAI,CAAC;AACHC,MAAAA,kBAAkB,EAAE,IAAI,CAACjV,OAAO,CAACiV;AACnC,KAAC,CAAC;AACF;AACAE,IAAAA,KAAK,CAAC;AACJ5D,MAAAA,QAAQ,EAAE,IAAI,CAACvR,OAAO,CAACuR,QAAQ,KAAK,iBAAiB,GAAG,mBAAmB,GAAG,IAAI,CAACvR,OAAO,CAACuR;AAC7F,KAAC,CAAC,CACH;;AAED;AACA,IAAA,IAAIgnB,YAAY,EAAE;AAChBpkB,MAAAA,UAAU,CAACvS,IAAI,CAAC62B,KAAK,CAAC;AAAEtmC,QAAAA,OAAO,EAAEomC;AAAa,OAAC,CAAC,CAAC;AACnD,IAAA;AAEA,IAAA,OAAOpkB,UAAU;AACnB,EAAA;AAEAE,EAAAA,kBAAkBA,CAACtF,SAAS,EAAEoF,UAAU,EAAE;AACxC,IAAA,MAAMsB,aAAa,GAAG;MACpB1G,SAAS;AACToF,MAAAA;KACD;IAED,OAAO;AACL,MAAA,GAAGsB,aAAa;AAChB,MAAA,GAAGrY,OAAO,CAAC,IAAI,CAAC4C,OAAO,CAAC2R,cAAc,EAAE,CAACrX,SAAS,EAAEmb,aAAa,CAAC;KACnE;AACH,EAAA;AAEAuhB,EAAAA,aAAaA,GAAG;IACd,MAAM6B,QAAQ,GAAG,IAAI,CAAC74B,OAAO,CAACxI,OAAO,CAAC8D,KAAK,CAAC,GAAG,CAAC;AAEhD,IAAA,KAAK,MAAM9D,OAAO,IAAIqhC,QAAQ,EAAE;MAC9B,IAAIrhC,OAAO,KAAK,OAAO,EAAE;QACvBnD,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE,IAAI,CAACX,WAAW,CAACuB,SAAS,CAACg1B,aAAW,CAAC,EAAE,IAAI,CAAC31B,OAAO,CAACtL,QAAQ,EAAET,KAAK,IAAI;AACtG,UAAA,MAAM0qB,OAAO,GAAG,IAAI,CAAC0Z,4BAA4B,CAACpkC,KAAK,CAAC;AACxD0qB,UAAAA,OAAO,CAACiY,cAAc,CAACpB,aAAa,CAAC,GAAG,EAAE7W,OAAO,CAAC1R,QAAQ,EAAE,IAAI0R,OAAO,CAACiY,cAAc,CAACpB,aAAa,CAAC,CAAC;UACtG7W,OAAO,CAACva,MAAM,EAAE;AAClB,QAAA,CAAC,CAAC;AACJ,MAAA,CAAC,MAAM,IAAI5M,OAAO,KAAKi+B,cAAc,EAAE;QACrC,MAAMqD,OAAO,GAAGthC,OAAO,KAAK89B,aAAa,GACvC,IAAI,CAACl2B,WAAW,CAACuB,SAAS,CAACqG,kBAAgB,CAAC,GAC5C,IAAI,CAAC5H,WAAW,CAACuB,SAAS,CAACi1B,eAAa,CAAC;QAC3C,MAAMmD,QAAQ,GAAGvhC,OAAO,KAAK89B,aAAa,GACxC,IAAI,CAACl2B,WAAW,CAACuB,SAAS,CAACsG,gBAAgB,CAAC,GAC5C,IAAI,CAAC7H,WAAW,CAACuB,SAAS,CAACk1B,gBAAc,CAAC;AAE5CxhC,QAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE+4B,OAAO,EAAE,IAAI,CAAC94B,OAAO,CAACtL,QAAQ,EAAET,KAAK,IAAI;AACtE,UAAA,MAAM0qB,OAAO,GAAG,IAAI,CAAC0Z,4BAA4B,CAACpkC,KAAK,CAAC;AACxD0qB,UAAAA,OAAO,CAACiY,cAAc,CAAC3iC,KAAK,CAACM,IAAI,KAAK,SAAS,GAAGghC,aAAa,GAAGD,aAAa,CAAC,GAAG,IAAI;UACvF3W,OAAO,CAAC2Y,MAAM,EAAE;AAClB,QAAA,CAAC,CAAC;AACFjjC,QAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEg5B,QAAQ,EAAE,IAAI,CAAC/4B,OAAO,CAACtL,QAAQ,EAAET,KAAK,IAAI;AACvE,UAAA,MAAM0qB,OAAO,GAAG,IAAI,CAAC0Z,4BAA4B,CAACpkC,KAAK,CAAC;UACxD0qB,OAAO,CAACiY,cAAc,CAAC3iC,KAAK,CAACM,IAAI,KAAK,UAAU,GAAGghC,aAAa,GAAGD,aAAa,CAAC,GAC/E3W,OAAO,CAAC5e,QAAQ,CAAC/J,QAAQ,CAAC/B,KAAK,CAAC8B,aAAa,CAAC;UAEhD4oB,OAAO,CAAC0Y,MAAM,EAAE;AAClB,QAAA,CAAC,CAAC;AACJ,MAAA;AACF,IAAA;IAEA,IAAI,CAACE,iBAAiB,GAAG,MAAM;MAC7B,IAAI,IAAI,CAACx3B,QAAQ,EAAE;QACjB,IAAI,CAACmN,IAAI,EAAE;AACb,MAAA;IACF,CAAC;AAED7Y,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,CAAC9D,OAAO,CAACm5B,cAAc,CAAC,EAAEC,gBAAgB,EAAE,IAAI,CAACkC,iBAAiB,CAAC;AAClG,EAAA;AAEAN,EAAAA,SAASA,GAAG;IACV,MAAMV,KAAK,GAAG,IAAI,CAACx2B,QAAQ,CAACrG,YAAY,CAAC,OAAO,CAAC;IAEjD,IAAI,CAAC68B,KAAK,EAAE;AACV,MAAA;AACF,IAAA;IAEA,IAAI,CAAC,IAAI,CAACx2B,QAAQ,CAACrG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAACqG,QAAQ,CAAC2c,WAAW,CAAC3b,IAAI,EAAE,EAAE;MAClF,IAAI,CAAChB,QAAQ,CAAChH,YAAY,CAAC,YAAY,EAAEw9B,KAAK,CAAC;AACjD,IAAA;IAEA,IAAI,CAACx2B,QAAQ,CAAChH,YAAY,CAAC,wBAAwB,EAAEw9B,KAAK,CAAC,CAAA;AAC3D,IAAA,IAAI,CAACx2B,QAAQ,CAAC9G,eAAe,CAAC,OAAO,CAAC;AACxC,EAAA;AAEAq+B,EAAAA,MAAMA,GAAG;IACP,IAAI,IAAI,CAACrqB,QAAQ,EAAE,IAAI,IAAI,CAAC0pB,UAAU,EAAE;MACtC,IAAI,CAACA,UAAU,GAAG,IAAI;AACtB,MAAA;AACF,IAAA;IAEA,IAAI,CAACA,UAAU,GAAG,IAAI;IAEtB,IAAI,CAACqC,WAAW,CAAC,MAAM;MACrB,IAAI,IAAI,CAACrC,UAAU,EAAE;QACnB,IAAI,CAACxpB,IAAI,EAAE;AACb,MAAA;IACF,CAAC,EAAE,IAAI,CAACnN,OAAO,CAACs2B,KAAK,CAACnpB,IAAI,CAAC;AAC7B,EAAA;AAEAkqB,EAAAA,MAAMA,GAAG;AACP,IAAA,IAAI,IAAI,CAACS,oBAAoB,EAAE,EAAE;AAC/B,MAAA;AACF,IAAA;IAEA,IAAI,CAACnB,UAAU,GAAG,KAAK;IAEvB,IAAI,CAACqC,WAAW,CAAC,MAAM;AACrB,MAAA,IAAI,CAAC,IAAI,CAACrC,UAAU,EAAE;QACpB,IAAI,CAACzpB,IAAI,EAAE;AACb,MAAA;IACF,CAAC,EAAE,IAAI,CAAClN,OAAO,CAACs2B,KAAK,CAACppB,IAAI,CAAC;AAC7B,EAAA;AAEA8rB,EAAAA,WAAWA,CAAChlC,OAAO,EAAEilC,OAAO,EAAE;AAC5B7uB,IAAAA,YAAY,CAAC,IAAI,CAACssB,QAAQ,CAAC;IAC3B,IAAI,CAACA,QAAQ,GAAG54B,UAAU,CAAC9J,OAAO,EAAEilC,OAAO,CAAC;AAC9C,EAAA;AAEAnB,EAAAA,oBAAoBA,GAAG;AACrB,IAAA,OAAO1iC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACuhC,cAAc,CAAC,CAAC9/B,QAAQ,CAAC,IAAI,CAAC;AAC1D,EAAA;EAEAgI,UAAUA,CAACC,MAAM,EAAE;IACjB,MAAMm6B,cAAc,GAAGrgC,WAAW,CAACK,iBAAiB,CAAC,IAAI,CAAC6G,QAAQ,CAAC;IAEnE,KAAK,MAAMo5B,aAAa,IAAI/jC,MAAM,CAACtC,IAAI,CAAComC,cAAc,CAAC,EAAE;AACvD,MAAA,IAAIjE,qBAAqB,CAAC3iC,GAAG,CAAC6mC,aAAa,CAAC,EAAE;QAC5C,OAAOD,cAAc,CAACC,aAAa,CAAC;AACtC,MAAA;AACF,IAAA;AAEAp6B,IAAAA,MAAM,GAAG;AACP,MAAA,GAAGm6B,cAAc;MACjB,IAAI,OAAOn6B,MAAM,KAAK,QAAQ,IAAIA,MAAM,GAAGA,MAAM,GAAG,EAAE;KACvD;AACDA,IAAAA,MAAM,GAAG,IAAI,CAACC,eAAe,CAACD,MAAM,CAAC;AACrCA,IAAAA,MAAM,GAAG,IAAI,CAACE,iBAAiB,CAACF,MAAM,CAAC;AACvC,IAAA,IAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;AAC7B,IAAA,OAAOA,MAAM;AACf,EAAA;EAEAE,iBAAiBA,CAACF,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAACyS,SAAS,GAAGzS,MAAM,CAACyS,SAAS,KAAK,KAAK,GAAG3W,QAAQ,CAACuY,IAAI,GAAG1X,UAAU,CAACqD,MAAM,CAACyS,SAAS,CAAC;AAE5F,IAAA,IAAI,OAAOzS,MAAM,CAACu3B,KAAK,KAAK,QAAQ,EAAE;MACpCv3B,MAAM,CAACu3B,KAAK,GAAG;QACbnpB,IAAI,EAAEpO,MAAM,CAACu3B,KAAK;QAClBppB,IAAI,EAAEnO,MAAM,CAACu3B;OACd;AACH,IAAA;AAEA,IAAA,IAAI,OAAOv3B,MAAM,CAACw3B,KAAK,KAAK,QAAQ,EAAE;MACpCx3B,MAAM,CAACw3B,KAAK,GAAGx3B,MAAM,CAACw3B,KAAK,CAACj+B,QAAQ,EAAE;AACxC,IAAA;AAEA,IAAA,IAAI,OAAOyG,MAAM,CAAC60B,OAAO,KAAK,QAAQ,EAAE;MACtC70B,MAAM,CAAC60B,OAAO,GAAG70B,MAAM,CAAC60B,OAAO,CAACt7B,QAAQ,EAAE;AAC5C,IAAA;AAEA,IAAA,OAAOyG,MAAM;AACf,EAAA;AAEAu5B,EAAAA,kBAAkBA,GAAG;IACnB,MAAMv5B,MAAM,GAAG,EAAE;AAEjB,IAAA,KAAK,MAAM,CAAC3M,GAAG,EAAE6F,KAAK,CAAC,IAAI7C,MAAM,CAACyB,OAAO,CAAC,IAAI,CAACmJ,OAAO,CAAC,EAAE;MACvD,IAAI,IAAI,CAACZ,WAAW,CAACV,OAAO,CAACtM,GAAG,CAAC,KAAK6F,KAAK,EAAE;AAC3C8G,QAAAA,MAAM,CAAC3M,GAAG,CAAC,GAAG6F,KAAK;AACrB,MAAA;AACF,IAAA;IAEA8G,MAAM,CAACrK,QAAQ,GAAG,KAAK;IACvBqK,MAAM,CAACvH,OAAO,GAAG,QAAQ;;AAEzB;AACA;AACA;AACA,IAAA,OAAOuH,MAAM;AACf,EAAA;AAEAyU,EAAAA,gBAAgBA,GAAG;IACjB,IAAI,IAAI,CAACpB,gBAAgB,EAAE;MACzB,IAAI,CAACA,gBAAgB,EAAE;MACvB,IAAI,CAACA,gBAAgB,GAAG,IAAI;AAC9B,IAAA;IAEA,IAAI,IAAI,CAAC2kB,GAAG,EAAE;AACZ,MAAA,IAAI,CAACA,GAAG,CAAChkC,MAAM,EAAE;MACjB,IAAI,CAACgkC,GAAG,GAAG,IAAI;AACjB,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA,MAAMqC,WAAW,GAAGnlC,KAAK,IAAI;EAC3B,MAAMY,MAAM,GAAGZ,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACgI,sBAAoB,CAAC;EACzD,IAAI,CAACpP,MAAM,EAAE;AACX,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,MAAMwkC,OAAO,GAAG7C,OAAO,CAAC91B,mBAAmB,CAAC7L,MAAM,CAAC;;AAEnD;AACA,EAAA,IAAIZ,KAAK,CAACM,IAAI,KAAK,SAAS,EAAE;AAC5B8kC,IAAAA,OAAO,CAACzC,cAAc,CAACvjB,KAAK,GAAG,IAAI;IACnCgmB,OAAO,CAAC/B,MAAM,EAAE;AAClB,EAAA;AACF,CAAC;AAEDjjC,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE+6B,eAAa,EAAE3xB,sBAAoB,EAAEm1B,WAAW,CAAC;AAC3E/kC,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEmM,kBAAgB,EAAE/C,sBAAoB,EAAEm1B,WAAW,CAAC;;AC1uB9E;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACA;AACA;;AAEA,MAAMx6B,MAAI,GAAG,SAAS;AAEtB,MAAM06B,cAAc,GAAG,iBAAiB;AACxC,MAAMC,gBAAgB,GAAG,eAAe;AACxC,MAAMt1B,sBAAoB,GAAG,4BAA4B;AAEzD,MAAM0xB,aAAW,GAAG,OAAO;AAC3B,MAAMC,eAAa,GAAG,SAAS;AAC/B,MAAM5uB,gBAAgB,GAAG,YAAY;AAErC,MAAMtI,SAAO,GAAG;EACd,GAAG83B,OAAO,CAAC93B,OAAO;AAClBk1B,EAAAA,OAAO,EAAE,EAAE;AACXliB,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACd3C,EAAAA,SAAS,EAAE,OAAO;EAClBklB,QAAQ,EAAE,sCAAsC,GAC9C,mCAAmC,GACnC,kCAAkC,GAClC,kCAAkC,GAClC,QAAQ;AACVz8B,EAAAA,OAAO,EAAE;AACX,CAAC;AAED,MAAMmH,aAAW,GAAG;EAClB,GAAG63B,OAAO,CAAC73B,WAAW;AACtBi1B,EAAAA,OAAO,EAAE;AACX,CAAC;;AAED;AACA;AACA;;AAEA,MAAM4F,OAAO,SAAShD,OAAO,CAAC;AAC5B;EACA,WAAW93B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACA44B,EAAAA,cAAcA,GAAG;IACf,OAAO,IAAI,CAACO,SAAS,EAAE,IAAI,IAAI,CAAC0B,WAAW,EAAE;AAC/C,EAAA;;AAEA;AACAxB,EAAAA,sBAAsBA,GAAG;IACvB,OAAO;AACL,MAAA,CAACqB,cAAc,GAAG,IAAI,CAACvB,SAAS,EAAE;AAClC,MAAA,CAACwB,gBAAgB,GAAG,IAAI,CAACE,WAAW;KACrC;AACH,EAAA;AAEAA,EAAAA,WAAWA,GAAG;IACZ,OAAO,IAAI,CAACnF,wBAAwB,CAAC,IAAI,CAACt0B,OAAO,CAAC4zB,OAAO,CAAC;AAC5D,EAAA;AACF;;AAEA;AACA;AACA;;AAEA,MAAM8F,WAAW,GAAGzlC,KAAK,IAAI;EAC3B,MAAMY,MAAM,GAAGZ,KAAK,CAACY,MAAM,CAACoH,OAAO,CAACgI,sBAAoB,CAAC;EACzD,IAAI,CAACpP,MAAM,EAAE;AACX,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,IAAIZ,KAAK,CAACM,IAAI,KAAK,OAAO,EAAE;IAC1BN,KAAK,CAAC4O,cAAc,EAAE;AACxB,EAAA;;AAEA;AACA,EAAA,MAAM82B,OAAO,GAAGH,OAAO,CAAC94B,mBAAmB,CAAC7L,MAAM,CAAC;;AAEnD;AACA,EAAA,IAAIZ,KAAK,CAACM,IAAI,KAAK,OAAO,EAAE;IAC1BolC,OAAO,CAACv1B,MAAM,EAAE;AAClB,EAAA,CAAC,MAAM,IAAInQ,KAAK,CAACM,IAAI,KAAK,SAAS,EAAE;AACnColC,IAAAA,OAAO,CAAC/C,cAAc,CAACvjB,KAAK,GAAG,IAAI;IACnCsmB,OAAO,CAACrC,MAAM,EAAE;AAClB,EAAA;AACF,CAAC;;AAED;AACAjjC,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE86B,aAAW,EAAE1xB,sBAAoB,EAAEy1B,WAAW,CAAC;AACzErlC,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAE+6B,eAAa,EAAE3xB,sBAAoB,EAAEy1B,WAAW,CAAC;AAC3ErlC,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEmM,gBAAgB,EAAE/C,sBAAoB,EAAEy1B,WAAW,CAAC;;AC5G9E;AACA;AACA;AACA;AACA;AACA;;;AASA;AACA;AACA;;AAEA,MAAM96B,MAAI,GAAG,WAAW;AACxB,MAAMsB,UAAQ,GAAG,cAAc;AAC/B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAChC,MAAM6D,YAAY,GAAG,WAAW;AAEhC,MAAM61B,cAAc,GAAG,CAAA,QAAA,EAAWx5B,WAAS,CAAA,CAAE;AAC7C,MAAMu1B,aAAW,GAAG,CAAA,KAAA,EAAQv1B,WAAS,CAAA,CAAE;AACvC,MAAM+G,qBAAmB,GAAG,CAAA,IAAA,EAAO/G,WAAS,CAAA,EAAG2D,YAAY,CAAA,CAAE;AAE7D,MAAM81B,oBAAoB,GAAG,WAAW;AACxC,MAAM71B,mBAAiB,GAAG,QAAQ;AAElC,MAAM81B,iBAAiB,GAAG,wBAAwB;AAClD,MAAMC,qBAAqB,GAAG,QAAQ;AACtC,MAAMC,uBAAuB,GAAG,mBAAmB;AACnD,MAAMC,kBAAkB,GAAG,WAAW;AACtC,MAAMC,kBAAkB,GAAG,WAAW;AACtC,MAAMC,mBAAmB,GAAG,kBAAkB;AAC9C,MAAMC,mBAAmB,GAAG,CAAA,EAAGH,kBAAkB,CAAA,EAAA,EAAKC,kBAAkB,CAAA,GAAA,EAAMD,kBAAkB,CAAA,EAAA,EAAKE,mBAAmB,CAAA,CAAE;AAC1H,MAAME,sBAAoB,GAAG,yBAAyB;AAEtD,MAAM37B,SAAO,GAAG;AACd47B,EAAAA,UAAU,EAAE,cAAc;AAC1BC,EAAAA,YAAY,EAAE,KAAK;AACnB1lC,EAAAA,MAAM,EAAE,IAAI;AACZswB,EAAAA,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED,MAAMxmB,aAAW,GAAG;AAClB27B,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,YAAY,EAAE,SAAS;AACvB1lC,EAAAA,MAAM,EAAE,SAAS;AACjBswB,EAAAA,SAAS,EAAE;AACb,CAAC;;AAED;AACA;AACA;;AAEA,MAAMqV,SAAS,SAAS16B,aAAa,CAAC;AACpCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;;AAEtB;AACA,IAAA,IAAI,CAAC07B,YAAY,GAAG,IAAIxoC,GAAG,EAAE;AAC7B,IAAA,IAAI,CAACyoC,mBAAmB,GAAG,IAAIzoC,GAAG,EAAE;AACpC,IAAA,IAAI,CAAC0oC,YAAY,GAAGz/B,gBAAgB,CAAC,IAAI,CAAC6E,QAAQ,CAAC,CAAC66B,SAAS,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC76B,QAAQ;IAClG,IAAI,CAAC86B,aAAa,GAAG,IAAI;IACzB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,mBAAmB,GAAG;AACzBC,MAAAA,eAAe,EAAE,CAAC;AAClBC,MAAAA,eAAe,EAAE;KAClB;AACD,IAAA,IAAI,CAACC,OAAO,EAAE,CAAA;AAChB,EAAA;;AAEA;EACA,WAAWx8B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAs8B,EAAAA,OAAOA,GAAG;IACR,IAAI,CAACC,gCAAgC,EAAE;IACvC,IAAI,CAACC,wBAAwB,EAAE;IAE/B,IAAI,IAAI,CAACN,SAAS,EAAE;AAClB,MAAA,IAAI,CAACA,SAAS,CAACvc,UAAU,EAAE;AAC7B,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAACuc,SAAS,GAAG,IAAI,CAACO,eAAe,EAAE;AACzC,IAAA;IAEA,KAAK,MAAMC,OAAO,IAAI,IAAI,CAACZ,mBAAmB,CAACrlC,MAAM,EAAE,EAAE;AACvD,MAAA,IAAI,CAACylC,SAAS,CAAC1a,OAAO,CAACkb,OAAO,CAAC;AACjC,IAAA;AACF,EAAA;AAEAn7B,EAAAA,OAAOA,GAAG;AACR,IAAA,IAAI,CAAC26B,SAAS,CAACvc,UAAU,EAAE;IAC3B,KAAK,CAACpe,OAAO,EAAE;AACjB,EAAA;;AAEA;EACAlB,iBAAiBA,CAACF,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAAClK,MAAM,GAAG6G,UAAU,CAACqD,MAAM,CAAClK,MAAM,CAAC,IAAIgG,QAAQ,CAACuY,IAAI;AAE1D,IAAA,IAAI,OAAOrU,MAAM,CAAComB,SAAS,KAAK,QAAQ,EAAE;MACxCpmB,MAAM,CAAComB,SAAS,GAAGpmB,MAAM,CAAComB,SAAS,CAAC7pB,KAAK,CAAC,GAAG,CAAC,CAAC0F,GAAG,CAAC/I,KAAK,IAAII,MAAM,CAAC+C,UAAU,CAACnD,KAAK,CAAC,CAAC;AACvF,IAAA;AAEA,IAAA,OAAO8G,MAAM;AACf,EAAA;AAEAq8B,EAAAA,wBAAwBA,GAAG;AACzB,IAAA,IAAI,CAAC,IAAI,CAACp7B,OAAO,CAACu6B,YAAY,EAAE;AAC9B,MAAA;AACF,IAAA;;AAEA;IACAlmC,YAAY,CAACC,GAAG,CAAC,IAAI,CAAC0L,OAAO,CAACnL,MAAM,EAAE8gC,aAAW,CAAC;AAElDthC,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACiJ,OAAO,CAACnL,MAAM,EAAE8gC,aAAW,EAAEoE,qBAAqB,EAAE9lC,KAAK,IAAI;AAChF,MAAA,MAAMsnC,iBAAiB,GAAG,IAAI,CAACb,mBAAmB,CAACloC,GAAG,CAACyB,KAAK,CAACY,MAAM,CAAC2mC,IAAI,CAAC;AACzE,MAAA,IAAID,iBAAiB,EAAE;QACrBtnC,KAAK,CAAC4O,cAAc,EAAE;AACtB,QAAA,MAAMhG,IAAI,GAAG,IAAI,CAAC89B,YAAY,IAAI5gC,MAAM;QACxC,MAAM0hC,MAAM,GAAGF,iBAAiB,CAACG,SAAS,GAAG,IAAI,CAAC37B,QAAQ,CAAC27B,SAAS;QACpE,IAAI7+B,IAAI,CAAC8+B,QAAQ,EAAE;UACjB9+B,IAAI,CAAC8+B,QAAQ,CAAC;AAAErmB,YAAAA,GAAG,EAAEmmB,MAAM;AAAEG,YAAAA,QAAQ,EAAE;AAAS,WAAC,CAAC;AAClD,UAAA;AACF,QAAA;;AAEA;QACA/+B,IAAI,CAACg/B,SAAS,GAAGJ,MAAM;AACzB,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA;AAEAJ,EAAAA,eAAeA,GAAG;AAChB,IAAA,MAAMnN,OAAO,GAAG;MACdrxB,IAAI,EAAE,IAAI,CAAC89B,YAAY;AACvBxV,MAAAA,SAAS,EAAE,IAAI,CAACnlB,OAAO,CAACmlB,SAAS;AACjCmV,MAAAA,UAAU,EAAE,IAAI,CAACt6B,OAAO,CAACs6B;KAC1B;AAED,IAAA,OAAO,IAAIwB,oBAAoB,CAACjlC,OAAO,IAAI,IAAI,CAACklC,iBAAiB,CAACllC,OAAO,CAAC,EAAEq3B,OAAO,CAAC;AACtF,EAAA;;AAEA;EACA6N,iBAAiBA,CAACllC,OAAO,EAAE;AACzB,IAAA,MAAMmlC,aAAa,GAAG7H,KAAK,IAAI,IAAI,CAACsG,YAAY,CAACjoC,GAAG,CAAC,IAAI2hC,KAAK,CAACt/B,MAAM,CAACsF,EAAE,EAAE,CAAC;IAC3E,MAAM8hC,QAAQ,GAAG9H,KAAK,IAAI;MACxB,IAAI,CAAC4G,mBAAmB,CAACC,eAAe,GAAG7G,KAAK,CAACt/B,MAAM,CAAC6mC,SAAS;AACjE,MAAA,IAAI,CAACQ,QAAQ,CAACF,aAAa,CAAC7H,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM8G,eAAe,GAAG,CAAC,IAAI,CAACN,YAAY,IAAI9/B,QAAQ,CAAC6B,eAAe,EAAEm/B,SAAS;IACjF,MAAMM,eAAe,GAAGlB,eAAe,IAAI,IAAI,CAACF,mBAAmB,CAACE,eAAe;AACnF,IAAA,IAAI,CAACF,mBAAmB,CAACE,eAAe,GAAGA,eAAe;AAE1D,IAAA,KAAK,MAAM9G,KAAK,IAAIt9B,OAAO,EAAE;AAC3B,MAAA,IAAI,CAACs9B,KAAK,CAACiI,cAAc,EAAE;QACzB,IAAI,CAACvB,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,CAACwB,iBAAiB,CAACL,aAAa,CAAC7H,KAAK,CAAC,CAAC;AAE5C,QAAA;AACF,MAAA;AAEA,MAAA,MAAMmI,wBAAwB,GAAGnI,KAAK,CAACt/B,MAAM,CAAC6mC,SAAS,IAAI,IAAI,CAACX,mBAAmB,CAACC,eAAe;AACnG;MACA,IAAImB,eAAe,IAAIG,wBAAwB,EAAE;QAC/CL,QAAQ,CAAC9H,KAAK,CAAC;AACf;QACA,IAAI,CAAC8G,eAAe,EAAE;AACpB,UAAA;AACF,QAAA;AAEA,QAAA;AACF,MAAA;;AAEA;AACA,MAAA,IAAI,CAACkB,eAAe,IAAI,CAACG,wBAAwB,EAAE;QACjDL,QAAQ,CAAC9H,KAAK,CAAC;AACjB,MAAA;AACF,IAAA;AACF,EAAA;AAEAgH,EAAAA,gCAAgCA,GAAG;AACjC,IAAA,IAAI,CAACV,YAAY,GAAG,IAAIxoC,GAAG,EAAE;AAC7B,IAAA,IAAI,CAACyoC,mBAAmB,GAAG,IAAIzoC,GAAG,EAAE;AAEpC,IAAA,MAAMsqC,WAAW,GAAGp7B,cAAc,CAAC7L,IAAI,CAACykC,qBAAqB,EAAE,IAAI,CAAC/5B,OAAO,CAACnL,MAAM,CAAC;AAEnF,IAAA,KAAK,MAAM2nC,MAAM,IAAID,WAAW,EAAE;AAChC;MACA,IAAI,CAACC,MAAM,CAAChB,IAAI,IAAIr/B,UAAU,CAACqgC,MAAM,CAAC,EAAE;AACtC,QAAA;AACF,MAAA;AAEA,MAAA,MAAMjB,iBAAiB,GAAGp6B,cAAc,CAACG,OAAO,CAACm7B,SAAS,CAACD,MAAM,CAAChB,IAAI,CAAC,EAAE,IAAI,CAACz7B,QAAQ,CAAC;;AAEvF;AACA,MAAA,IAAInE,SAAS,CAAC2/B,iBAAiB,CAAC,EAAE;AAChC,QAAA,IAAI,CAACd,YAAY,CAACvoC,GAAG,CAACuqC,SAAS,CAACD,MAAM,CAAChB,IAAI,CAAC,EAAEgB,MAAM,CAAC;QACrD,IAAI,CAAC9B,mBAAmB,CAACxoC,GAAG,CAACsqC,MAAM,CAAChB,IAAI,EAAED,iBAAiB,CAAC;AAC9D,MAAA;AACF,IAAA;AACF,EAAA;EAEAW,QAAQA,CAACrnC,MAAM,EAAE;AACf,IAAA,IAAI,IAAI,CAACgmC,aAAa,KAAKhmC,MAAM,EAAE;AACjC,MAAA;AACF,IAAA;IAEA,IAAI,CAACwnC,iBAAiB,CAAC,IAAI,CAACr8B,OAAO,CAACnL,MAAM,CAAC;IAC3C,IAAI,CAACgmC,aAAa,GAAGhmC,MAAM;AAC3BA,IAAAA,MAAM,CAACyH,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;AACvC,IAAA,IAAI,CAAC04B,gBAAgB,CAAC7nC,MAAM,CAAC;IAE7BR,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE65B,cAAc,EAAE;AAAE7jC,MAAAA,aAAa,EAAElB;AAAO,KAAC,CAAC;AAChF,EAAA;EAEA6nC,gBAAgBA,CAAC7nC,MAAM,EAAE;AACvB;IACA,IAAIA,MAAM,CAACyH,SAAS,CAACtG,QAAQ,CAAC6jC,oBAAoB,CAAC,EAAE;MACnD,MAAM8C,UAAU,GAAG9nC,MAAM,CAACoH,OAAO,CAAC,OAAO,CAAC,EAAE8F,sBAAsB;AAClE,MAAA,IAAI46B,UAAU,EAAEl7B,OAAO,CAAC44B,sBAAoB,CAAC,EAAE;AAC7CsC,QAAAA,UAAU,CAACrgC,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;AAC7C,MAAA;AAEA,MAAA;AACF,IAAA;IAEA,KAAK,MAAM44B,SAAS,IAAIz7B,cAAc,CAACO,OAAO,CAAC7M,MAAM,EAAEmlC,uBAAuB,CAAC,EAAE;AAC/E;AACA;MACA,KAAK,MAAM7d,IAAI,IAAIhb,cAAc,CAACU,IAAI,CAAC+6B,SAAS,EAAExC,mBAAmB,CAAC,EAAE;AACtEje,QAAAA,IAAI,CAAC7f,SAAS,CAAC4J,GAAG,CAAClC,mBAAiB,CAAC;AACvC,MAAA;AACF,IAAA;AACF,EAAA;EAEAq4B,iBAAiBA,CAAC9vB,MAAM,EAAE;AACxBA,IAAAA,MAAM,CAACjQ,SAAS,CAACvJ,MAAM,CAACiR,mBAAiB,CAAC;AAE1C,IAAA,MAAM64B,WAAW,GAAG17B,cAAc,CAAC7L,IAAI,CAAC,CAAA,EAAGykC,qBAAqB,CAAA,CAAA,EAAI/1B,mBAAiB,CAAA,CAAE,EAAEuI,MAAM,CAAC;AAChG,IAAA,KAAK,MAAMuwB,IAAI,IAAID,WAAW,EAAE;AAC9BC,MAAAA,IAAI,CAACxgC,SAAS,CAACvJ,MAAM,CAACiR,mBAAiB,CAAC;AAC1C,IAAA;AACF,EAAA;AACF;;AAEA;AACA;AACA;;AAEA3P,YAAY,CAAC0C,EAAE,CAACgD,MAAM,EAAEoN,qBAAmB,EAAE,MAAM;EACjD,KAAK,MAAM41B,GAAG,IAAI57B,cAAc,CAAC7L,IAAI,CAACwkC,iBAAiB,CAAC,EAAE;AACxDU,IAAAA,SAAS,CAAC95B,mBAAmB,CAACq8B,GAAG,CAAC;AACpC,EAAA;AACF,CAAC,CAAC;;AC1QF;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMn+B,MAAI,GAAG,KAAK;AAClB,MAAMsB,UAAQ,GAAG,QAAQ;AACzB,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAM2L,YAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,cAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAMuL,YAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,aAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AACvC,MAAM8D,oBAAoB,GAAG,CAAA,KAAA,EAAQ9D,WAAS,CAAA,CAAE;AAChD,MAAM2G,aAAa,GAAG,CAAA,OAAA,EAAU3G,WAAS,CAAA,CAAE;AAC3C,MAAM+G,mBAAmB,GAAG,CAAA,IAAA,EAAO/G,WAAS,CAAA,CAAE;AAE9C,MAAMkG,cAAc,GAAG,WAAW;AAClC,MAAMC,eAAe,GAAG,YAAY;AACpC,MAAMuJ,YAAY,GAAG,SAAS;AAC9B,MAAMC,cAAc,GAAG,WAAW;AAClC,MAAMC,QAAQ,GAAG,MAAM;AACvB,MAAMC,OAAO,GAAG,KAAK;AAErB,MAAMjM,iBAAiB,GAAG,QAAQ;AAClC,MAAMR,iBAAe,GAAG,MAAM;AAC9B,MAAMC,iBAAe,GAAG,MAAM;AAC9B,MAAM42B,oBAAoB,GAAG,yBAAyB;AACtD,MAAM7pB,aAAa,GAAG,OAAO;AAC7B,MAAMwsB,wBAAwB,GAAG,CAAA,KAAA,EAAQ3C,oBAAoB,CAAA,CAAA,CAAG;AAEhE,MAAM4C,kBAAkB,GAAG,qCAAqC;AAChE,MAAMC,cAAc,GAAG,6BAA6B;AACpD,MAAMC,cAAc,GAAG,CAAA,SAAA,EAAYH,wBAAwB,qBAAqBA,wBAAwB,CAAA,cAAA,EAAiBA,wBAAwB,CAAA,CAAE;AACnJ,MAAM/4B,sBAAoB,GAAG,wBAAwB;AACrD,MAAMm5B,mBAAmB,GAAG,CAAA,EAAGD,cAAc,CAAA,EAAA,EAAKl5B,sBAAoB,CAAA,CAAE;AAExE,MAAMo5B,2BAA2B,GAAG,CAAA,CAAA,EAAIr5B,iBAAiB,CAAA,sBAAA,CAAwB;;AAEjF;AACA;AACA;;AAEA,MAAMs5B,GAAG,SAASx9B,aAAa,CAAC;EAC9BV,WAAWA,CAACjN,OAAO,EAAE;IACnB,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACogB,OAAO,GAAG,IAAI,CAACxS,QAAQ,CAAC9D,OAAO,CAACghC,kBAAkB,CAAC;AAExD,IAAA,IAAI,CAAC,IAAI,CAAC1qB,OAAO,EAAE;AACjB,MAAA;AACA;AACA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI,CAACgrB,qBAAqB,CAAC,IAAI,CAAChrB,OAAO,EAAE,IAAI,CAACirB,YAAY,EAAE,CAAC;AAE7DnpC,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAEgH,aAAa,EAAE9S,KAAK,IAAI,IAAI,CAAC+V,QAAQ,CAAC/V,KAAK,CAAC,CAAC;AAC9E,EAAA;;AAEA;EACA,WAAW2K,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuO,EAAAA,IAAIA,GAAG;AAAE;AACP,IAAA,MAAMswB,SAAS,GAAG,IAAI,CAAC19B,QAAQ;AAC/B,IAAA,IAAI,IAAI,CAAC29B,aAAa,CAACD,SAAS,CAAC,EAAE;AACjC,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,MAAME,MAAM,GAAG,IAAI,CAACC,cAAc,EAAE;IAEpC,MAAM7pB,SAAS,GAAG4pB,MAAM,GACtBtpC,YAAY,CAACmD,OAAO,CAACmmC,MAAM,EAAE9xB,YAAU,EAAE;AAAE9V,MAAAA,aAAa,EAAE0nC;KAAW,CAAC,GACtE,IAAI;IAEN,MAAMxqB,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAACimC,SAAS,EAAE9xB,YAAU,EAAE;AAAE5V,MAAAA,aAAa,EAAE4nC;AAAO,KAAC,CAAC;IAExF,IAAI1qB,SAAS,CAACpP,gBAAgB,IAAKkQ,SAAS,IAAIA,SAAS,CAAClQ,gBAAiB,EAAE;AAC3E,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACg6B,WAAW,CAACF,MAAM,EAAEF,SAAS,CAAC;AACnC,IAAA,IAAI,CAACK,SAAS,CAACL,SAAS,EAAEE,MAAM,CAAC;AACnC,EAAA;;AAEA;AACAG,EAAAA,SAASA,CAAC3rC,OAAO,EAAE4rC,WAAW,EAAE;IAC9B,IAAI,CAAC5rC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEAA,IAAAA,OAAO,CAACmK,SAAS,CAAC4J,GAAG,CAAClC,iBAAiB,CAAC;IAExC,IAAI,CAAC85B,SAAS,CAAC38B,cAAc,CAACmB,sBAAsB,CAACnQ,OAAO,CAAC,CAAC,CAAA;;IAE9D,MAAMwb,QAAQ,GAAGA,MAAM;MACrB,IAAIxb,OAAO,CAACuH,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC1CvH,QAAAA,OAAO,CAACmK,SAAS,CAAC4J,GAAG,CAACzC,iBAAe,CAAC;AACtC,QAAA;AACF,MAAA;AAEAtR,MAAAA,OAAO,CAAC8G,eAAe,CAAC,UAAU,CAAC;AACnC9G,MAAAA,OAAO,CAAC4G,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;AAC3C,MAAA,IAAI,CAACilC,WAAW,CAAC7rC,OAAO,EAAE,IAAI,CAAC;AAC/BkC,MAAAA,YAAY,CAACmD,OAAO,CAACrF,OAAO,EAAEyZ,aAAW,EAAE;AACzC7V,QAAAA,aAAa,EAAEgoC;AACjB,OAAC,CAAC;IACJ,CAAC;AAED,IAAA,IAAI,CAACx9B,cAAc,CAACoN,QAAQ,EAAExb,OAAO,EAAEA,OAAO,CAACmK,SAAS,CAACtG,QAAQ,CAACwN,iBAAe,CAAC,CAAC;AACrF,EAAA;AAEAq6B,EAAAA,WAAWA,CAAC1rC,OAAO,EAAE4rC,WAAW,EAAE;IAChC,IAAI,CAAC5rC,OAAO,EAAE;AACZ,MAAA;AACF,IAAA;AAEAA,IAAAA,OAAO,CAACmK,SAAS,CAACvJ,MAAM,CAACiR,iBAAiB,CAAC;IAC3C7R,OAAO,CAACw9B,IAAI,EAAE;IAEd,IAAI,CAACkO,WAAW,CAAC18B,cAAc,CAACmB,sBAAsB,CAACnQ,OAAO,CAAC,CAAC,CAAA;;IAEhE,MAAMwb,QAAQ,GAAGA,MAAM;MACrB,IAAIxb,OAAO,CAACuH,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;AAC1CvH,QAAAA,OAAO,CAACmK,SAAS,CAACvJ,MAAM,CAAC0Q,iBAAe,CAAC;AACzC,QAAA;AACF,MAAA;AAEAtR,MAAAA,OAAO,CAAC4G,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;AAC5C5G,MAAAA,OAAO,CAAC4G,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AACtC,MAAA,IAAI,CAACilC,WAAW,CAAC7rC,OAAO,EAAE,KAAK,CAAC;AAChCkC,MAAAA,YAAY,CAACmD,OAAO,CAACrF,OAAO,EAAE2Z,cAAY,EAAE;AAAE/V,QAAAA,aAAa,EAAEgoC;AAAY,OAAC,CAAC;IAC7E,CAAC;AAED,IAAA,IAAI,CAACx9B,cAAc,CAACoN,QAAQ,EAAExb,OAAO,EAAEA,OAAO,CAACmK,SAAS,CAACtG,QAAQ,CAACwN,iBAAe,CAAC,CAAC;AACrF,EAAA;EAEAwG,QAAQA,CAAC/V,KAAK,EAAE;IACd,IAAI,CAAE,CAACqS,cAAc,EAAEC,eAAe,EAAEuJ,YAAY,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,OAAO,CAAC,CAACnZ,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAE,EAAE;AAC7G,MAAA;AACF,IAAA;IAEA6B,KAAK,CAAC2iB,eAAe,EAAE,CAAA;IACvB3iB,KAAK,CAAC4O,cAAc,EAAE;AAEtB,IAAA,MAAMtB,QAAQ,GAAG,IAAI,CAACi8B,YAAY,EAAE,CAAClkC,MAAM,CAACnH,OAAO,IAAI,CAACgK,UAAU,CAAChK,OAAO,CAAC,CAAC;AAC5E,IAAA,IAAI8rC,iBAAiB;AAErB,IAAA,IAAI,CAACjuB,QAAQ,EAAEC,OAAO,CAAC,CAACnZ,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAC,EAAE;AAC3C6rC,MAAAA,iBAAiB,GAAG18B,QAAQ,CAACtN,KAAK,CAAC7B,GAAG,KAAK4d,QAAQ,GAAG,CAAC,GAAGzO,QAAQ,CAACnK,MAAM,GAAG,CAAC,CAAC;AAChF,IAAA,CAAC,MAAM;AACL,MAAA,MAAMwT,MAAM,GAAG,CAACrE,eAAe,EAAEwJ,cAAc,CAAC,CAACjZ,QAAQ,CAAC7C,KAAK,CAAC7B,GAAG,CAAC;AACpE6rC,MAAAA,iBAAiB,GAAGlgC,oBAAoB,CAACwD,QAAQ,EAAEtN,KAAK,CAACY,MAAM,EAAE+V,MAAM,EAAE,IAAI,CAAC;AAChF,IAAA;AAEA,IAAA,IAAIqzB,iBAAiB,EAAE;MACrBA,iBAAiB,CAAC5qB,KAAK,CAAC;AAAE6qB,QAAAA,aAAa,EAAE;AAAK,OAAC,CAAC;MAChDZ,GAAG,CAAC58B,mBAAmB,CAACu9B,iBAAiB,CAAC,CAAC9wB,IAAI,EAAE;AACnD,IAAA;AACF,EAAA;AAEAqwB,EAAAA,YAAYA,GAAG;AAAE;IACf,OAAOr8B,cAAc,CAAC7L,IAAI,CAAC8nC,mBAAmB,EAAE,IAAI,CAAC7qB,OAAO,CAAC;AAC/D,EAAA;AAEAqrB,EAAAA,cAAcA,GAAG;AACf,IAAA,OAAO,IAAI,CAACJ,YAAY,EAAE,CAACloC,IAAI,CAACkM,KAAK,IAAI,IAAI,CAACk8B,aAAa,CAACl8B,KAAK,CAAC,CAAC,IAAI,IAAI;AAC7E,EAAA;AAEA+7B,EAAAA,qBAAqBA,CAAChxB,MAAM,EAAEhL,QAAQ,EAAE;IACtC,IAAI,CAAC48B,wBAAwB,CAAC5xB,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;AAExD,IAAA,KAAK,MAAM/K,KAAK,IAAID,QAAQ,EAAE;AAC5B,MAAA,IAAI,CAAC68B,4BAA4B,CAAC58B,KAAK,CAAC;AAC1C,IAAA;AACF,EAAA;EAEA48B,4BAA4BA,CAAC58B,KAAK,EAAE;AAClCA,IAAAA,KAAK,GAAG,IAAI,CAAC68B,gBAAgB,CAAC78B,KAAK,CAAC;AACpC,IAAA,MAAM88B,QAAQ,GAAG,IAAI,CAACZ,aAAa,CAACl8B,KAAK,CAAC;AAC1C,IAAA,MAAM+8B,SAAS,GAAG,IAAI,CAACC,gBAAgB,CAACh9B,KAAK,CAAC;AAC9CA,IAAAA,KAAK,CAACzI,YAAY,CAAC,eAAe,EAAEulC,QAAQ,CAAC;IAE7C,IAAIC,SAAS,KAAK/8B,KAAK,EAAE;MACvB,IAAI,CAAC28B,wBAAwB,CAACI,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC;AAClE,IAAA;IAEA,IAAI,CAACD,QAAQ,EAAE;AACb98B,MAAAA,KAAK,CAACzI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;AACtC,IAAA;IAEA,IAAI,CAAColC,wBAAwB,CAAC38B,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;;AAEnD;AACA,IAAA,IAAI,CAACi9B,kCAAkC,CAACj9B,KAAK,CAAC;AAChD,EAAA;EAEAi9B,kCAAkCA,CAACj9B,KAAK,EAAE;AACxC,IAAA,MAAM3M,MAAM,GAAGsM,cAAc,CAACmB,sBAAsB,CAACd,KAAK,CAAC;IAE3D,IAAI,CAAC3M,MAAM,EAAE;AACX,MAAA;AACF,IAAA;IAEA,IAAI,CAACspC,wBAAwB,CAACtpC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;IAEzD,IAAI2M,KAAK,CAACrH,EAAE,EAAE;AACZ,MAAA,IAAI,CAACgkC,wBAAwB,CAACtpC,MAAM,EAAE,iBAAiB,EAAE,CAAA,EAAG2M,KAAK,CAACrH,EAAE,CAAA,CAAE,CAAC;AACzE,IAAA;AACF,EAAA;AAEA6jC,EAAAA,WAAWA,CAAC7rC,OAAO,EAAE8xB,IAAI,EAAE;AACzB,IAAA,MAAMsa,SAAS,GAAG,IAAI,CAACC,gBAAgB,CAACrsC,OAAO,CAAC;IAChD,MAAMwqC,UAAU,GAAGx7B,cAAc,CAACG,OAAO,CAAC+4B,oBAAoB,EAAEkE,SAAS,CAAC;IAC1E,IAAI,CAAC5B,UAAU,EAAE;AACf,MAAA;AACF,IAAA;IAEA,MAAM/qB,IAAI,GAAGzQ,cAAc,CAACG,OAAO,CAACkP,aAAa,EAAE+tB,SAAS,CAAC;IAE7D5B,UAAU,CAACrgC,SAAS,CAAC8H,MAAM,CAACJ,iBAAiB,EAAEigB,IAAI,CAAC;AACpD,IAAA,IAAIrS,IAAI,EAAE;MACRA,IAAI,CAACtV,SAAS,CAAC8H,MAAM,CAACX,iBAAe,EAAEwgB,IAAI,CAAC;AAC9C,IAAA;AAEA0Y,IAAAA,UAAU,CAAC5jC,YAAY,CAAC,eAAe,EAAEkrB,IAAI,CAAC;AAChD,EAAA;AAEAka,EAAAA,wBAAwBA,CAAChsC,OAAO,EAAEqgC,SAAS,EAAEv6B,KAAK,EAAE;AAClD,IAAA,IAAI,CAAC9F,OAAO,CAACqK,YAAY,CAACg2B,SAAS,CAAC,EAAE;AACpCrgC,MAAAA,OAAO,CAAC4G,YAAY,CAACy5B,SAAS,EAAEv6B,KAAK,CAAC;AACxC,IAAA;AACF,EAAA;EAEAylC,aAAaA,CAAC9wB,IAAI,EAAE;AAClB,IAAA,OAAOA,IAAI,CAACtQ,SAAS,CAACtG,QAAQ,CAACgO,iBAAiB,CAAC;AACnD,EAAA;;AAEA;EACAq6B,gBAAgBA,CAACzxB,IAAI,EAAE;AACrB,IAAA,OAAOA,IAAI,CAACnL,OAAO,CAAC27B,mBAAmB,CAAC,GAAGxwB,IAAI,GAAGzL,cAAc,CAACG,OAAO,CAAC87B,mBAAmB,EAAExwB,IAAI,CAAC;AACrG,EAAA;;AAEA;EACA4xB,gBAAgBA,CAAC5xB,IAAI,EAAE;AACrB,IAAA,OAAOA,IAAI,CAAC3Q,OAAO,CAACihC,cAAc,CAAC,IAAItwB,IAAI;AAC7C,EAAA;AACF;;AAEA;AACA;AACA;;AAEAvY,YAAY,CAAC0C,EAAE,CAAC8D,QAAQ,EAAEqJ,oBAAoB,EAAED,sBAAoB,EAAE,UAAUhQ,KAAK,EAAE;AACrF,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC6C,QAAQ,CAAC,IAAI,CAAC8L,OAAO,CAAC,EAAE;IACxC3O,KAAK,CAAC4O,cAAc,EAAE;AACxB,EAAA;AAEA,EAAA,IAAI1G,UAAU,CAAC,IAAI,CAAC,EAAE;AACpB,IAAA;AACF,EAAA;EAEAmhC,GAAG,CAAC58B,mBAAmB,CAAC,IAAI,CAAC,CAACyM,IAAI,EAAE;AACtC,CAAC,CAAC;;AAEF;AACA;AACA;AACA9Y,YAAY,CAAC0C,EAAE,CAACgD,MAAM,EAAEoN,mBAAmB,EAAE,MAAM;EACjD,KAAK,MAAMhV,OAAO,IAAIgP,cAAc,CAAC7L,IAAI,CAAC+nC,2BAA2B,CAAC,EAAE;AACtEC,IAAAA,GAAG,CAAC58B,mBAAmB,CAACvO,OAAO,CAAC;AAClC,EAAA;AACF,CAAC,CAAC;;AC/RF;AACA;AACA;AACA;AACA;AACA;;;AAOA;AACA;AACA;;AAEA,MAAMyM,MAAI,GAAG,OAAO;AACpB,MAAMsB,UAAQ,GAAG,UAAU;AAC3B,MAAME,WAAS,GAAG,CAAA,CAAA,EAAIF,UAAQ,CAAA,CAAE;AAEhC,MAAMw+B,eAAe,GAAG,CAAA,SAAA,EAAYt+B,WAAS,CAAA,CAAE;AAC/C,MAAMu+B,cAAc,GAAG,CAAA,QAAA,EAAWv+B,WAAS,CAAA,CAAE;AAC7C,MAAMw1B,aAAa,GAAG,CAAA,OAAA,EAAUx1B,WAAS,CAAA,CAAE;AAC3C,MAAMy1B,cAAc,GAAG,CAAA,QAAA,EAAWz1B,WAAS,CAAA,CAAE;AAC7C,MAAMyL,UAAU,GAAG,CAAA,IAAA,EAAOzL,WAAS,CAAA,CAAE;AACrC,MAAM0L,YAAY,GAAG,CAAA,MAAA,EAAS1L,WAAS,CAAA,CAAE;AACzC,MAAMuL,UAAU,GAAG,CAAA,IAAA,EAAOvL,WAAS,CAAA,CAAE;AACrC,MAAMwL,WAAW,GAAG,CAAA,KAAA,EAAQxL,WAAS,CAAA,CAAE;AAEvC,MAAMoD,eAAe,GAAG,MAAM;AAC9B,MAAMo7B,eAAe,GAAG,MAAM,CAAA;AAC9B,MAAMn7B,eAAe,GAAG,MAAM;AAC9B,MAAMo7B,kBAAkB,GAAG,SAAS;AAEpC,MAAMlgC,aAAW,GAAG;AAClBy3B,EAAAA,SAAS,EAAE,SAAS;AACpB0I,EAAAA,QAAQ,EAAE,SAAS;AACnBxI,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAM53B,SAAO,GAAG;AACd03B,EAAAA,SAAS,EAAE,IAAI;AACf0I,EAAAA,QAAQ,EAAE,IAAI;AACdxI,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAEA,MAAMyI,KAAK,SAASj/B,aAAa,CAAC;AAChCV,EAAAA,WAAWA,CAACjN,OAAO,EAAE4M,MAAM,EAAE;AAC3B,IAAA,KAAK,CAAC5M,OAAO,EAAE4M,MAAM,CAAC;IAEtB,IAAI,CAAC23B,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACsI,oBAAoB,GAAG,KAAK;IACjC,IAAI,CAACC,uBAAuB,GAAG,KAAK;IACpC,IAAI,CAACjI,aAAa,EAAE;AACtB,EAAA;;AAEA;EACA,WAAWt4B,OAAOA,GAAG;AACnB,IAAA,OAAOA,SAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,aAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,MAAI;AACb,EAAA;;AAEA;AACAuO,EAAAA,IAAIA,GAAG;IACL,MAAM8F,SAAS,GAAG5e,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE4L,UAAU,CAAC;IAEjE,IAAIsH,SAAS,CAACpP,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,IAAI,CAACq7B,aAAa,EAAE;AAEpB,IAAA,IAAI,IAAI,CAACl/B,OAAO,CAACo2B,SAAS,EAAE;MAC1B,IAAI,CAACr2B,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC1C,eAAe,CAAC;AAC9C,IAAA;IAEA,MAAMmK,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAC5N,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC8rC,kBAAkB,CAAC;MAClDxqC,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE6L,WAAW,CAAC;MAEhD,IAAI,CAACuzB,kBAAkB,EAAE;IAC3B,CAAC;IAED,IAAI,CAACp/B,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC6rC,eAAe,CAAC,CAAA;AAC/C5hC,IAAAA,MAAM,CAAC,IAAI,CAAC+C,QAAQ,CAAC;IACrB,IAAI,CAACA,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAACzC,eAAe,EAAEo7B,kBAAkB,CAAC;AAEhE,IAAA,IAAI,CAACt+B,cAAc,CAACoN,QAAQ,EAAE,IAAI,CAAC5N,QAAQ,EAAE,IAAI,CAACC,OAAO,CAACo2B,SAAS,CAAC;AACtE,EAAA;AAEAlpB,EAAAA,IAAIA,GAAG;AACL,IAAA,IAAI,CAAC,IAAI,CAACkyB,OAAO,EAAE,EAAE;AACnB,MAAA;AACF,IAAA;IAEA,MAAMrrB,SAAS,GAAG1f,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE8L,UAAU,CAAC;IAEjE,IAAIkI,SAAS,CAAClQ,gBAAgB,EAAE;AAC9B,MAAA;AACF,IAAA;IAEA,MAAM8J,QAAQ,GAAGA,MAAM;MACrB,IAAI,CAAC5N,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC04B,eAAe,CAAC,CAAA;MAC5C,IAAI,CAAC7+B,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC8rC,kBAAkB,EAAEp7B,eAAe,CAAC;MACnEpP,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAE+L,YAAY,CAAC;IACnD,CAAC;IAED,IAAI,CAAC/L,QAAQ,CAACzD,SAAS,CAAC4J,GAAG,CAAC24B,kBAAkB,CAAC;AAC/C,IAAA,IAAI,CAACt+B,cAAc,CAACoN,QAAQ,EAAE,IAAI,CAAC5N,QAAQ,EAAE,IAAI,CAACC,OAAO,CAACo2B,SAAS,CAAC;AACtE,EAAA;AAEAj2B,EAAAA,OAAOA,GAAG;IACR,IAAI,CAAC++B,aAAa,EAAE;AAEpB,IAAA,IAAI,IAAI,CAACE,OAAO,EAAE,EAAE;MAClB,IAAI,CAACr/B,QAAQ,CAACzD,SAAS,CAACvJ,MAAM,CAAC0Q,eAAe,CAAC;AACjD,IAAA;IAEA,KAAK,CAACtD,OAAO,EAAE;AACjB,EAAA;AAEAi/B,EAAAA,OAAOA,GAAG;IACR,OAAO,IAAI,CAACr/B,QAAQ,CAACzD,SAAS,CAACtG,QAAQ,CAACyN,eAAe,CAAC;AAC1D,EAAA;;AAEA;AACA07B,EAAAA,kBAAkBA,GAAG;AACnB,IAAA,IAAI,CAAC,IAAI,CAACn/B,OAAO,CAAC8+B,QAAQ,EAAE;AAC1B,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,IAAI,CAACE,oBAAoB,IAAI,IAAI,CAACC,uBAAuB,EAAE;AAC7D,MAAA;AACF,IAAA;AAEA,IAAA,IAAI,CAACvI,QAAQ,GAAG54B,UAAU,CAAC,MAAM;MAC/B,IAAI,CAACoP,IAAI,EAAE;AACb,IAAA,CAAC,EAAE,IAAI,CAAClN,OAAO,CAACs2B,KAAK,CAAC;AACxB,EAAA;AAEA+I,EAAAA,cAAcA,CAACprC,KAAK,EAAEqrC,aAAa,EAAE;IACnC,QAAQrrC,KAAK,CAACM,IAAI;AAChB,MAAA,KAAK,WAAW;AAChB,MAAA,KAAK,UAAU;AAAE,QAAA;UACf,IAAI,CAACyqC,oBAAoB,GAAGM,aAAa;AACzC,UAAA;AACF,QAAA;AAEA,MAAA,KAAK,SAAS;AACd,MAAA,KAAK,UAAU;AAAE,QAAA;UACf,IAAI,CAACL,uBAAuB,GAAGK,aAAa;AAC5C,UAAA;AACF,QAAA;AAKF;AAEA,IAAA,IAAIA,aAAa,EAAE;MACjB,IAAI,CAACJ,aAAa,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,MAAMr0B,WAAW,GAAG5W,KAAK,CAAC8B,aAAa;AACvC,IAAA,IAAI,IAAI,CAACgK,QAAQ,KAAK8K,WAAW,IAAI,IAAI,CAAC9K,QAAQ,CAAC/J,QAAQ,CAAC6U,WAAW,CAAC,EAAE;AACxE,MAAA;AACF,IAAA;IAEA,IAAI,CAACs0B,kBAAkB,EAAE;AAC3B,EAAA;AAEAnI,EAAAA,aAAaA,GAAG;AACd3iC,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE2+B,eAAe,EAAEzqC,KAAK,IAAI,IAAI,CAACorC,cAAc,CAACprC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1FI,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE4+B,cAAc,EAAE1qC,KAAK,IAAI,IAAI,CAACorC,cAAc,CAACprC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC1FI,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE61B,aAAa,EAAE3hC,KAAK,IAAI,IAAI,CAACorC,cAAc,CAACprC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxFI,IAAAA,YAAY,CAAC0C,EAAE,CAAC,IAAI,CAACgJ,QAAQ,EAAE81B,cAAc,EAAE5hC,KAAK,IAAI,IAAI,CAACorC,cAAc,CAACprC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5F,EAAA;AAEAirC,EAAAA,aAAaA,GAAG;AACd90B,IAAAA,YAAY,CAAC,IAAI,CAACssB,QAAQ,CAAC;IAC3B,IAAI,CAACA,QAAQ,GAAG,IAAI;AACtB,EAAA;AACF;;AAEA;AACA;AACA;;AAEAl0B,oBAAoB,CAACu8B,KAAK,CAAC;;ACxM3B;AACA;AACA;AACA;AACA;AACA;;;AAMA;AACA;AACA;;AAEA,MAAMngC,IAAI,GAAG,SAAS;AACtB,MAAMsB,QAAQ,GAAG,YAAY;AAC7B,MAAME,SAAS,GAAG,CAAA,CAAA,EAAIF,QAAQ,CAAA,CAAE;AAEhC,MAAMq/B,YAAY,GAAG,CAAA,MAAA,EAASn/B,SAAS,CAAA,CAAE;AACzC,MAAMo/B,aAAa,GAAG,CAAA,OAAA,EAAUp/B,SAAS,CAAA,CAAE;AAC3C,MAAMu1B,WAAW,GAAG,OAAO;AAE3B,MAAM1xB,oBAAoB,GAAG,4BAA4B;AAEzD,MAAMtF,WAAW,GAAG;AAClB6zB,EAAAA,SAAS,EAAE,QAAQ;AACnBv6B,EAAAA,KAAK,EAAE;AACT,CAAC;AAED,MAAMyG,OAAO,GAAG;AACd8zB,EAAAA,SAAS,EAAE,OAAO;AAClBv6B,EAAAA,KAAK,EAAE;AACT,CAAC;;AAED;AACA;AACA;;AAEA,MAAMwnC,OAAO,SAAS3/B,aAAa,CAAC;AAClC;EACA,WAAWpB,OAAOA,GAAG;AACnB,IAAA,OAAOA,OAAO;AAChB,EAAA;EAEA,WAAWC,WAAWA,GAAG;AACvB,IAAA,OAAOA,WAAW;AACpB,EAAA;EAEA,WAAWC,IAAIA,GAAG;AAChB,IAAA,OAAOA,IAAI;AACb,EAAA;;AAEA;AACAwF,EAAAA,MAAMA,GAAG;IACP,MAAMs7B,WAAW,GAAGrrC,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEw/B,YAAY,CAAC;IAErE,IAAIG,WAAW,CAAC77B,gBAAgB,EAAE;AAChC,MAAA;AACF,IAAA;IAEA,IAAI,CAAC87B,QAAQ,EAAE;IAEftrC,YAAY,CAACmD,OAAO,CAAC,IAAI,CAACuI,QAAQ,EAAEy/B,aAAa,CAAC;AACpD,EAAA;;AAEA;AACAG,EAAAA,QAAQA,GAAG;IACT,MAAM;MAAEnN,SAAS;AAAEv6B,MAAAA;KAAO,GAAG,IAAI,CAAC+H,OAAO;IAEzC,IAAIwyB,SAAS,KAAK,IAAI,EAAE;AACtB,MAAA,OAAM;AACR,IAAA;IAEA,IAAIA,SAAS,KAAK,OAAO,EAAE;MACzB,IAAI,CAACzyB,QAAQ,CAACzD,SAAS,CAAC8H,MAAM,CAACnM,KAAK,CAAC;AACrC,MAAA;AACF,IAAA;;AAEA;AACA,IAAA,IAAI,IAAI,CAAC8H,QAAQ,CAACrG,YAAY,CAAC84B,SAAS,CAAC,KAAKhQ,MAAM,CAACvqB,KAAK,CAAC,EAAE;AAC3D,MAAA,IAAI,CAAC8H,QAAQ,CAAC9G,eAAe,CAACu5B,SAAS,CAAC;AACxC,MAAA;AACF,IAAA;IAEA,IAAI,CAACzyB,QAAQ,CAAChH,YAAY,CAACy5B,SAAS,EAAEv6B,KAAK,CAAC;AAC9C,EAAA;AACF;;AAEA;AACA;AACA;;AAEA6K,mBAAmB,CAAC28B,OAAO,EAAE9J,WAAW,EAAE1xB,oBAAoB,EAAE,QAAQ,CAAC;;;;"}
\ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/drawer.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  getAny(element) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).values().next().value || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null,\n  upCallback: null,\n  downCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)',\n  upCallback: '(function|null)',\n  downCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._deltaY = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n      this._deltaY = event.touches[0].clientY\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n      this._deltaY = event.clientY\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n      this._deltaY = event.clientY - this._deltaY\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    if (event.touches && event.touches.length > 1) {\n      this._deltaX = 0\n      this._deltaY = 0\n      return\n    }\n\n    this._deltaX = event.touches[0].clientX - this._deltaX\n    this._deltaY = event.touches[0].clientY - this._deltaY\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n    const absDeltaY = Math.abs(this._deltaY)\n\n    // Determine primary axis: whichever has greater movement wins\n    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {\n      // Vertical swipe\n      const direction = this._deltaY > 0 ? 'down' : 'up'\n      this._deltaX = 0\n      this._deltaY = 0\n      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback)\n      return\n    }\n\n    if (absDeltaX > SWIPE_THRESHOLD) {\n      // Horizontal swipe\n      const direction = absDeltaX / this._deltaX\n      this._deltaX = 0\n      this._deltaY = 0\n\n      if (!direction) {\n        return\n      }\n\n      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n      return\n    }\n\n    this._deltaX = 0\n    this._deltaY = 0\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Drawer components that use\n * the native <dialog> element. Provides common behavior for:\n * - Show/hide/toggle lifecycle with events\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n * - Child component cleanup (tooltips, popovers, toasts)\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Public — shared lifecycle methods\n\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('show'),\n      { relatedTarget }\n    )\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._onBeforeShow()\n\n    const { modal, preventBodyScroll } = this._getShowOptions()\n    this._showElement({ modal, preventBodyScroll })\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('shown'),\n        { relatedTarget }\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hide')\n    )\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._hideElement()\n    this._onAfterHide()\n\n    this._queueCallback(() => {\n      this._element.classList.remove('hiding')\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('hidden')\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  // Protected — hooks for subclasses to override\n\n  _getShowOptions() {\n    return { modal: true, preventBodyScroll: true }\n  }\n\n  _onBeforeShow() {\n    // No-op by default — Dialog overrides to add nonmodal class\n  }\n\n  _onAfterHide() {\n    // No-op by default — Dialog overrides to remove nonmodal class\n  }\n\n  _isAnimated() {\n    return !this._element.classList.contains(this._getInstantClassName())\n  }\n\n  _getInstantClassName() {\n    return 'dialog-instant'\n  }\n\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  _onCancel() {\n    // No-op by default — Dialog overrides to fire cancel event\n  }\n\n  // Protected — shared mechanics\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n\n    // Add .hiding before close() so CSS exit transitions can play.\n    // Without this, the navbar's `:not([open])` transition-kill rule\n    // would prevent the slide-out animation.\n    this._element.classList.add('hiding')\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    return {\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    }\n  }\n\n  _onBeforeShow() {\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n  }\n\n  _onAfterHide() {\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n  }\n\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog (dialog swapping)\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  collapseBelow: 0,\n  iconPlacement: 'start',\n  menuPlacement: 'bottom-end',\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  collapseBelow: '(number|string)',\n  iconPlacement: 'string',\n  menuPlacement: 'string',\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._collapseBelow = 0\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Resolve collapseBelow threshold once\n    this._collapseBelow = this._resolveCollapseBelow()\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const iconHtml = this._resolveIcon()\n    const iconSpan = `<span class=\"nav-overflow-icon\">${iconHtml}</span>`\n    const textSpan = `<span class=\"nav-overflow-text\">${this._config.moreText}</span>`\n    const toggleContent = this._config.iconPlacement === 'end' ?\n      `${textSpan}${iconSpan}` :\n      `${iconSpan}${textSpan}`\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"${this._config.menuPlacement}\" aria-expanded=\"false\">\n        ${toggleContent}\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _resolveIcon() {\n    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element)\n\n    if (!customIconElement) {\n      return this._config.moreIcon\n    }\n\n    const iconClone = customIconElement.cloneNode(true)\n    iconClone.removeAttribute('data-bs-overflow-icon')\n    const iconHtml = iconClone.outerHTML\n\n    customIconElement.remove()\n\n    return iconHtml\n  }\n\n  _resolveCollapseBelow() {\n    const value = this._config.collapseBelow\n\n    if (typeof value === 'number') {\n      return value\n    }\n\n    if (typeof value === 'string' && value !== '') {\n      const cssValue = getComputedStyle(document.documentElement)\n        .getPropertyValue(`--bs-breakpoint-${value}`)\n      return Number.parseFloat(cssValue) || 0\n    }\n\n    return 0\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n\n    // When below the collapseBelow threshold, force all items into overflow\n    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {\n      const itemsToOverflow = this._items.filter(\n        item => !item.classList.contains(CLASS_NAME_KEEP)\n      )\n\n      this._moveToOverflow(itemsToOverflow)\n\n      if (overflowItem) {\n        if (itemsToOverflow.length > 0) {\n          overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n        } else {\n          overflowItem.classList.add(CLASS_NAME_HIDDEN)\n        }\n      }\n\n      if (itemsToOverflow.length > 0) {\n        EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n          overflowCount: itemsToOverflow.length,\n          visibleCount: this._items.length - itemsToOverflow.length\n        })\n      }\n\n      return\n    }\n\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap drawer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isRTL,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'drawer'\nconst DATA_KEY = 'bs.drawer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"drawer\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Drawer extends DialogBase {\n  constructor(element, config) {\n    super(element, config)\n    this._swipeHelper = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n    return {\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    }\n  }\n\n  _onBeforeShow() {\n    this._initSwipe()\n  }\n\n  _getInstantClassName() {\n    return 'drawer-instant'\n  }\n\n  _getStaticClassName() {\n    return 'drawer-static'\n  }\n\n  // Private\n\n  _initSwipe() {\n    if (this._swipeHelper || !Swipe.isSupported()) {\n      return\n    }\n\n    // Determine which swipe direction dismisses based on placement\n    const swipeConfig = {}\n    const element = this._element\n\n    if (element.classList.contains('drawer-bottom')) {\n      swipeConfig.downCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-top')) {\n      swipeConfig.upCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-end')) {\n      // RTL: swipe left to dismiss end drawer\n      if (isRTL()) {\n        swipeConfig.leftCallback = () => this.hide()\n      } else {\n        swipeConfig.rightCallback = () => this.hide()\n      }\n    } else if (isRTL()) {\n      // drawer-start (default): swipe right to dismiss in RTL\n      swipeConfig.rightCallback = () => this.hide()\n    } else {\n      // drawer-start (default): swipe left to dismiss in LTR\n      swipeConfig.leftCallback = () => this.hide()\n    }\n\n    this._swipeHelper = new Swipe(element, swipeConfig)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of a drawer, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Drawer.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Drawer.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {\n    Drawer.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:drawer\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Drawer.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Drawer)\n\nexport default Drawer\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","getAny","values","next","value","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","upCallback","downCallback","Swipe","isSupported","_deltaX","_deltaY","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","clientY","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","absDeltaY","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","offset","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","_openInstances","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","showEvent","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","hideEvent","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","timestamp","Date","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","selectedItems","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","open","_onBeforeShow","modal","preventBodyScroll","_getShowOptions","_showElement","_hideElement","_onAfterHide","_getInstantClassName","_getStaticClassName","_onCancel","showModal","_hideChildComponents","_triggerBackdropTransition","hidePreventedEvent","staticClass","eventKey","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","handleUpdate","currentDialog","shouldSwap","newDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","SELECTOR_CUSTOM_ICON","CLASS_NAME_KEEP","collapseBelow","iconPlacement","menuPlacement","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_collapseBelow","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_resolveCollapseBelow","_createOverflowMenu","_setupResizeObserver","iconHtml","_resolveIcon","iconSpan","textSpan","toggleContent","overflowItem","className","innerHTML","customIconElement","iconClone","cloneNode","outerHTML","cssValue","ResizeObserver","navWidth","offsetWidth","itemsToOverflow","_moveToOverflow","overflowCount","overflowWidth","usedWidth","overflowThreshold","itemWidth","toMove","link","clonedLink","bsNavOverflow","EVENT_RESIZE","scroll","Drawer","useModal","_initSwipe","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","addEvent","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","removeEvent","v","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","options","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","start","end","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","shiftKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","c","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elements","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","IntersectionObserver","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
index 71ba1d8a8f93176bec37bb6eb0f1be9fc23f8074..e6cbbb8763689aa1da6244e7b81c39d863962fc7 100644 (file)
@@ -3,5 +3,5 @@
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-import{computePosition,autoUpdate,offset,flip,shift,arrow}from"@floating-ui/dom";import{Calendar}from"vanilla-calendar-pro";const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const s=elementMap.get(e);s.has(t)||0===s.size?s.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(s){return hydrateObj(s,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,s.type,t),t.apply(e,[s])}}function bootstrapDelegationHandler(e,t,n){return function s(i){const o=e.querySelectorAll(t);for(let{target:a}=i;a&&a!==this;a=a.parentNode)for(const r of o)if(r===a)return hydrateObj(i,{delegateTarget:a}),s.oneOff&&EventHandler.off(e,i.type,t,n),n.apply(a,[i])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const s="string"==typeof t,i=s?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[s,i,o]}function addHandler(e,t,n,s,i){if("string"!=typeof t||!e)return;let[o,a,r]=normalizeParameters(t,n,s);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const l=getElementEvents(e),c=l[r]||(l[r]={}),_=findHandler(c,a,o?n:null);if(_)return void(_.oneOff=_.oneOff&&i);const h=makeEventUid(a,t.replace(namespaceRegex,"")),u=o?bootstrapDelegationHandler(e,n,a):bootstrapHandler(e,a);u.delegationSelector=o?n:null,u.callable=a,u.oneOff=i,u.uidEvent=h,c[h]=u,e.addEventListener(r,u,o)}function removeHandler(e,t,n,s,i){const o=findHandler(t[n],s,i);o&&(e.removeEventListener(n,o,Boolean(i)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,s){const i=t[n]||{};for(const[o,a]of Object.entries(i))o.includes(s)&&removeHandler(e,t,n,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,s){addHandler(e,t,n,s,!1)},one(e,t,n,s){addHandler(e,t,n,s,!0)},off(e,t,n,s){if("string"!=typeof t||!e)return;const[i,o,a]=normalizeParameters(t,n,s),r=a!==t,l=getElementEvents(e),c=l[a]||{},_=t.startsWith(".");if(void 0===o){if(_)for(const n of Object.keys(l))removeNamespacedHandlers(e,l,n,t.slice(1));for(const[n,s]of Object.entries(c)){const i=n.replace(stripUidRegex,"");r&&!t.includes(i)||removeHandler(e,l,a,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,l,a,o,i?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const s=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(s),s}};function hydrateObj(e,t={}){for(const[n,s]of Object.entries(t))try{e[n]=s}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>s})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const s of n){let n=s.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[s])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const s=Number.parseFloat(t),i=Number.parseFloat(n);return s||i?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const s=getTransitionDurationFromElement(t)+5;let i=!1;const o=({target:n})=>{n===t&&(i=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{i||triggerTransitionEnd(t)},s)},getNextActiveElement=(e,t,n,s)=>{const i=e.length;let o=e.indexOf(t);return-1===o?!n&&s?e[i-1]:e[0]:(o+=n?1:-1,s&&(o=(o+i)%i),e[Math.max(0,Math.min(o,i-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,s]of Object.entries(t)){const t=e[n],i=isElement(t)?"element":toType(t);if(!new RegExp(s).test(i))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${i}" but expected type "${s}".`)}}}const VERSION="6.0.0-alpha1";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let s=e.parentNode.closest(t);for(;s;)n.push(s),s=s.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,s=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${s}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const i=SelectorEngine.getElementFromSelector(this)||this.closest(`.${s}`);e.getOrCreateInstance(i)[t]()})},eventActionOnPlugin=(e,t,n,s,i=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof i&&i({...t,instances:n});for(const e of n)e[s]()})},eventAction=(e,t,n)=>{const s=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,s,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),s=t?SelectorEngine.find(t):[this];n({targets:s,event:e})})},NAME$k="alert",DATA_KEY$g="bs.alert",EVENT_KEY$h=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$6="show";class Alert extends BaseComponent{static get NAME(){return NAME$k}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$j="button",DATA_KEY$f="bs.button",EVENT_KEY$g=`.${DATA_KEY$f}`,DATA_API_KEY$b=".data-api",CLASS_NAME_ACTIVE$4="active",SELECTOR_DATA_TOGGLE$a='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$8=`click${EVENT_KEY$g}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$j}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$8,SELECTOR_DATA_TOGGLE$a,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$a);Button.getOrCreateInstance(t).toggle()});const NAME$i="swipe",EVENT_KEY$f=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$h={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$h={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$h}static get DefaultType(){return DefaultType$h}static get NAME(){return NAME$i}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$h="carousel",DATA_KEY$e="bs.carousel",EVENT_KEY$e=`.${DATA_KEY$e}`,DATA_API_KEY$a=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$e}`,EVENT_SLID=`slid${EVENT_KEY$e}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$e}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$e}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$e}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$e}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$e}.data-api`,EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$e}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$g={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$g={interval:"number",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return NAME$h}next(){this._slide("next")}nextWhenVisible(){"visible"===document.visibilityState&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const s=e>n?"next":"prev";this._slide(s,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),s="next"===e,i=t||getNextActiveElement(this._getItems(),n,s,this._config.wrap);if(i===n)return;const o=this._getItemIndex(i),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:i,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(EVENT_SLIDE).defaultPrevented)return;if(!n||!i)return;const r=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=i;const l=s?CLASS_NAME_START:CLASS_NAME_END,c=s?CLASS_NAME_NEXT:CLASS_NAME_PREV;i.classList.add(c),reflow(i),n.classList.add(l),i.classList.add(l),this._queueCallback(()=>{i.classList.remove(l,c),i.classList.add("active"),n.classList.remove("active",c,l),this._isSliding=!1,a(EVENT_SLID)},n,this._isAnimated()),r&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),s=this.getAttribute("data-bs-slide-to");return s?(n.to(s),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$g="collapse",DATA_KEY$d="bs.collapse",EVENT_KEY$d=`.${DATA_KEY$d}`,DATA_API_KEY$9=".data-api",EVENT_SHOW$8=`show${EVENT_KEY$d}`,EVENT_SHOWN$8=`shown${EVENT_KEY$d}`,EVENT_HIDE$8=`hide${EVENT_KEY$d}`,EVENT_HIDDEN$8=`hidden${EVENT_KEY$d}`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$d}.data-api`,CLASS_NAME_SHOW$5="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="collapse"]',Default$f={parent:null,toggle:!0},DefaultType$f={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$9);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return NAME$g}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$8).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$8)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$8).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$8)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$9);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$9,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),s={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(s[t]=n)}else s.xs=e;return s},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let s=e.xs||t;const i=["sm","md","lg","xl","2xl"];for(const t of i)n>=BREAKPOINTS[t]&&e[t]&&(s=e[t]);return s},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const s=BREAKPOINTS[n],i=window.matchMedia(`(min-width: ${s}px)`);i.addEventListener("change",e),t.push({mql:i,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$f="menu",DATA_KEY$c="bs.menu",EVENT_KEY$c=".bs.menu",DATA_API_KEY$8=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$2="ArrowUp",ARROW_DOWN_KEY$2="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$2="Home",END_KEY$2="End",ENTER_KEY$1="Enter",SPACE_KEY$1=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$7="hide.bs.menu",EVENT_HIDDEN$7="hidden.bs.menu",EVENT_SHOW$7="show.bs.menu",EVENT_SHOWN$7="shown.bs.menu",EVENT_CLICK_DATA_API$5="click.bs.menu.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.menu.data-api",EVENT_KEYUP_DATA_API="keyup.bs.menu.data-api",CLASS_NAME_SHOW$4="show",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="menu"]:not(.disabled):not(:disabled)',SELECTOR_MENU$2=".menu",SELECTOR_SUBMENU=".submenu",SELECTOR_SUBMENU_TOGGLE=".submenu > .menu-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS$1=".menu-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$e={autoClose:!0,boundary:"clippingParents",container:!1,display:"dynamic",offset:[0,2],floatingConfig:null,menu:null,placement:"bottom-start",reference:"toggle",strategy:"absolute",submenuTrigger:"both",submenuDelay:100},DefaultType$e={autoClose:"(boolean|string)",boundary:"(string|element)",container:"(string|element|boolean)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",menu:"(null|element)",placement:"string",reference:"(string|element|object)",strategy:"string",submenuTrigger:"string",submenuDelay:"number"};class Menu extends BaseComponent{static _openInstances=(()=>new Set)();constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's menus require Floating UI (https://floating-ui.com)");super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList?.contains("submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=this._config.menu||this._findMenu(),this._menuOriginalParent=this._menu?.parentNode,this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return"menu"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$7,e).defaultPrevented){if(this._moveMenuToContainer(),this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus({focusVisible:!1}),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent&&this._parent.classList.add("show"),Menu._openInstances.add(this),EventHandler.trigger(this._element,EVENT_SHOWN$7,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._restoreMenuToOriginalParent(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),Menu._openInstances.delete(this),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_findMenu(){return SelectorEngine.next(this._element,".menu")[0]||SelectorEngine.prev(this._element,".menu")[0]||SelectorEngine.findOne(".menu",this._parent)}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$7,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._restoreMenuToOriginalParent(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent&&this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),Menu._openInstances.delete(this),EventHandler.trigger(this._element,EVENT_HIDDEN$7,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${"menu".toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),s=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,s.placement,s.middleware,s.strategy)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t,strategy:this._config.strategy};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_getContainer(){const{container:e}=this._config;return!1===e?null:!0===e?document.body:getElement(e)}_moveMenuToContainer(){const e=this._getContainer();e&&this._menu&&this._menu.parentNode!==e&&e.append(this._menu)}_restoreMenuToOriginalParent(){this._menuOriginalParent&&this._menu&&this._menu.parentNode!==this._menuOriginalParent&&this._menuOriginalParent.append(this._menu)}async _applyFloatingPosition(e,t,n,s,i="absolute"){if(!t.isConnected)return null;const{x:o,y:a,placement:r}=await computePosition(e,t,{placement:n,middleware:s,strategy:i});return t.isConnected?(Object.assign(t.style,{position:i,left:`${o}px`,top:`${a}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",r),r):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",".submenu > .menu-item",e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",".submenu",e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",".submenu > .menu-item",e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;const n=t.closest(".submenu"),s=SelectorEngine.findOne(".menu",n);s&&(this._cancelSubmenuCloseTimeout(s),this._closeSiblingSubmenus(n),this._openSubmenu(t,s,n))}_onSubmenuLeave(e){const t=e.target.closest(".submenu"),n=SelectorEngine.findOne(".menu",t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(".submenu"),s=SelectorEngine.findOne(".menu",n);s&&(this._openSubmenus.has(s)?this._closeSubmenu(s,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,s,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const s=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,s),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(".submenu .menu.show",e);for(const e of n){const t=e.closest(".submenu");this._closeSubmenu(e,t)}const s=SelectorEngine.findOne(".submenu > .menu-item",t),i=this._openSubmenus.get(e);i&&i(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),s&&s.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(".submenu");this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(".submenu > .menu.show",t);for(const t of n){const n=t.closest(".submenu");n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const s=n,i=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],a=()=>this._applyFloatingPosition(s,t,i,o);return a(),autoUpdate(s,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),s={x:e.clientX,y:e.clientY},i={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL()?n.right:n.left,a={x:o,y:n.top},r={x:o,y:n.bottom};return this._pointInTriangle(s,i,a,r)}_pointInTriangle(e,t,n,s){const i=triangleSign(e,t,n),o=triangleSign(e,n,s),a=triangleSign(e,s,t);return!((i<0||o<0||a<0)&&(i>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(".menu")||this._menu,s=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,n).filter(e=>isVisible(e));s.length&&getNextActiveElement(s,t,e===ARROW_DOWN_KEY$2,!s.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,s=isRTL(),i=s?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=s?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,a=n.closest(".submenu"),r=a&&n.matches(".submenu > .menu-item");if((t===ENTER_KEY$1||t===SPACE_KEY$1)&&r){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===i&&r){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(".menu"),s=t?.closest(".submenu");if(s){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(".submenu > .menu-item",s);return this._closeSubmenu(t,s),n&&n.focus(),!0}}if(t===HOME_KEY$2||t===END_KEY$2){e.preventDefault(),e.stopPropagation();const s=n.closest(".menu"),i=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,s).filter(e=>isVisible(e));return i.length&&(t===HOME_KEY$2?i[0]:i[i.length-1]).focus(),!0}return!1}static clearMenus(e){if(2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(const t of Menu._openInstances){if(!1===t._config.autoClose)continue;const n=e.composedPath(),s=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!s||"outside"===t._config.autoClose&&s)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const i={relatedTarget:t._element};"click"===e.type&&(i.clickEvent=e),t._completeHide(i)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,s=[ARROW_UP_KEY$2,ARROW_DOWN_KEY$2].includes(e.key),i=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$2,END_KEY$2].includes(e.key),a=[ENTER_KEY$1,SPACE_KEY$1].includes(e.key),r=e.target.matches(".submenu > .menu-item");if(!(s||n||i||o||a&&r))return;if(t&&!n)return;const l=this.matches(SELECTOR_DATA_TOGGLE$8)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$8,e.delegateTarget.parentNode);if(!l)return;const c=Menu.getOrCreateInstance(l);if(!(i||o||a&&r)||!c._handleSubmenuKeydown(e)){if(s)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(".menu"),n=t?.closest(".submenu");if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(".submenu > .menu-item",n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),l.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$8,Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,".menu",Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$5,Menu.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Menu.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){e.preventDefault(),Menu.getOrCreateInstance(this).toggle()});const NAME$e="combobox",DATA_KEY$b="bs.combobox",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$7=".data-api",ESCAPE_KEY="Escape",TAB_KEY="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",EVENT_CHANGE$2=`change${EVENT_KEY$b}`,EVENT_SHOW$6=`show${EVENT_KEY$b}`,EVENT_SHOWN$6=`shown${EVENT_KEY$b}`,EVENT_HIDE$6=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$b}.data-api`,CLASS_NAME_SHOW$3="show",CLASS_NAME_SELECTED="selected",CLASS_NAME_PLACEHOLDER="combobox-placeholder",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="combobox"]',SELECTOR_MENU$1=".menu",SELECTOR_MENU_ITEM=".menu-item[data-bs-value]",SELECTOR_VISIBLE_ITEMS=".menu-item[data-bs-value]:not(.disabled):not(:disabled)",SELECTOR_VALUE=".combobox-value",SELECTOR_SEARCH_INPUT=".combobox-search-input",SELECTOR_NO_RESULTS=".combobox-no-results",Default$d={boundary:"clippingParents",multiple:!1,name:null,offset:[0,2],placeholder:"",placement:"bottom-start",search:!1,searchNormalize:!1},DefaultType$d={boundary:"(string|element)",multiple:"boolean",name:"(string|null)",offset:"(array|string|function)",placeholder:"string",placement:"string",search:"boolean",searchNormalize:"boolean"};class Combobox extends BaseComponent{constructor(e,t){super(e,t),this._toggle=this._element,this._menu=SelectorEngine.next(this._toggle,".menu")[0],this._valueDisplay=SelectorEngine.findOne(SELECTOR_VALUE,this._toggle),this._searchInput=SelectorEngine.findOne(SELECTOR_SEARCH_INPUT,this._menu),this._noResults=SelectorEngine.findOne(SELECTOR_NO_RESULTS,this._menu),this._hiddenInput=null,this._menuInstance=null,this._createHiddenInput(),this._createMenuInstance(),this._syncInitialSelection(),this._addEventListeners()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(){return this._isShown()?this.hide():this.show()}show(){isDisabled(this._toggle)||this._isShown()||EventHandler.trigger(this._toggle,EVENT_SHOW$6).defaultPrevented||(this._menuInstance.show(),this._searchInput&&(this._searchInput.value="",this._filterItems(""),requestAnimationFrame(()=>this._searchInput.focus())),EventHandler.trigger(this._toggle,EVENT_SHOWN$6))}hide(){this._isShown()&&(EventHandler.trigger(this._toggle,EVENT_HIDE$6).defaultPrevented||(this._menuInstance.hide(),EventHandler.trigger(this._toggle,EVENT_HIDDEN$6)))}dispose(){this._menuInstance&&(this._menuInstance.dispose(),this._menuInstance=null),this._hiddenInput&&(this._hiddenInput.remove(),this._hiddenInput=null),EventHandler.off(this._menu,EVENT_KEY$b),EventHandler.off(this._toggle,EVENT_KEY$b),super.dispose()}_isShown(){return this._menu.classList.contains("show")}_createHiddenInput(){const{name:e}=this._config;e&&(this._hiddenInput=document.createElement("input"),this._hiddenInput.type="hidden",this._hiddenInput.name=e,this._hiddenInput.value="",this._toggle.parentNode.insertBefore(this._hiddenInput,this._toggle))}_createMenuInstance(){this._menuInstance=new Menu(this._toggle,{menu:this._menu,autoClose:!this._config.multiple||"outside",boundary:this._config.boundary,offset:this._config.offset,placement:this._config.placement})}_syncInitialSelection(){this._getSelectedItems().length>0?(this._updateToggleText(),this._updateHiddenInput()):this._showPlaceholder()}_addEventListeners(){EventHandler.on(this._menu,"click",SELECTOR_MENU_ITEM,e=>{const t=e.target.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&(e.preventDefault(),e.stopPropagation(),this._selectItem(t))}),EventHandler.on(this._toggle,"keydown",e=>{this._handleToggleKeydown(e)}),EventHandler.on(this._menu,"keydown",e=>{this._handleMenuKeydown(e)}),this._searchInput&&(EventHandler.on(this._searchInput,"input",()=>{this._filterItems(this._searchInput.value)}),EventHandler.on(this._searchInput,"keydown",e=>{if("ArrowDown"===e.key){e.preventDefault();const t=this._getVisibleItems();t.length>0&&t[0].focus()}"Escape"===e.key&&(this.hide(),this._toggle.focus())}))}_selectItem(e){if(this._config.multiple)e.classList.toggle("selected"),e.setAttribute("aria-selected",e.classList.contains("selected"));else{const t=SelectorEngine.find(".selected",this._menu);for(const e of t)e.classList.remove("selected"),e.setAttribute("aria-selected","false");e.classList.add("selected"),e.setAttribute("aria-selected","true")}this._updateToggleText(),this._updateHiddenInput();const t=this._config.multiple?this._getSelectedItems().map(e=>e.dataset.bsValue):e.dataset.bsValue;EventHandler.trigger(this._toggle,EVENT_CHANGE$2,{value:t,item:e}),this._config.multiple||(this.hide(),this._toggle.focus())}_updateToggleText(){const e=this._getSelectedItems();if(0!==e.length)if(this._valueDisplay.classList.remove("combobox-placeholder"),this._config.multiple&&e.length>1)this._valueDisplay.textContent=`${e.length} selected`;else{const t=e[0],n=SelectorEngine.findOne(".menu-item-content > span:first-child",t);this._valueDisplay.textContent=n?n.textContent:t.textContent.trim()}else this._showPlaceholder()}_showPlaceholder(){const{placeholder:e}=this._config;e&&(this._valueDisplay.textContent=e,this._valueDisplay.classList.add("combobox-placeholder"))}_updateHiddenInput(){if(!this._hiddenInput)return;const e=this._getSelectedItems().map(e=>e.dataset.bsValue);this._hiddenInput.value=this._config.multiple?e.join(","):e[0]||""}_getSelectedItems(){return SelectorEngine.find(".selected",this._menu)}_getVisibleItems(){return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e))}_filterItems(e){const t=this._normalizeText(e.toLowerCase().trim()),n=SelectorEngine.find(SELECTOR_MENU_ITEM,this._menu);let s=0;for(const e of n){const n=this._normalizeText(e.textContent.toLowerCase().trim()),i=!t||n.includes(t);e.style.display=i?"":"none",i&&s++}this._noResults&&this._noResults.classList.toggle("d-none",s>0)}_normalizeText(e){return this._config.searchNormalize?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}_handleToggleKeydown(e){const{key:t}=e;if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault(),this._isShown()||this.show();const n=this._getVisibleItems();return void(n.length>0&&("ArrowDown"===t?n[0]:n[n.length-1]).focus())}"Enter"!==t&&" "!==t||this._isShown()||(e.preventDefault(),this.show())}_handleMenuKeydown(e){const{key:t,target:n}=e;if("Escape"===t)return e.preventDefault(),e.stopPropagation(),this.hide(),void this._toggle.focus();if("Tab"===t)return void this.hide();const s=n.matches("input");if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault();const s=this._getVisibleItems();return void(s.length>0&&getNextActiveElement(s,n,"ArrowDown"===t,!s.includes(n)).focus())}if("Home"===t||"End"===t){e.preventDefault();const n=this._getVisibleItems();return void(n.length>0&&("Home"===t?n[0]:n[n.length-1]).focus())}if(("Enter"===t||" "===t)&&!s){e.preventDefault();const t=n.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&this._selectItem(t)}}static jQueryInterface(e){return this.each(function(){const t=Combobox.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){e.preventDefault(),Combobox.getOrCreateInstance(this).toggle()}),EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE$7))Combobox.getOrCreateInstance(e)});const NAME$d="datepicker",DATA_KEY$a="bs.datepicker",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$6=".data-api",EVENT_CHANGE$1=`change${EVENT_KEY$a}`,EVENT_SHOW$5=`show${EVENT_KEY$a}`,EVENT_SHOWN$5=`shown${EVENT_KEY$a}`,EVENT_HIDE$5=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$a}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$a}.data-api`,SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$c={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$c={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$5).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$5))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$5).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$5)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE$1,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,s]=e.split("-");return new Date(t,n-1,s)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:s}=this._config;return"function"==typeof s?s(t,n):s&&"object"==typeof s?new Intl.DateTimeFormat(n,s).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" – ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$6,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$a}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$6}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const CLASS_NAME_OPEN="dialog-open";class DialogBase extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._openedAsModal=!1,this._addDialogListeners()}static get NAME(){return"dialogbase"}_showElement({modal:e=!0,preventBodyScroll:t=!0}={}){this._openedAsModal=e,e?this._element.showModal():this._element.show(),t&&document.body.classList.add("dialog-open")}_hideElement(){this._hideChildComponents(),this._element.close(),this._openedAsModal=!1,document.querySelector("dialog[open]:modal")||document.body.classList.remove("dialog-open")}_hideChildComponents(){for(const e of SelectorEngine.find('[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]',this._element)){const t=BaseComponent.getInstance(e);t&&"function"==typeof t.hide&&t.hide()}for(const e of SelectorEngine.find(".toast.show",this._element)){const t=BaseComponent.getInstance(e);t&&"function"==typeof t.hide&&t.hide()}}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,this.constructor.eventName("hidePrevented")).defaultPrevented)return;const e=this._getStaticClassName();this._element.classList.add(e),this._queueCallback(()=>{this._element.classList.remove(e)},this._element)}_getStaticClassName(){return"dialog-static"}_addDialogListeners(){const e=this.constructor.EVENT_KEY;EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(this._onCancel(),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,`keydown${e}`,e=>{"Escape"!==e.key||this._openedAsModal||(e.preventDefault(),this._config.keyboard&&(this._onCancel(),this.hide()))}),EventHandler.on(this._element,`click${e}`,e=>{e.target===this._element&&this._openedAsModal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}_onCancel(){}}const NAME$c="dialog",DATA_KEY$9="bs.dialog",EVENT_KEY$9=`.${DATA_KEY$9}`,DATA_API_KEY$5=".data-api",EVENT_SHOW$4=`show${EVENT_KEY$9}`,EVENT_SHOWN$4=`shown${EVENT_KEY$9}`,EVENT_HIDE$4=`hide${EVENT_KEY$9}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$9}`,EVENT_CANCEL=`cancel${EVENT_KEY$9}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$9}.data-api`,CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',Default$b={backdrop:!0,keyboard:!0,modal:!0},DefaultType$b={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends DialogBase{static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){this._element.open||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isTransitioning=!0,this._config.modal||this._element.classList.add("dialog-nonmodal"),this._showElement({modal:this._config.modal,preventBodyScroll:this._config.modal}),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})},this._element,!0))}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isTransitioning=!0,this._hideElement(),this._element.classList.remove("dialog-nonmodal"),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$4)},this._element,!0)))}handleUpdate(){}_onCancel(){EventHandler.trigger(this._element,EVENT_CANCEL)}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),s=this.closest("dialog[open]");if(s&&s!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(s);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const NAME$b="navoverflow",DATA_KEY$8="bs.navoverflow",EVENT_KEY$8=`.${DATA_KEY$8}`,EVENT_UPDATE=`update${EVENT_KEY$8}`,EVENT_OVERFLOW=`overflow${EVENT_KEY$8}`,CLASS_NAME_OVERFLOW="nav-overflow",CLASS_NAME_OVERFLOW_MENU="nav-overflow-menu",CLASS_NAME_HIDDEN="d-none",SELECTOR_NAV_ITEM=".nav-item",SELECTOR_NAV_LINK=".nav-link",SELECTOR_OVERFLOW_TOGGLE=".nav-overflow-toggle",SELECTOR_OVERFLOW_MENU=".nav-overflow-menu",CLASS_NAME_KEEP="nav-overflow-keep",Default$a={moreText:"More",moreIcon:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',threshold:0},DefaultType$a={moreText:"string",moreIcon:"string",threshold:"number"};class NavOverflow extends BaseComponent{constructor(e,t){super(e,t),this._items=[],this._overflowItems=[],this._overflowMenu=null,this._overflowToggle=null,this._resizeObserver=null,this._isInitialized=!1,this._init()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}update(){this._calculateOverflow(),EventHandler.trigger(this._element,EVENT_UPDATE)}dispose(){this._resizeObserver&&this._resizeObserver.disconnect(),this._restoreItems(),this._overflowToggle&&this._overflowToggle.parentElement&&this._overflowToggle.parentElement.remove(),super.dispose()}_init(){this._element.classList.add("nav-overflow"),this._items=[...SelectorEngine.find(".nav-item",this._element)];for(const[e,t]of this._items.entries())t.dataset.bsNavOrder=e;this._createOverflowMenu(),this._setupResizeObserver(),this._calculateOverflow(),this._isInitialized=!0}_createOverflowMenu(){if(this._overflowToggle=SelectorEngine.findOne(".nav-overflow-toggle",this._element),this._overflowToggle)return void(this._overflowMenu=SelectorEngine.findOne(".nav-overflow-menu",this._element));const e=document.createElement("li");e.className="nav-item nav-overflow-item",e.innerHTML=`\n      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">\n        <span class="nav-overflow-icon">${this._config.moreIcon}</span>\n        <span class="nav-overflow-text">${this._config.moreText}</span>\n      </button>\n      <div class="nav-overflow-menu menu"></div>\n    `,this._element.append(e),this._overflowToggle=e.querySelector(".nav-overflow-toggle"),this._overflowMenu=e.querySelector(".nav-overflow-menu")}_setupResizeObserver(){"undefined"!=typeof ResizeObserver?(this._resizeObserver=new ResizeObserver(()=>{this._calculateOverflow()}),this._resizeObserver.observe(this._element)):EventHandler.on(window,"resize",()=>this._calculateOverflow())}_calculateOverflow(){this._restoreItems();const e=this._element.offsetWidth,t=this._overflowToggle?.closest(".nav-item");let n=0;const s=[],i=e-(t?.offsetWidth||0)-10;for(const e of this._items)n+=e.offsetWidth,e.classList.contains(CLASS_NAME_KEEP)||n>i&&s.push(e);if(this._items.length-s.length<this._config.threshold&&this._items.length>this._config.threshold){const e=this._items.slice(this._config.threshold).filter(e=>!e.classList.contains(CLASS_NAME_KEEP));s.length=0,s.push(...e)}this._moveToOverflow(s),t&&(s.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),s.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:s.length,visibleCount:this._items.length-s.length})}_moveToOverflow(e){if(this._overflowMenu){this._overflowMenu.innerHTML="",this._overflowItems=[];for(const t of e){const e=SelectorEngine.findOne(".nav-link",t);if(!e)continue;const n=e.cloneNode(!0);n.className="menu-item",e.classList.contains("active")&&n.classList.add("active"),(e.classList.contains("disabled")||e.hasAttribute("disabled"))&&n.classList.add("disabled"),this._overflowMenu.append(n),t.classList.add("d-none"),t.dataset.bsNavOverflow="true",this._overflowItems.push(t)}}}_restoreItems(){for(const e of this._items)e.classList.remove("d-none"),delete e.dataset.bsNavOverflow;this._overflowMenu&&(this._overflowMenu.innerHTML=""),this._overflowItems=[]}}EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find('[data-bs-toggle="nav-overflow"]'))NavOverflow.getOrCreateInstance(e)});const NAME$a="offcanvas",DATA_KEY$7="bs.offcanvas",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$7}.data-api`,EVENT_SHOW$3=`show${EVENT_KEY$7}`,EVENT_SHOWN$3=`shown${EVENT_KEY$7}`,EVENT_HIDE$3=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$7}`,EVENT_RESIZE=`resize${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$7}.data-api`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="offcanvas"]',Default$9={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$9={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends DialogBase{static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){if(this._element.open||this._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented)return;this._isTransitioning=!0;const t=Boolean(this._config.backdrop)||!this._config.scroll;this._showElement({modal:t,preventBodyScroll:!this._config.scroll}),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})},this._element,!0)}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._isTransitioning=!0,this._hideElement(),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$3)},this._element,!0)))}_getStaticClassName(){return"offcanvas-static"}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne("dialog.offcanvas[open]");n&&n!==t&&Offcanvas.getInstance(n).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find("dialog.offcanvas[open]"))Offcanvas.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find('dialog[open][class*="\\:offcanvas"]'))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()}),enableDismissTrigger(Offcanvas);const NAME$9="strength",DATA_KEY$6="bs.strength",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$6}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$8={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$8={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,s]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=s?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$6}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$8="otpInput",DATA_KEY$5="bs.otp-input",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$5}`,EVENT_INPUT=`input${EVENT_KEY$5}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$7={length:6,mask:!1},DefaultType$7={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:s}=n;if(s.length>1){const e=s.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const i=Math.min(t+e.length,this._inputs.length-1);this._inputs[i].focus()}else s&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const NAME$7="chipInput",DATA_KEY$4="bs.chip-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_ADD=`add${EVENT_KEY$4}`,EVENT_REMOVE=`remove${EVENT_KEY$4}`,EVENT_CHANGE=`change${EVENT_KEY$4}`,EVENT_SELECT=`select${EVENT_KEY$4}`,SELECTOR_DATA_CHIP_INPUT="[data-bs-chip-input]",SELECTOR_GHOST_INPUT=".form-ghost",SELECTOR_CHIP=".chip",SELECTOR_CHIP_DISMISS=".chip-dismiss",CLASS_NAME_CHIP="chip",CLASS_NAME_CHIP_DISMISS="chip-dismiss",CLASS_NAME_ACTIVE$2="active",DEFAULT_DISMISS_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>',Default$6={separator:",",allowDuplicates:!1,maxChips:null,placeholder:"",dismissible:!0,dismissIcon:DEFAULT_DISMISS_ICON,createOnBlur:!0},DefaultType$6={separator:"(string|null)",allowDuplicates:"boolean",maxChips:"(number|null)",placeholder:"string",dismissible:"boolean",dismissIcon:"string",createOnBlur:"boolean"};class ChipInput extends BaseComponent{constructor(e,t){super(e,t),this._input=SelectorEngine.findOne(".form-ghost",this._element),this._chips=[],this._selectedChips=new Set,this._anchorChip=null,this._input||this._createInput(),this._initializeExistingChips(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}add(e){const t=String(e).trim();if(!t)return null;if(!this._config.allowDuplicates&&this._chips.includes(t))return null;if(null!==this._config.maxChips&&this._chips.length>=this._config.maxChips)return null;if(EventHandler.trigger(this._element,EVENT_ADD,{value:t,relatedTarget:this._input}).defaultPrevented)return null;const n=this._createChip(t);return this._element.insertBefore(n,this._input),this._chips.push(t),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),n}remove(e){let t,n;return"string"==typeof e?(n=e,t=this._findChipByValue(n)):(t=e,n=this._getChipValue(t)),!(!t||!n)&&(!EventHandler.trigger(this._element,EVENT_REMOVE,{value:n,chip:t,relatedTarget:this._input}).defaultPrevented&&(this._selectedChips.delete(t),this._anchorChip===t&&(this._anchorChip=null),t.remove(),this._chips=this._chips.filter(e=>e!==n),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),!0))}removeSelected(){const e=[...this._selectedChips];for(const t of e)this.remove(t);this._input?.focus()}getValues(){return[...this._chips]}getSelectedValues(){return[...this._selectedChips].map(e=>this._getChipValue(e))}clear(){const e=SelectorEngine.find(".chip",this._element);for(const t of e)t.remove();this._chips=[],this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_CHANGE,{values:[]})}clearSelection(){for(const e of this._selectedChips)e.classList.remove("active");this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_SELECT,{selected:[]})}selectChip(e,t={}){const{addToSelection:n=!1,rangeSelect:s=!1}=t,i=this._getChipElements();if(i.includes(e)){if(s&&this._anchorChip){const t=i.indexOf(this._anchorChip),s=i.indexOf(e),o=Math.min(t,s),a=Math.max(t,s);n||this.clearSelection();for(let e=o;e<=a;e++)this._selectedChips.add(i[e]),i[e].classList.add("active")}else n?this._selectedChips.has(e)?(this._selectedChips.delete(e),e.classList.remove("active")):(this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e):(this.clearSelection(),this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e);EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}focus(){this._input?.focus()}_getChipElements(){return SelectorEngine.find(".chip",this._element)}_createInput(){const e=document.createElement("input");e.type="text",e.className="form-ghost",this._config.placeholder&&(e.placeholder=this._config.placeholder),this._element.append(e),this._input=e}_initializeExistingChips(){const e=SelectorEngine.find(".chip",this._element);for(const t of e){const e=this._getChipValue(t);e&&(this._chips.push(e),this._setupChip(t))}}_setupChip(e){e.setAttribute("tabindex","0"),this._config.dismissible&&!SelectorEngine.findOne(".chip-dismiss",e)&&e.append(this._createDismissButton())}_createChip(e){const t=document.createElement("span");return t.className="chip",t.dataset.bsChipValue=e,t.append(document.createTextNode(e)),this._setupChip(t),t}_createDismissButton(){const e=document.createElement("button");return e.type="button",e.className="chip-dismiss",e.setAttribute("aria-label","Remove"),e.setAttribute("tabindex","-1"),e.innerHTML=this._config.dismissIcon,e}_findChipByValue(e){return this._getChipElements().find(t=>this._getChipValue(t)===e)}_getChipValue(e){if(e.dataset.bsChipValue)return e.dataset.bsChipValue;const t=e.cloneNode(!0),n=SelectorEngine.findOne(".chip-dismiss",t);return n&&n.remove(),t.textContent?.trim()||""}_addEventListeners(){EventHandler.on(this._input,"keydown",e=>this._handleInputKeydown(e)),EventHandler.on(this._input,"input",e=>this._handleInput(e)),EventHandler.on(this._input,"paste",e=>this._handlePaste(e)),EventHandler.on(this._input,"focus",()=>this.clearSelection()),this._config.createOnBlur&&EventHandler.on(this._input,"blur",e=>{e.relatedTarget?.closest(".chip")||this._createChipFromInput()}),EventHandler.on(this._element,"click",".chip",e=>{if(e.target.closest(".chip-dismiss"))return;const t=e.target.closest(".chip");t&&(e.preventDefault(),this.selectChip(t,{addToSelection:e.metaKey||e.ctrlKey,rangeSelect:e.shiftKey}),t.focus())}),EventHandler.on(this._element,"click",".chip-dismiss",e=>{e.stopPropagation();const t=e.target.closest(".chip");t&&(this.remove(t),this._input?.focus())}),EventHandler.on(this._element,"keydown",".chip",e=>{this._handleChipKeydown(e)}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&(this.clearSelection(),this._input?.focus())})}_handleInputKeydown(e){const{key:t}=e;switch(t){case"Enter":e.preventDefault(),this._createChipFromInput();break;case"Backspace":case"Delete":if(""===this._input.value){e.preventDefault();const t=this._getChipElements();if(t.length>0){const e=t.at(-1);this.selectChip(e),e.focus()}}break;case"ArrowLeft":if(0===this._input.selectionStart&&0===this._input.selectionEnd){e.preventDefault();const t=this._getChipElements();if(t.length>0){const n=t.at(-1);e.shiftKey?this.selectChip(n,{addToSelection:!0}):this.selectChip(n),n.focus()}}break;case"Escape":this._input.value="",this.clearSelection(),this._input.blur()}}_handleChipKeydown(e){const{key:t}=e,n=e.target.closest(".chip");if(!n)return;const s=this._getChipElements(),i=s.indexOf(n);switch(t){case"Backspace":case"Delete":e.preventDefault(),this._handleChipDelete(i,s);break;case"ArrowLeft":e.preventDefault(),this._navigateChip(s,i,-1,e.shiftKey);break;case"ArrowRight":e.preventDefault(),this._navigateChip(s,i,1,e.shiftKey);break;case"Home":e.preventDefault(),this._navigateToEdge(s,0,e.shiftKey);break;case"End":case"Escape":e.preventDefault(),this.clearSelection(),this._input?.focus();break;case"a":this._handleSelectAll(e,s)}}_handleChipDelete(e,t){if(0===this._selectedChips.size)return;const n=Math.min(e,t.length-this._selectedChips.size-1);this.removeSelected();const s=this._getChipElements();if(s.length>0){const e=Math.max(0,Math.min(n,s.length-1));s[e].focus(),this.selectChip(s[e])}else this._input?.focus()}_navigateChip(e,t,n,s){const i=t+n;if(n<0&&i>=0){const t=e[i];this.selectChip(t,s?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else if(n>0&&i<e.length){const t=e[i];this.selectChip(t,s?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else n>0&&(this.clearSelection(),this._input?.focus())}_navigateToEdge(e,t,n){if(0===e.length)return;const s=e[t];this.selectChip(s,n?{rangeSelect:!0}:{}),s.focus()}_handleSelectAll(e,t){if(e.metaKey||e.ctrlKey){e.preventDefault();for(const e of t)this._selectedChips.add(e),e.classList.add("active");EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}_handleInput(e){const{value:t}=e.target,{separator:n}=this._config;if(n&&t.includes(n)){const e=t.split(n);for(const t of e.slice(0,-1))this.add(t.trim());this._input.value=e.at(-1)}}_handlePaste(e){const{separator:t}=this._config;if(!t)return;const n=(e.clipboardData||window.clipboardData).getData("text");if(n.includes(t)){e.preventDefault();const s=n.split(t);for(const e of s)this.add(e.trim())}}_createChipFromInput(){const e=this._input.value.trim();e&&(this.add(e),this._input.value="")}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-chip-input]"))ChipInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const s=(new window.DOMParser).parseFromString(e,"text/html"),i=[].concat(...s.body.querySelectorAll("*"));for(const e of i){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const s=[].concat(...e.attributes),i=[].concat(t["*"]||[],t[n]||[]);for(const t of s)allowedAttribute(t,i)||e.removeAttribute(t.nodeName)}return s.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const s=SelectorEngine.findOne(n,e);s&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),s):this._config.html?s.innerHTML=this._maybeSanitize(t):s.textContent=t:s.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));let{container:s}=this._config;const i=this._element.closest("dialog[open]");if(i&&s===document.body&&(s=i),this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const s=this._getFloatingMiddleware(n),i=this._getFloatingConfig(t,s),{x:o,y:a,placement:r,middlewareData:l}=await computePosition(this._element,e,i);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",r),n&&l.arrow){const{x:e,y:t}=l.arrow,s=r.startsWith("top")||r.startsWith("bottom");Object.assign(n.style,{left:s&&null!==e?`${e}px`:"",top:s||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_MENU_ITEM="menu-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_MENU_TOGGLE$1='[data-bs-toggle="menu"]',Default$2={rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,s=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:s,behavior:"smooth"});n.scrollTop=s}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},s=(this._rootElement||document.documentElement).scrollTop,i=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&e){if(n(o),!s)return}else i||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("menu-item")){const t=e.closest(".menu")?.previousElementSibling;return void(t?.matches(SELECTOR_MENU_TOGGLE$1)&&t.classList.add("active"))}for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",SELECTOR_MENU_TOGGLE='[data-bs-toggle="menu"]',SELECTOR_MENU=".menu",NOT_SELECTOR_MENU_TOGGLE=`:not(${SELECTOR_MENU_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role="tab"]${NOT_SELECTOR_MENU_TOGGLE}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleMenu(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleMenu(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const s=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,s,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleMenu(e,t){const n=this._getOuterElement(e),s=SelectorEngine.findOne(SELECTOR_MENU_TOGGLE,n);if(!s)return;const i=SelectorEngine.findOne(".menu",n);s.classList.toggle("active",t),i&&i.classList.toggle("show",t),s.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,ChipInput,Collapse,Combobox,Datepicker,Dialog,Menu,NavOverflow,Offcanvas,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
+import{computePosition,autoUpdate,offset,flip,shift,arrow}from"@floating-ui/dom";import{Calendar}from"vanilla-calendar-pro";const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const s=elementMap.get(e);s.has(t)||0===s.size?s.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,getAny:e=>elementMap.has(e)&&elementMap.get(e).values().next().value||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(s){return hydrateObj(s,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,s.type,t),t.apply(e,[s])}}function bootstrapDelegationHandler(e,t,n){return function s(i){const o=e.querySelectorAll(t);for(let{target:a}=i;a&&a!==this;a=a.parentNode)for(const r of o)if(r===a)return hydrateObj(i,{delegateTarget:a}),s.oneOff&&EventHandler.off(e,i.type,t,n),n.apply(a,[i])}}function findHandler(e,t,n=null){return Object.values(e).find(e=>e.callable===t&&e.delegationSelector===n)}function normalizeParameters(e,t,n){const s="string"==typeof t,i=s?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[s,i,o]}function addHandler(e,t,n,s,i){if("string"!=typeof t||!e)return;let[o,a,r]=normalizeParameters(t,n,s);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};a=e(a)}const l=getElementEvents(e),c=l[r]||(l[r]={}),_=findHandler(c,a,o?n:null);if(_)return void(_.oneOff=_.oneOff&&i);const h=makeEventUid(a,t.replace(namespaceRegex,"")),u=o?bootstrapDelegationHandler(e,n,a):bootstrapHandler(e,a);u.delegationSelector=o?n:null,u.callable=a,u.oneOff=i,u.uidEvent=h,c[h]=u,e.addEventListener(r,u,o)}function removeHandler(e,t,n,s,i){const o=findHandler(t[n],s,i);o&&(e.removeEventListener(n,o,Boolean(i)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,s){const i=t[n]||{};for(const[o,a]of Object.entries(i))o.includes(s)&&removeHandler(e,t,n,a.callable,a.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,s){addHandler(e,t,n,s,!1)},one(e,t,n,s){addHandler(e,t,n,s,!0)},off(e,t,n,s){if("string"!=typeof t||!e)return;const[i,o,a]=normalizeParameters(t,n,s),r=a!==t,l=getElementEvents(e),c=l[a]||{},_=t.startsWith(".");if(void 0===o){if(_)for(const n of Object.keys(l))removeNamespacedHandlers(e,l,n,t.slice(1));for(const[n,s]of Object.entries(c)){const i=n.replace(stripUidRegex,"");r&&!t.includes(i)||removeHandler(e,l,a,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,l,a,o,i?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const s=hydrateObj(new Event(t,{bubbles:!0,cancelable:!0}),n);return e.dispatchEvent(s),s}};function hydrateObj(e,t={}){for(const[n,s]of Object.entries(t))try{e[n]=s}catch{Object.defineProperty(e,n,{configurable:!0,get:()=>s})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch{return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter(e=>e.startsWith("bs")&&!e.startsWith("bsConfig"));for(const s of n){let n=s.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),t[n]=normalizeData(e.dataset[s])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const s=Number.parseFloat(t),i=Number.parseFloat(n);return s||i?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&void 0!==e.nodeType,getElement=e=>isElement(e)?e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled")),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},isRTL=()=>"rtl"===document.documentElement.dir,execute=(e,t=[],n=e)=>"function"==typeof e?e.call(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const s=getTransitionDurationFromElement(t)+5;let i=!1;const o=({target:n})=>{n===t&&(i=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{i||triggerTransitionEnd(t)},s)},getNextActiveElement=(e,t,n,s)=>{const i=e.length;let o=e.indexOf(t);return-1===o?!n&&s?e[i-1]:e[0]:(o+=n?1:-1,s&&(o=(o+i)%i),e[Math.max(0,Math.min(o,i-1))])};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,s]of Object.entries(t)){const t=e[n],i=isElement(t)?"element":toType(t);if(!new RegExp(s).test(i))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${i}" but expected type "${s}".`)}}}const VERSION="6.0.0-alpha1";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?n.trim():null}return t?t.split(",").map(e=>parseSelector(e)).join(","):null},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter(e=>e.matches(t)),parents(e,t){const n=[];let s=e.parentNode.closest(t);for(;s;)n.push(s),s=s.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,e).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,s=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${s}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const i=SelectorEngine.getElementFromSelector(this)||this.closest(`.${s}`);e.getOrCreateInstance(i)[t]()})},eventActionOnPlugin=(e,t,n,s,i=null)=>{eventAction(`${t}.${e.NAME}`,n,t=>{const n=t.targets.filter(Boolean).map(t=>e.getOrCreateInstance(t));"function"==typeof i&&i({...t,instances:n});for(const e of n)e[s]()})},eventAction=(e,t,n)=>{const s=`${t}:not(.disabled):not(:disabled)`;EventHandler.on(document,e,s,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault();const t=SelectorEngine.getSelectorFromElement(this),s=t?SelectorEngine.find(t):[this];n({targets:s,event:e})})},NAME$k="alert",DATA_KEY$g="bs.alert",EVENT_KEY$h=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$6="show";class Alert extends BaseComponent{static get NAME(){return NAME$k}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}}enableDismissTrigger(Alert,"close");const NAME$j="button",DATA_KEY$f="bs.button",EVENT_KEY$g=`.${DATA_KEY$f}`,DATA_API_KEY$b=".data-api",CLASS_NAME_ACTIVE$4="active",SELECTOR_DATA_TOGGLE$a='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$8=`click${EVENT_KEY$g}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$j}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}}EventHandler.on(document,EVENT_CLICK_DATA_API$8,SELECTOR_DATA_TOGGLE$a,e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$a);Button.getOrCreateInstance(t).toggle()});const NAME$i="swipe",EVENT_KEY$f=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$h={endCallback:null,leftCallback:null,rightCallback:null,upCallback:null,downCallback:null},DefaultType$h={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)",upCallback:"(function|null)",downCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._deltaY=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$h}static get DefaultType(){return DefaultType$h}static get NAME(){return NAME$i}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){if(!this._supportPointerEvents)return this._deltaX=e.touches[0].clientX,void(this._deltaY=e.touches[0].clientY);this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX,this._deltaY=e.clientY)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX,this._deltaY=e.clientY-this._deltaY),this._handleSwipe(),execute(this._config.endCallback)}_move(e){if(e.touches&&e.touches.length>1)return this._deltaX=0,void(this._deltaY=0);this._deltaX=e.touches[0].clientX-this._deltaX,this._deltaY=e.touches[0].clientY-this._deltaY}_handleSwipe(){const e=Math.abs(this._deltaX),t=Math.abs(this._deltaY);if(t>e&&t>40){const e=this._deltaY>0?"down":"up";return this._deltaX=0,this._deltaY=0,void execute("down"===e?this._config.downCallback:this._config.upCallback)}if(e>40){const t=e/this._deltaX;if(this._deltaX=0,this._deltaY=0,!t)return;return void execute(t>0?this._config.rightCallback:this._config.leftCallback)}this._deltaX=0,this._deltaY=0}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,e=>this._start(e)),EventHandler.on(this._element,EVENT_POINTERUP,e=>this._end(e)),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,e=>this._start(e)),EventHandler.on(this._element,EVENT_TOUCHMOVE,e=>this._move(e)),EventHandler.on(this._element,EVENT_TOUCHEND,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$h="carousel",DATA_KEY$e="bs.carousel",EVENT_KEY$e=`.${DATA_KEY$e}`,DATA_API_KEY$a=".data-api",ARROW_LEFT_KEY$2="ArrowLeft",ARROW_RIGHT_KEY$2="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$e}`,EVENT_SLID=`slid${EVENT_KEY$e}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$e}`,EVENT_MOUSEENTER$2=`mouseenter${EVENT_KEY$e}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$e}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$e}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$e}.data-api`,EVENT_CLICK_DATA_API$7=`click${EVENT_KEY$e}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$3="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$2]:"right",[ARROW_RIGHT_KEY$2]:"left"},Default$g={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$g={interval:"number",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$g}static get DefaultType(){return DefaultType$g}static get NAME(){return NAME$h}next(){this._slide("next")}nextWhenVisible(){"visible"===document.visibilityState&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const s=e>n?"next":"prev";this._slide(s,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,e=>this._keydown(e)),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$2,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,e=>e.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),s="next"===e,i=t||getNextActiveElement(this._getItems(),n,s,this._config.wrap);if(i===n)return;const o=this._getItemIndex(i),a=t=>EventHandler.trigger(this._element,t,{relatedTarget:i,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(a(EVENT_SLIDE).defaultPrevented)return;if(!n||!i)return;const r=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=i;const l=s?CLASS_NAME_START:CLASS_NAME_END,c=s?CLASS_NAME_NEXT:CLASS_NAME_PREV;i.classList.add(c),reflow(i),n.classList.add(l),i.classList.add(l),this._queueCallback(()=>{i.classList.remove(l,c),i.classList.add("active"),n.classList.remove("active",c,l),this._isSliding=!1,a(EVENT_SLID)},n,this._isAnimated()),r&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}}EventHandler.on(document,EVENT_CLICK_DATA_API$7,SELECTOR_DATA_SLIDE,function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),s=this.getAttribute("data-bs-slide-to");return s?(n.to(s),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())}),EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)});const NAME$g="collapse",DATA_KEY$d="bs.collapse",EVENT_KEY$d=`.${DATA_KEY$d}`,DATA_API_KEY$9=".data-api",EVENT_SHOW$7=`show${EVENT_KEY$d}`,EVENT_SHOWN$6=`shown${EVENT_KEY$d}`,EVENT_HIDE$6=`hide${EVENT_KEY$d}`,EVENT_HIDDEN$8=`hidden${EVENT_KEY$d}`,EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$d}.data-api`,CLASS_NAME_SHOW$5="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$9='[data-bs-toggle="collapse"]',Default$f={parent:null,toggle:!0},DefaultType$f={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$9);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter(e=>e===this._element);null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$f}static get DefaultType(){return DefaultType$f}static get NAME(){return NAME$g}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(e=>e!==this._element).map(e=>Collapse.getOrCreateInstance(e,{toggle:!1}))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$7).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$8)},this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$9);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter(e=>!t.includes(e))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$9,function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()});const BREAKPOINTS={sm:576,md:768,lg:1024,xl:1280,"2xl":1536},parseResponsivePlacement=(e,t="bottom")=>{if(!e||!e.includes(":"))return null;const n=e.split(/\s+/),s={xs:t};for(const e of n)if(e.includes(":")){const[t,n]=e.split(":");void 0!==BREAKPOINTS[t]&&(s[t]=n)}else s.xs=e;return s},getResponsivePlacement=(e,t="bottom")=>{if(!e)return t;const n=window.innerWidth;let s=e.xs||t;const i=["sm","md","lg","xl","2xl"];for(const t of i)n>=BREAKPOINTS[t]&&e[t]&&(s=e[t]);return s},createBreakpointListeners=e=>{const t=[];for(const n of Object.keys(BREAKPOINTS)){const s=BREAKPOINTS[n],i=window.matchMedia(`(min-width: ${s}px)`);i.addEventListener("change",e),t.push({mql:i,handler:e})}return t},disposeBreakpointListeners=e=>{for(const{mql:t,handler:n}of e)t.removeEventListener("change",n)},NAME$f="menu",DATA_KEY$c="bs.menu",EVENT_KEY$c=".bs.menu",DATA_API_KEY$8=".data-api",ESCAPE_KEY$1="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$2="ArrowUp",ARROW_DOWN_KEY$2="ArrowDown",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",HOME_KEY$2="Home",END_KEY$2="End",ENTER_KEY$1="Enter",SPACE_KEY$1=" ",RIGHT_MOUSE_BUTTON=2,SUBMENU_CLOSE_DELAY=100,EVENT_HIDE$5="hide.bs.menu",EVENT_HIDDEN$7="hidden.bs.menu",EVENT_SHOW$6="show.bs.menu",EVENT_SHOWN$5="shown.bs.menu",EVENT_CLICK_DATA_API$5="click.bs.menu.data-api",EVENT_KEYDOWN_DATA_API="keydown.bs.menu.data-api",EVENT_KEYUP_DATA_API="keyup.bs.menu.data-api",CLASS_NAME_SHOW$4="show",SELECTOR_DATA_TOGGLE$8='[data-bs-toggle="menu"]:not(.disabled):not(:disabled)',SELECTOR_MENU$2=".menu",SELECTOR_SUBMENU=".submenu",SELECTOR_SUBMENU_TOGGLE=".submenu > .menu-item",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS$1=".menu-item:not(.disabled):not(:disabled)",DEFAULT_PLACEMENT="bottom-start",SUBMENU_PLACEMENT="end-start",resolveLogicalPlacement=e=>isRTL()?e.replace(/^start(?=-|$)/,"right").replace(/^end(?=-|$)/,"left"):e.replace(/^start(?=-|$)/,"left").replace(/^end(?=-|$)/,"right"),triangleSign=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Default$e={autoClose:!0,boundary:"clippingParents",container:!1,display:"dynamic",offset:[0,2],floatingConfig:null,menu:null,placement:"bottom-start",reference:"toggle",strategy:"absolute",submenuTrigger:"both",submenuDelay:100},DefaultType$e={autoClose:"(boolean|string)",boundary:"(string|element)",container:"(string|element|boolean)",display:"string",offset:"(array|string|function)",floatingConfig:"(null|object|function)",menu:"(null|element)",placement:"string",reference:"(string|element|object)",strategy:"string",submenuTrigger:"string",submenuDelay:"number"};class Menu extends BaseComponent{static _openInstances=(()=>new Set)();constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's menus require Floating UI (https://floating-ui.com)");super(e,t),this._floatingCleanup=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this._parent=this._element.parentNode,this._isSubmenu=this._parent.classList?.contains("submenu"),this._openSubmenus=new Map,this._submenuCloseTimeouts=new Map,this._hoverIntentData=null,this._menu=this._config.menu||this._findMenu(),this._menuOriginalParent=this._menu?.parentNode,this._parseResponsivePlacements(),this._setupSubmenuListeners()}static get Default(){return Default$e}static get DefaultType(){return DefaultType$e}static get NAME(){return"menu"}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$6,e).defaultPrevented){if(this._moveMenuToContainer(),this._createFloating(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus({focusVisible:!1}),this._element.setAttribute("aria-expanded","true"),this._menu.classList.add("show"),this._element.classList.add("show"),this._parent&&this._parent.classList.add("show"),Menu._openInstances.add(this),EventHandler.trigger(this._element,EVENT_SHOWN$5,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._disposeFloating(),this._restoreMenuToOriginalParent(),this._disposeMediaQueryListeners(),this._closeAllSubmenus(),this._clearAllSubmenuTimeouts(),Menu._openInstances.delete(this),super.dispose()}update(){this._floatingCleanup&&this._updateFloatingPosition()}_findMenu(){return SelectorEngine.next(this._element,".menu")[0]||SelectorEngine.prev(this._element,".menu")[0]||SelectorEngine.findOne(".menu",this._parent)}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,e).defaultPrevented){if(this._closeAllSubmenus(),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._disposeFloating(),this._restoreMenuToOriginalParent(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._parent&&this._parent.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"placement"),Manipulator.removeDataAttribute(this._menu,"display"),Menu._openInstances.delete(this),EventHandler.trigger(this._element,EVENT_HIDDEN$7,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${"menu".toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createFloating(){if("static"===this._config.display)return void Manipulator.setDataAttribute(this._menu,"display","static");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference),this._updateFloatingPosition(e),this._floatingCleanup=autoUpdate(e,this._menu,()=>this._updateFloatingPosition(e))}async _updateFloatingPosition(e=null){if(!this._menu)return;e||(e="parent"===this._config.reference?this._parent:isElement(this._config.reference)?getElement(this._config.reference):"object"==typeof this._config.reference?this._config.reference:this._element);const t=this._getPlacement(),n=this._getFloatingMiddleware(),s=this._getFloatingConfig(t,n);await this._applyFloatingPosition(e,this._menu,s.placement,s.middleware,s.strategy)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._responsivePlacements?getResponsivePlacement(this._responsivePlacements,"bottom-start"):this._config.placement;return resolveLogicalPlacement(e)}_parseResponsivePlacements(){this._responsivePlacements=parseResponsivePlacement(this._config.placement,"bottom-start"),this._responsivePlacements&&this._setupMediaQueryListeners()}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_getFloatingMiddleware(){const e=this._getOffset();return[offset("function"==typeof e?e:{mainAxis:e[1]||0,crossAxis:e[0]||0}),flip({fallbackPlacements:this._getFallbackPlacements()}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})]}_getFallbackPlacements(){return{bottom:["top","bottom-start","bottom-end","top-start","top-end"],"bottom-start":["top-start","bottom-end","top-end"],"bottom-end":["top-end","bottom-start","top-start"],top:["bottom","top-start","top-end","bottom-start","bottom-end"],"top-start":["bottom-start","top-end","bottom-end"],"top-end":["bottom-end","top-start","bottom-start"],right:["left","right-start","right-end","left-start","left-end"],"right-start":["left-start","right-end","left-end","top-start","bottom-start"],"right-end":["left-end","right-start","left-start","top-end","bottom-end"],left:["right","left-start","left-end","right-start","right-end"],"left-start":["right-start","left-end","right-end","top-start","bottom-start"],"left-end":["right-end","left-start","right-start","top-end","bottom-end"]}[this._getPlacement()]||["top","bottom","right","left"]}_getFloatingConfig(e,t){const n={placement:e,middleware:t,strategy:this._config.strategy};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null)}_getContainer(){const{container:e}=this._config;return!1===e?null:!0===e?document.body:getElement(e)}_moveMenuToContainer(){const e=this._getContainer();e&&this._menu&&this._menu.parentNode!==e&&e.append(this._menu)}_restoreMenuToOriginalParent(){this._menuOriginalParent&&this._menu&&this._menu.parentNode!==this._menuOriginalParent&&this._menuOriginalParent.append(this._menu)}async _applyFloatingPosition(e,t,n,s,i="absolute"){if(!t.isConnected)return null;const{x:o,y:a,placement:r}=await computePosition(e,t,{placement:n,middleware:s,strategy:i});return t.isConnected?(Object.assign(t.style,{position:i,left:`${o}px`,top:`${a}px`,margin:"0"}),Manipulator.setDataAttribute(t,"placement",r),r):null}_setupSubmenuListeners(){"hover"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||(EventHandler.on(this._menu,"mouseenter",".submenu > .menu-item",e=>{this._onSubmenuTriggerEnter(e)}),EventHandler.on(this._menu,"mouseleave",".submenu",e=>{this._onSubmenuLeave(e)}),EventHandler.on(this._menu,"mousemove",e=>{this._trackMousePosition(e)})),"click"!==this._config.submenuTrigger&&"both"!==this._config.submenuTrigger||EventHandler.on(this._menu,"click",".submenu > .menu-item",e=>{this._onSubmenuTriggerClick(e)})}_onSubmenuTriggerEnter(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;const n=t.closest(".submenu"),s=SelectorEngine.findOne(".menu",n);s&&(this._cancelSubmenuCloseTimeout(s),this._closeSiblingSubmenus(n),this._openSubmenu(t,s,n))}_onSubmenuLeave(e){const t=e.target.closest(".submenu"),n=SelectorEngine.findOne(".menu",t);n&&this._openSubmenus.has(n)&&(this._isMovingTowardSubmenu(e,n)||this._scheduleSubmenuClose(n,t))}_onSubmenuTriggerClick(e){const t=e.target.closest(".submenu > .menu-item");if(!t)return;e.preventDefault(),e.stopPropagation();const n=t.closest(".submenu"),s=SelectorEngine.findOne(".menu",n);s&&(this._openSubmenus.has(s)?this._closeSubmenu(s,n):(this._closeSiblingSubmenus(n),this._openSubmenu(t,s,n)))}_openSubmenu(e,t,n){if(this._openSubmenus.has(t))return;e.setAttribute("aria-expanded","true"),e.setAttribute("aria-haspopup","true"),t.classList.add("show"),n.classList.add("show");const s=this._createSubmenuFloating(e,t,n);this._openSubmenus.set(t,s),EventHandler.on(t,"mouseenter",()=>{this._cancelSubmenuCloseTimeout(t)})}_closeSubmenu(e,t){if(!this._openSubmenus.has(e))return;const n=SelectorEngine.find(".submenu .menu.show",e);for(const e of n){const t=e.closest(".submenu");this._closeSubmenu(e,t)}const s=SelectorEngine.findOne(".submenu > .menu-item",t),i=this._openSubmenus.get(e);i&&i(),this._openSubmenus.delete(e),EventHandler.off(e,"mouseenter"),s&&s.setAttribute("aria-expanded","false"),e.classList.remove("show"),t.classList.remove("show"),e.style.position="",e.style.left="",e.style.top="",e.style.margin=""}_closeAllSubmenus(){for(const[e]of this._openSubmenus){const t=e.closest(".submenu");this._closeSubmenu(e,t)}}_closeSiblingSubmenus(e){const t=e.parentNode,n=SelectorEngine.find(".submenu > .menu.show",t);for(const t of n){const n=t.closest(".submenu");n!==e&&this._closeSubmenu(t,n)}}_createSubmenuFloating(e,t,n){const s=n,i=resolveLogicalPlacement("end-start"),o=[offset({mainAxis:0,crossAxis:-4}),flip({fallbackPlacements:[resolveLogicalPlacement("start-start"),resolveLogicalPlacement("end-end"),resolveLogicalPlacement("start-end")]}),shift({padding:8})],a=()=>this._applyFloatingPosition(s,t,i,o);return a(),autoUpdate(s,t,a)}_scheduleSubmenuClose(e,t){this._cancelSubmenuCloseTimeout(e);const n=setTimeout(()=>{this._closeSubmenu(e,t),this._submenuCloseTimeouts.delete(e)},this._config.submenuDelay);this._submenuCloseTimeouts.set(e,n)}_cancelSubmenuCloseTimeout(e){const t=this._submenuCloseTimeouts.get(e);t&&(clearTimeout(t),this._submenuCloseTimeouts.delete(e))}_clearAllSubmenuTimeouts(){for(const e of this._submenuCloseTimeouts.values())clearTimeout(e);this._submenuCloseTimeouts.clear()}_trackMousePosition(e){this._hoverIntentData={x:e.clientX,y:e.clientY,timestamp:Date.now()}}_isMovingTowardSubmenu(e,t){if(!this._hoverIntentData)return!1;const n=t.getBoundingClientRect(),s={x:e.clientX,y:e.clientY},i={x:this._hoverIntentData.x,y:this._hoverIntentData.y},o=isRTL()?n.right:n.left,a={x:o,y:n.top},r={x:o,y:n.bottom};return this._pointInTriangle(s,i,a,r)}_pointInTriangle(e,t,n,s){const i=triangleSign(e,t,n),o=triangleSign(e,n,s),a=triangleSign(e,s,t);return!((i<0||o<0||a<0)&&(i>0||o>0||a>0))}_selectMenuItem({key:e,target:t}){const n=t.closest(".menu")||this._menu,s=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,n).filter(e=>isVisible(e));s.length&&getNextActiveElement(s,t,e===ARROW_DOWN_KEY$2,!s.includes(t)).focus()}_handleSubmenuKeydown(e){const{key:t,target:n}=e,s=isRTL(),i=s?ARROW_LEFT_KEY$1:ARROW_RIGHT_KEY$1,o=s?ARROW_RIGHT_KEY$1:ARROW_LEFT_KEY$1,a=n.closest(".submenu"),r=a&&n.matches(".submenu > .menu-item");if((t===ENTER_KEY$1||t===SPACE_KEY$1)&&r){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===i&&r){e.preventDefault(),e.stopPropagation();const t=SelectorEngine.findOne(".menu",a);return t&&(this._closeSiblingSubmenus(a),this._openSubmenu(n,t,a),requestAnimationFrame(()=>{const e=SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS$1,t);e&&e.focus()})),!0}if(t===o){const t=n.closest(".menu"),s=t?.closest(".submenu");if(s){e.preventDefault(),e.stopPropagation();const n=SelectorEngine.findOne(".submenu > .menu-item",s);return this._closeSubmenu(t,s),n&&n.focus(),!0}}if(t===HOME_KEY$2||t===END_KEY$2){e.preventDefault(),e.stopPropagation();const s=n.closest(".menu"),i=SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS$1}`,s).filter(e=>isVisible(e));return i.length&&(t===HOME_KEY$2?i[0]:i[i.length-1]).focus(),!0}return!1}static clearMenus(e){if(2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(const t of Menu._openInstances){if(!1===t._config.autoClose)continue;const n=e.composedPath(),s=n.includes(t._menu);if(n.includes(t._element)||"inside"===t._config.autoClose&&!s||"outside"===t._config.autoClose&&s)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const i={relatedTarget:t._element};"click"===e.type&&(i.clickEvent=e),t._completeHide(i)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,s=[ARROW_UP_KEY$2,ARROW_DOWN_KEY$2].includes(e.key),i=[ARROW_LEFT_KEY$1,ARROW_RIGHT_KEY$1].includes(e.key),o=[HOME_KEY$2,END_KEY$2].includes(e.key),a=[ENTER_KEY$1,SPACE_KEY$1].includes(e.key),r=e.target.matches(".submenu > .menu-item");if(!(s||n||i||o||a&&r))return;if(t&&!n)return;const l=this.matches(SELECTOR_DATA_TOGGLE$8)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$8)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$8,e.delegateTarget.parentNode);if(!l)return;const c=Menu.getOrCreateInstance(l);if(!(i||o||a&&r)||!c._handleSubmenuKeydown(e)){if(s)return e.preventDefault(),e.stopPropagation(),c.show(),void c._selectMenuItem(e);if(n&&c._isShown()){e.preventDefault(),e.stopPropagation();const t=e.target.closest(".menu"),n=t?.closest(".submenu");if(n&&c._openSubmenus.size>0){const e=SelectorEngine.findOne(".submenu > .menu-item",n);return c._closeSubmenu(t,n),void(e&&e.focus())}c.hide(),l.focus()}}}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$8,Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,".menu",Menu.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$5,Menu.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Menu.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_TOGGLE$8,function(e){e.preventDefault(),Menu.getOrCreateInstance(this).toggle()});const NAME$e="combobox",DATA_KEY$b="bs.combobox",EVENT_KEY$b=`.${DATA_KEY$b}`,DATA_API_KEY$7=".data-api",ESCAPE_KEY="Escape",TAB_KEY="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",HOME_KEY$1="Home",END_KEY$1="End",ENTER_KEY="Enter",SPACE_KEY=" ",EVENT_CHANGE$2=`change${EVENT_KEY$b}`,EVENT_SHOW$5=`show${EVENT_KEY$b}`,EVENT_SHOWN$4=`shown${EVENT_KEY$b}`,EVENT_HIDE$4=`hide${EVENT_KEY$b}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$b}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$b}.data-api`,CLASS_NAME_SHOW$3="show",CLASS_NAME_SELECTED="selected",CLASS_NAME_PLACEHOLDER="combobox-placeholder",SELECTOR_DATA_TOGGLE$7='[data-bs-toggle="combobox"]',SELECTOR_MENU$1=".menu",SELECTOR_MENU_ITEM=".menu-item[data-bs-value]",SELECTOR_VISIBLE_ITEMS=".menu-item[data-bs-value]:not(.disabled):not(:disabled)",SELECTOR_VALUE=".combobox-value",SELECTOR_SEARCH_INPUT=".combobox-search-input",SELECTOR_NO_RESULTS=".combobox-no-results",Default$d={boundary:"clippingParents",multiple:!1,name:null,offset:[0,2],placeholder:"",placement:"bottom-start",search:!1,searchNormalize:!1},DefaultType$d={boundary:"(string|element)",multiple:"boolean",name:"(string|null)",offset:"(array|string|function)",placeholder:"string",placement:"string",search:"boolean",searchNormalize:"boolean"};class Combobox extends BaseComponent{constructor(e,t){super(e,t),this._toggle=this._element,this._menu=SelectorEngine.next(this._toggle,".menu")[0],this._valueDisplay=SelectorEngine.findOne(SELECTOR_VALUE,this._toggle),this._searchInput=SelectorEngine.findOne(SELECTOR_SEARCH_INPUT,this._menu),this._noResults=SelectorEngine.findOne(SELECTOR_NO_RESULTS,this._menu),this._hiddenInput=null,this._menuInstance=null,this._createHiddenInput(),this._createMenuInstance(),this._syncInitialSelection(),this._addEventListeners()}static get Default(){return Default$d}static get DefaultType(){return DefaultType$d}static get NAME(){return NAME$e}toggle(){return this._isShown()?this.hide():this.show()}show(){isDisabled(this._toggle)||this._isShown()||EventHandler.trigger(this._toggle,EVENT_SHOW$5).defaultPrevented||(this._menuInstance.show(),this._searchInput&&(this._searchInput.value="",this._filterItems(""),requestAnimationFrame(()=>this._searchInput.focus())),EventHandler.trigger(this._toggle,EVENT_SHOWN$4))}hide(){this._isShown()&&(EventHandler.trigger(this._toggle,EVENT_HIDE$4).defaultPrevented||(this._menuInstance.hide(),EventHandler.trigger(this._toggle,EVENT_HIDDEN$6)))}dispose(){this._menuInstance&&(this._menuInstance.dispose(),this._menuInstance=null),this._hiddenInput&&(this._hiddenInput.remove(),this._hiddenInput=null),EventHandler.off(this._menu,EVENT_KEY$b),EventHandler.off(this._toggle,EVENT_KEY$b),super.dispose()}_isShown(){return this._menu.classList.contains("show")}_createHiddenInput(){const{name:e}=this._config;e&&(this._hiddenInput=document.createElement("input"),this._hiddenInput.type="hidden",this._hiddenInput.name=e,this._hiddenInput.value="",this._toggle.parentNode.insertBefore(this._hiddenInput,this._toggle))}_createMenuInstance(){this._menuInstance=new Menu(this._toggle,{menu:this._menu,autoClose:!this._config.multiple||"outside",boundary:this._config.boundary,offset:this._config.offset,placement:this._config.placement})}_syncInitialSelection(){this._getSelectedItems().length>0?(this._updateToggleText(),this._updateHiddenInput()):this._showPlaceholder()}_addEventListeners(){EventHandler.on(this._menu,"click",SELECTOR_MENU_ITEM,e=>{const t=e.target.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&(e.preventDefault(),e.stopPropagation(),this._selectItem(t))}),EventHandler.on(this._toggle,"keydown",e=>{this._handleToggleKeydown(e)}),EventHandler.on(this._menu,"keydown",e=>{this._handleMenuKeydown(e)}),this._searchInput&&(EventHandler.on(this._searchInput,"input",()=>{this._filterItems(this._searchInput.value)}),EventHandler.on(this._searchInput,"keydown",e=>{if("ArrowDown"===e.key){e.preventDefault();const t=this._getVisibleItems();t.length>0&&t[0].focus()}"Escape"===e.key&&(this.hide(),this._toggle.focus())}))}_selectItem(e){if(this._config.multiple)e.classList.toggle("selected"),e.setAttribute("aria-selected",e.classList.contains("selected"));else{const t=SelectorEngine.find(".selected",this._menu);for(const e of t)e.classList.remove("selected"),e.setAttribute("aria-selected","false");e.classList.add("selected"),e.setAttribute("aria-selected","true")}this._updateToggleText(),this._updateHiddenInput();const t=this._config.multiple?this._getSelectedItems().map(e=>e.dataset.bsValue):e.dataset.bsValue;EventHandler.trigger(this._toggle,EVENT_CHANGE$2,{value:t,item:e}),this._config.multiple||(this.hide(),this._toggle.focus())}_updateToggleText(){const e=this._getSelectedItems();if(0!==e.length)if(this._valueDisplay.classList.remove("combobox-placeholder"),this._config.multiple&&e.length>1)this._valueDisplay.textContent=`${e.length} selected`;else{const t=e[0],n=SelectorEngine.findOne(".menu-item-content > span:first-child",t);this._valueDisplay.textContent=n?n.textContent:t.textContent.trim()}else this._showPlaceholder()}_showPlaceholder(){const{placeholder:e}=this._config;e&&(this._valueDisplay.textContent=e,this._valueDisplay.classList.add("combobox-placeholder"))}_updateHiddenInput(){if(!this._hiddenInput)return;const e=this._getSelectedItems().map(e=>e.dataset.bsValue);this._hiddenInput.value=this._config.multiple?e.join(","):e[0]||""}_getSelectedItems(){return SelectorEngine.find(".selected",this._menu)}_getVisibleItems(){return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(e=>isVisible(e))}_filterItems(e){const t=this._normalizeText(e.toLowerCase().trim()),n=SelectorEngine.find(SELECTOR_MENU_ITEM,this._menu);let s=0;for(const e of n){const n=this._normalizeText(e.textContent.toLowerCase().trim()),i=!t||n.includes(t);e.style.display=i?"":"none",i&&s++}this._noResults&&this._noResults.classList.toggle("d-none",s>0)}_normalizeText(e){return this._config.searchNormalize?e.normalize("NFD").replace(/[\u0300-\u036F]/g,""):e}_handleToggleKeydown(e){const{key:t}=e;if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault(),this._isShown()||this.show();const n=this._getVisibleItems();return void(n.length>0&&("ArrowDown"===t?n[0]:n[n.length-1]).focus())}"Enter"!==t&&" "!==t||this._isShown()||(e.preventDefault(),this.show())}_handleMenuKeydown(e){const{key:t,target:n}=e;if("Escape"===t)return e.preventDefault(),e.stopPropagation(),this.hide(),void this._toggle.focus();if("Tab"===t)return void this.hide();const s=n.matches("input");if("ArrowDown"===t||"ArrowUp"===t){e.preventDefault();const s=this._getVisibleItems();return void(s.length>0&&getNextActiveElement(s,n,"ArrowDown"===t,!s.includes(n)).focus())}if("Home"===t||"End"===t){e.preventDefault();const n=this._getVisibleItems();return void(n.length>0&&("Home"===t?n[0]:n[n.length-1]).focus())}if(("Enter"===t||" "===t)&&!s){e.preventDefault();const t=n.closest(SELECTOR_MENU_ITEM);t&&!isDisabled(t)&&this._selectItem(t)}}static jQueryInterface(e){return this.each(function(){const t=Combobox.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$7,function(e){e.preventDefault(),Combobox.getOrCreateInstance(this).toggle()}),EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE$7))Combobox.getOrCreateInstance(e)});const NAME$d="datepicker",DATA_KEY$a="bs.datepicker",EVENT_KEY$a=`.${DATA_KEY$a}`,DATA_API_KEY$6=".data-api",EVENT_CHANGE$1=`change${EVENT_KEY$a}`,EVENT_SHOW$4=`show${EVENT_KEY$a}`,EVENT_SHOWN$3=`shown${EVENT_KEY$a}`,EVENT_HIDE$3=`hide${EVENT_KEY$a}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$a}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$a}.data-api`,EVENT_FOCUSIN_DATA_API=`focusin${EVENT_KEY$a}.data-api`,SELECTOR_DATA_TOGGLE$6='[data-bs-toggle="datepicker"]',HIDE_DELAY=100,Default$c={datepickerTheme:null,dateMin:null,dateMax:null,dateFormat:null,displayElement:null,displayMonthsCount:1,firstWeekday:1,inline:!1,locale:"default",positionElement:null,selectedDates:[],selectionMode:"single",placement:"left",vcpOptions:{}},DefaultType$c={datepickerTheme:"(null|string)",dateMin:"(null|string|number|object)",dateMax:"(null|string|number|object)",dateFormat:"(null|object|function)",displayElement:"(null|string|element|boolean)",displayMonthsCount:"number",firstWeekday:"number",inline:"boolean",locale:"string",positionElement:"(null|string|element)",selectedDates:"array",selectionMode:"string",placement:"string",vcpOptions:"object"};class Datepicker extends BaseComponent{constructor(e,t){super(e,t),this._calendar=null,this._isShown=!1,this._initCalendar()}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}toggle(){if(!this._config.inline)return this._isShown?this.hide():this.show()}show(){this._config.inline||!this._calendar||isDisabled(this._element)||this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$4).defaultPrevented||(this._calendar.show(),this._isShown=!0,EventHandler.trigger(this._element,EVENT_SHOWN$3))}hide(){this._config.inline||this._calendar&&this._isShown&&(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented||(this._calendar.hide(),this._isShown=!1,EventHandler.trigger(this._element,EVENT_HIDDEN$5)))}dispose(){this._themeObserver&&(this._themeObserver.disconnect(),this._themeObserver=null),this._calendar&&this._calendar.destroy(),this._calendar=null,super.dispose()}getSelectedDates(){const e=this._calendar?.context?.selectedDates;return e?[...e]:[]}setSelectedDates(e){this._calendar&&this._calendar.set({selectedDates:e})}_initCalendar(){this._isInput="INPUT"===this._element.tagName,this._isInline=this._config.inline,this._isInline&&!this._isInput&&(this._boundInput=this._element.querySelector('input[type="hidden"], input[name]')),this._positionElement=this._resolvePositionElement(),this._displayElement=this._resolveDisplayElement();const e=this._buildCalendarOptions();this._calendar=new Calendar(this._positionElement,e),this._calendar.init(),this._setupThemeObserver(),this._isInput&&this._element.value&&this._parseInputValue(),this._updateDisplayWithSelectedDates()}_updateDisplayWithSelectedDates(){const{selectedDates:e}=this._config;if(!e||0===e.length)return;const t=this._formatDateForInput(e);this._isInput&&(this._element.value=t),this._boundInput&&(this._boundInput.value=e.join(",")),this._displayElement&&(this._displayElement.textContent=t)}_resolvePositionElement(){let{positionElement:e}=this._config;if("string"==typeof e&&(e=document.querySelector(e)),!e&&this._isInput&&!this._isInline){const t=this._element.closest(".form-adorn");t&&(e=t)}return e||this._element}_resolveDisplayElement(){const{displayElement:e}=this._config;return"string"==typeof e?document.querySelector(e):!0===e||null===e&&!this._isInput&&!this._isInline?this._element.querySelector("[data-bs-datepicker-display]")||this._element:e}_getThemeAncestor(){return this._element.closest("[data-bs-theme]")}_getEffectiveTheme(){const{datepickerTheme:e}=this._config;if(e)return e;const t=this._getThemeAncestor();return t?.getAttribute("data-bs-theme")||null}_syncThemeAttribute(e){if(!e)return;const t=this._getEffectiveTheme();t?e.setAttribute("data-bs-theme",t):e.removeAttribute("data-bs-theme")}_setupThemeObserver(){const e=this._getThemeAncestor();e&&!this._config.datepickerTheme&&(this._themeObserver=new MutationObserver(()=>{this._syncThemeAttribute(this._calendar?.context?.mainElement)}),this._themeObserver.observe(e,{attributes:!0,attributeFilter:["data-bs-theme"]}))}_buildCalendarOptions(){const e=this._getEffectiveTheme(),t=e&&"auto"!==e?e:"system",n={...this._config.vcpOptions,inputMode:!this._isInline,positionToInput:this._config.placement,firstWeekday:this._config.firstWeekday,locale:this._config.locale,selectionDatesMode:this._config.selectionMode,selectedDates:this._config.selectedDates,displayMonthsCount:this._config.displayMonthsCount,type:this._config.displayMonthsCount>1?"multiple":"default",selectedTheme:t,themeAttrDetect:"[data-bs-theme]",onClickDate:(e,t)=>this._handleDateClick(e,t),onInit:e=>{this._syncThemeAttribute(e.context.mainElement)},onShow:()=>{this._isShown=!0,this._syncThemeAttribute(this._calendar.context.mainElement)},onHide:()=>{this._isShown=!1}};if(this._config.selectedDates.length>0){const e=this._parseDate(this._config.selectedDates[0]);n.selectedMonth=e.getMonth(),n.selectedYear=e.getFullYear()}return this._config.dateMin&&(n.dateMin=this._config.dateMin),this._config.dateMax&&(n.dateMax=this._config.dateMax),n}_handleDateClick(e,t){const n=[...e.context.selectedDates];if(n.length>0){const e=this._formatDateForInput(n);this._isInput&&(this._element.value=e),this._boundInput&&(this._boundInput.value=n.join(",")),this._displayElement&&(this._displayElement.textContent=e)}EventHandler.trigger(this._element,EVENT_CHANGE$1,{dates:n,event:t}),this._maybeHideAfterSelection(n)}_maybeHideAfterSelection(e){this._isInline||("single"===this._config.selectionMode&&e.length>0||"multiple-ranged"===this._config.selectionMode&&e.length>=2)&&setTimeout(()=>this.hide(),100)}_parseDate(e){const[t,n,s]=e.split("-");return new Date(t,n-1,s)}_formatDate(e){const t=this._parseDate(e),n="default"===this._config.locale?void 0:this._config.locale,{dateFormat:s}=this._config;return"function"==typeof s?s(t,n):s&&"object"==typeof s?new Intl.DateTimeFormat(n,s).format(t):t.toLocaleDateString(n)}_formatDateForInput(e){if(0===e.length)return"";if(1===e.length)return this._formatDate(e[0]);const t="multiple-ranged"===this._config.selectionMode?" – ":", ";return e.map(e=>this._formatDate(e)).join(t)}_parseInputValue(){const e=this._element.value.trim();if(!e)return;const t=new Date(e);if(!Number.isNaN(t.getTime())){const e=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`;this._calendar.set({selectedDates:[e]})}}}EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$6,function(e){"INPUT"!==this.tagName&&"true"!==this.dataset.bsInline&&(e.preventDefault(),Datepicker.getOrCreateInstance(this).toggle())}),EventHandler.on(document,EVENT_FOCUSIN_DATA_API,SELECTOR_DATA_TOGGLE$6,function(){"INPUT"===this.tagName&&Datepicker.getOrCreateInstance(this).show()}),EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$a}.data-api`,()=>{for(const e of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE$6}[data-bs-inline="true"]`))Datepicker.getOrCreateInstance(e)});const CLASS_NAME_OPEN="dialog-open";class DialogBase extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._openedAsModal=!1,this._addDialogListeners()}static get NAME(){return"dialogbase"}toggle(e){return this._element.open?this.hide():this.show(e)}show(e){if(this._element.open||this._isTransitioning)return;if(EventHandler.trigger(this._element,this.constructor.eventName("show"),{relatedTarget:e}).defaultPrevented)return;this._isTransitioning=!0,this._onBeforeShow();const{modal:t,preventBodyScroll:n}=this._getShowOptions();this._showElement({modal:t,preventBodyScroll:n}),this._queueCallback(()=>{this._isTransitioning=!1,EventHandler.trigger(this._element,this.constructor.eventName("shown"),{relatedTarget:e})},this._element,this._isAnimated())}hide(){this._element.open&&!this._isTransitioning&&(EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented||(this._isTransitioning=!0,this._hideElement(),this._onAfterHide(),this._queueCallback(()=>{this._element.classList.remove("hiding"),this._isTransitioning=!1,EventHandler.trigger(this._element,this.constructor.eventName("hidden"))},this._element,this._isAnimated())))}_getShowOptions(){return{modal:!0,preventBodyScroll:!0}}_onBeforeShow(){}_onAfterHide(){}_isAnimated(){return!this._element.classList.contains(this._getInstantClassName())}_getInstantClassName(){return"dialog-instant"}_getStaticClassName(){return"dialog-static"}_onCancel(){}_showElement({modal:e=!0,preventBodyScroll:t=!0}={}){this._openedAsModal=e,e?this._element.showModal():this._element.show(),t&&document.body.classList.add("dialog-open")}_hideElement(){this._hideChildComponents(),this._element.classList.add("hiding"),this._element.close(),this._openedAsModal=!1,document.querySelector("dialog[open]:modal")||document.body.classList.remove("dialog-open")}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,this.constructor.eventName("hidePrevented")).defaultPrevented)return;const e=this._getStaticClassName();this._element.classList.add(e),this._queueCallback(()=>{this._element.classList.remove(e)},this._element)}_hideChildComponents(){for(const e of SelectorEngine.find('[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]',this._element)){const t=Data.getAny(e);t&&"function"==typeof t.hide&&t.hide()}for(const e of SelectorEngine.find(".toast.show",this._element)){const t=Data.getAny(e);t&&"function"==typeof t.hide&&t.hide()}}_addDialogListeners(){const e=this.constructor.EVENT_KEY;EventHandler.on(this._element,"cancel",e=>{e.preventDefault(),this._config.keyboard?(this._onCancel(),this.hide()):this._triggerBackdropTransition()}),EventHandler.on(this._element,`keydown${e}`,e=>{"Escape"!==e.key||this._openedAsModal||(e.preventDefault(),this._config.keyboard&&(this._onCancel(),this.hide()))}),EventHandler.on(this._element,`click${e}`,e=>{e.target===this._element&&this._openedAsModal&&("static"!==this._config.backdrop?this.hide():this._triggerBackdropTransition())})}}const NAME$c="dialog",DATA_KEY$9="bs.dialog",EVENT_KEY$9=`.${DATA_KEY$9}`,DATA_API_KEY$5=".data-api",EVENT_SHOW$3=`show${EVENT_KEY$9}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$9}`,EVENT_CANCEL=`cancel${EVENT_KEY$9}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$9}.data-api`,CLASS_NAME_NONMODAL="dialog-nonmodal",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="dialog"]',Default$b={backdrop:!0,keyboard:!0,modal:!0},DefaultType$b={backdrop:"(boolean|string)",keyboard:"boolean",modal:"boolean"};class Dialog extends DialogBase{static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}handleUpdate(){}_getShowOptions(){return{modal:this._config.modal,preventBodyScroll:this._config.modal}}_onBeforeShow(){this._config.modal||this._element.classList.add("dialog-nonmodal")}_onAfterHide(){this._element.classList.remove("dialog-nonmodal")}_onCancel(){EventHandler.trigger(this._element,EVENT_CANCEL)}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$5,function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$3,e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const n=Manipulator.getDataAttributes(this),s=this.closest("dialog[open]");if(s&&s!==t){Dialog.getOrCreateInstance(t,n).show(this);const e=Dialog.getInstance(s);return void(e&&e.hide())}Dialog.getOrCreateInstance(t,n).toggle(this)}),enableDismissTrigger(Dialog);const NAME$b="navoverflow",DATA_KEY$8="bs.navoverflow",EVENT_KEY$8=`.${DATA_KEY$8}`,EVENT_UPDATE=`update${EVENT_KEY$8}`,EVENT_OVERFLOW=`overflow${EVENT_KEY$8}`,CLASS_NAME_OVERFLOW="nav-overflow",CLASS_NAME_OVERFLOW_MENU="nav-overflow-menu",CLASS_NAME_HIDDEN="d-none",SELECTOR_NAV_ITEM=".nav-item",SELECTOR_NAV_LINK=".nav-link",SELECTOR_OVERFLOW_TOGGLE=".nav-overflow-toggle",SELECTOR_OVERFLOW_MENU=".nav-overflow-menu",SELECTOR_CUSTOM_ICON="[data-bs-overflow-icon]",CLASS_NAME_KEEP="nav-overflow-keep",Default$a={collapseBelow:0,iconPlacement:"start",menuPlacement:"bottom-end",moreText:"More",moreIcon:'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',threshold:0},DefaultType$a={collapseBelow:"(number|string)",iconPlacement:"string",menuPlacement:"string",moreText:"string",moreIcon:"string",threshold:"number"};class NavOverflow extends BaseComponent{constructor(e,t){super(e,t),this._items=[],this._overflowItems=[],this._overflowMenu=null,this._overflowToggle=null,this._resizeObserver=null,this._collapseBelow=0,this._isInitialized=!1,this._init()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}update(){this._calculateOverflow(),EventHandler.trigger(this._element,EVENT_UPDATE)}dispose(){this._resizeObserver&&this._resizeObserver.disconnect(),this._restoreItems(),this._overflowToggle&&this._overflowToggle.parentElement&&this._overflowToggle.parentElement.remove(),super.dispose()}_init(){this._element.classList.add("nav-overflow"),this._items=[...SelectorEngine.find(".nav-item",this._element)];for(const[e,t]of this._items.entries())t.dataset.bsNavOrder=e;this._collapseBelow=this._resolveCollapseBelow(),this._createOverflowMenu(),this._setupResizeObserver(),this._calculateOverflow(),this._isInitialized=!0}_createOverflowMenu(){if(this._overflowToggle=SelectorEngine.findOne(".nav-overflow-toggle",this._element),this._overflowToggle)return void(this._overflowMenu=SelectorEngine.findOne(".nav-overflow-menu",this._element));const e=`<span class="nav-overflow-icon">${this._resolveIcon()}</span>`,t=`<span class="nav-overflow-text">${this._config.moreText}</span>`,n="end"===this._config.iconPlacement?`${t}${e}`:`${e}${t}`,s=document.createElement("li");s.className="nav-item nav-overflow-item",s.innerHTML=`\n      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="${this._config.menuPlacement}" aria-expanded="false">\n        ${n}\n      </button>\n      <div class="nav-overflow-menu menu"></div>\n    `,this._element.append(s),this._overflowToggle=s.querySelector(".nav-overflow-toggle"),this._overflowMenu=s.querySelector(".nav-overflow-menu")}_resolveIcon(){const e=SelectorEngine.findOne(SELECTOR_CUSTOM_ICON,this._element);if(!e)return this._config.moreIcon;const t=e.cloneNode(!0);t.removeAttribute("data-bs-overflow-icon");const n=t.outerHTML;return e.remove(),n}_resolveCollapseBelow(){const e=this._config.collapseBelow;if("number"==typeof e)return e;if("string"==typeof e&&""!==e){const t=getComputedStyle(document.documentElement).getPropertyValue(`--bs-breakpoint-${e}`);return Number.parseFloat(t)||0}return 0}_setupResizeObserver(){"undefined"!=typeof ResizeObserver?(this._resizeObserver=new ResizeObserver(()=>{this._calculateOverflow()}),this._resizeObserver.observe(this._element)):EventHandler.on(window,"resize",()=>this._calculateOverflow())}_calculateOverflow(){this._restoreItems();const e=this._element.offsetWidth,t=this._overflowToggle?.closest(".nav-item");if(this._collapseBelow>0&&e<this._collapseBelow){const e=this._items.filter(e=>!e.classList.contains(CLASS_NAME_KEEP));return this._moveToOverflow(e),t&&(e.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),void(e.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:e.length,visibleCount:this._items.length-e.length}))}let n=0;const s=[],i=e-(t?.offsetWidth||0)-10;for(const e of this._items)n+=e.offsetWidth,e.classList.contains(CLASS_NAME_KEEP)||n>i&&s.push(e);if(this._items.length-s.length<this._config.threshold&&this._items.length>this._config.threshold){const e=this._items.slice(this._config.threshold).filter(e=>!e.classList.contains(CLASS_NAME_KEEP));s.length=0,s.push(...e)}this._moveToOverflow(s),t&&(s.length>0?t.classList.remove("d-none"):t.classList.add("d-none")),s.length>0&&EventHandler.trigger(this._element,EVENT_OVERFLOW,{overflowCount:s.length,visibleCount:this._items.length-s.length})}_moveToOverflow(e){if(this._overflowMenu){this._overflowMenu.innerHTML="",this._overflowItems=[];for(const t of e){const e=SelectorEngine.findOne(".nav-link",t);if(!e)continue;const n=e.cloneNode(!0);n.className="menu-item",e.classList.contains("active")&&n.classList.add("active"),(e.classList.contains("disabled")||e.hasAttribute("disabled"))&&n.classList.add("disabled"),this._overflowMenu.append(n),t.classList.add("d-none"),t.dataset.bsNavOverflow="true",this._overflowItems.push(t)}}}_restoreItems(){for(const e of this._items)e.classList.remove("d-none"),delete e.dataset.bsNavOverflow;this._overflowMenu&&(this._overflowMenu.innerHTML=""),this._overflowItems=[]}}EventHandler.on(document,"DOMContentLoaded",()=>{for(const e of SelectorEngine.find('[data-bs-toggle="nav-overflow"]'))NavOverflow.getOrCreateInstance(e)});const NAME$a="drawer",DATA_KEY$7="bs.drawer",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$7}.data-api`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$7}`,EVENT_RESIZE=`resize${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$7}.data-api`,SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="drawer"]',Default$9={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$9={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Drawer extends DialogBase{constructor(e,t){super(e,t),this._swipeHelper=null}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_getShowOptions(){return{modal:Boolean(this._config.backdrop)||!this._config.scroll,preventBodyScroll:!this._config.scroll}}_onBeforeShow(){this._initSwipe()}_getInstantClassName(){return"drawer-instant"}_getStaticClassName(){return"drawer-static"}_initSwipe(){if(this._swipeHelper||!Swipe.isSupported())return;const e={},t=this._element;t.classList.contains("drawer-bottom")?e.downCallback=()=>this.hide():t.classList.contains("drawer-top")?e.upCallback=()=>this.hide():t.classList.contains("drawer-end")?isRTL()?e.leftCallback=()=>this.hide():e.rightCallback=()=>this.hide():isRTL()?e.rightCallback=()=>this.hide():e.leftCallback=()=>this.hide(),this._swipeHelper=new Swipe(t,e)}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$4,function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const n=SelectorEngine.findOne("dialog.drawer[open]");n&&n!==t&&Drawer.getInstance(n).hide(),Drawer.getOrCreateInstance(t).toggle(this)}),EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const e of SelectorEngine.find("dialog.drawer[open]"))Drawer.getOrCreateInstance(e).show()}),EventHandler.on(window,EVENT_RESIZE,()=>{for(const e of SelectorEngine.find('dialog[open][class*="\\:drawer"]'))"fixed"!==getComputedStyle(e).position&&Drawer.getOrCreateInstance(e).hide()}),enableDismissTrigger(Drawer);const NAME$9="strength",DATA_KEY$6="bs.strength",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",EVENT_STRENGTH_CHANGE=`strengthChange${EVENT_KEY$6}`,SELECTOR_DATA_STRENGTH="[data-bs-strength]",STRENGTH_LEVELS=["weak","fair","good","strong"],Default$8={input:null,minLength:8,messages:{weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"},weights:{minLength:1,extraLength:1,lowercase:1,uppercase:1,numbers:1,special:1,multipleSpecial:1,longPassword:1},thresholds:[2,4,6],scorer:null},DefaultType$8={input:"(string|element|null)",minLength:"number",messages:"object",weights:"object",thresholds:"array",scorer:"(function|null)"};class Strength extends BaseComponent{constructor(e,t){super(e,t),this._input=this._getInput(),this._segments=SelectorEngine.find(".strength-segment",this._element),this._textElement=SelectorEngine.findOne(".strength-text",this._element.parentElement),this._currentStrength=null,this._input&&(this._addEventListeners(),this._evaluate())}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}getStrength(){return this._currentStrength}evaluate(){this._evaluate()}_getInput(){if(this._config.input)return"string"==typeof this._config.input?SelectorEngine.findOne(this._config.input):this._config.input;const e=this._element.parentElement;return SelectorEngine.findOne('input[type="password"]',e)}_addEventListeners(){EventHandler.on(this._input,"input",()=>this._evaluate()),EventHandler.on(this._input,"change",()=>this._evaluate())}_evaluate(){const e=this._input.value,t=this._calculateScore(e),n=this._scoreToStrength(t);n!==this._currentStrength&&(this._currentStrength=n,this._updateUI(n,t),EventHandler.trigger(this._element,EVENT_STRENGTH_CHANGE,{strength:n,score:t,password:e.length>0?"***":""}))}_calculateScore(e){if(!e)return 0;if("function"==typeof this._config.scorer)return this._config.scorer(e);const{weights:t}=this._config;let n=0;return e.length>=this._config.minLength&&(n+=t.minLength),e.length>=this._config.minLength+4&&(n+=t.extraLength),/[a-z]/.test(e)&&(n+=t.lowercase),/[A-Z]/.test(e)&&(n+=t.uppercase),/\d/.test(e)&&(n+=t.numbers),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.special),/[!@#$%^&*(),.?":{}|<>].*[!@#$%^&*(),.?":{}|<>]/.test(e)&&(n+=t.multipleSpecial),e.length>=16&&(n+=t.longPassword),n}_scoreToStrength(e){if(0===e)return null;const[t,n,s]=this._config.thresholds;return e<=t?"weak":e<=n?"fair":e<=s?"good":"strong"}_updateUI(e){e?this._element.dataset.bsStrength=e:delete this._element.dataset.bsStrength;const t=e?STRENGTH_LEVELS.indexOf(e):-1;for(const[e,n]of this._segments.entries())e<=t?n.classList.add("active"):n.classList.remove("active");if(this._textElement)if(e&&this._config.messages[e]){this._textElement.textContent=this._config.messages[e],this._textElement.dataset.bsStrength=e;const t={weak:"danger",fair:"warning",good:"info",strong:"success"};this._textElement.style.setProperty("--strength-color",`var(--${t[e]}-text)`)}else this._textElement.textContent="",delete this._textElement.dataset.bsStrength}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$6}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-strength]"))Strength.getOrCreateInstance(e)});const NAME$8="otpInput",DATA_KEY$5="bs.otp-input",EVENT_KEY$5=`.${DATA_KEY$5}`,DATA_API_KEY$2=".data-api",EVENT_COMPLETE=`complete${EVENT_KEY$5}`,EVENT_INPUT=`input${EVENT_KEY$5}`,SELECTOR_DATA_OTP="[data-bs-otp]",SELECTOR_INPUT="input",Default$7={length:6,mask:!1},DefaultType$7={length:"number",mask:"boolean"};class OtpInput extends BaseComponent{constructor(e,t){super(e,t),this._inputs=SelectorEngine.find("input",this._element),this._setupInputs(),this._addEventListeners()}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}getValue(){return this._inputs.map(e=>e.value).join("")}setValue(e){const t=String(e).split("");for(const[e,n]of this._inputs.entries())n.value=t[e]||"";this._checkComplete()}clear(){for(const e of this._inputs)e.value="";this._inputs[0]?.focus()}focus(){const e=this._inputs.find(e=>!e.value);e?e.focus():this._inputs.at(-1)?.focus()}_setupInputs(){for(const e of this._inputs)e.setAttribute("maxlength","1"),e.setAttribute("inputmode","numeric"),e.setAttribute("pattern","\\d*"),e===this._inputs[0]?e.setAttribute("autocomplete","one-time-code"):e.setAttribute("autocomplete","off"),this._config.mask&&e.setAttribute("type","password")}_addEventListeners(){for(const[e,t]of this._inputs.entries())EventHandler.on(t,"input",t=>this._handleInput(t,e)),EventHandler.on(t,"keydown",t=>this._handleKeydown(t,e)),EventHandler.on(t,"paste",e=>this._handlePaste(e)),EventHandler.on(t,"focus",e=>this._handleFocus(e))}_handleInput(e,t){const n=e.target;/^\d*$/.test(n.value)||(n.value=n.value.replace(/\D/g,""));const{value:s}=n;if(s.length>1){const e=s.split("");n.value=e[0]||"";for(let n=1;n<e.length&&t+n<this._inputs.length;n++)this._inputs[t+n].value=e[n];const i=Math.min(t+e.length,this._inputs.length-1);this._inputs[i].focus()}else s&&t<this._inputs.length-1&&this._inputs[t+1].focus();EventHandler.trigger(this._element,EVENT_INPUT,{value:this.getValue(),index:t}),this._checkComplete()}_handleKeydown(e,t){const{key:n}=e;switch(n){case"Backspace":!this._inputs[t].value&&t>0&&(e.preventDefault(),this._inputs[t-1].value="",this._inputs[t-1].focus());break;case"Delete":e.preventDefault();for(let e=t;e<this._inputs.length-1;e++)this._inputs[e].value=this._inputs[e+1].value;this._inputs.at(-1).value="";break;case"ArrowLeft":t>0&&(e.preventDefault(),this._inputs[t-1].focus());break;case"ArrowRight":t<this._inputs.length-1&&(e.preventDefault(),this._inputs[t+1].focus())}}_handlePaste(e){e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text").replace(/\D/g,"").slice(0,this._inputs.length);if(t){this.setValue(t);const e=Math.min(t.length,this._inputs.length)-1;this._inputs[e].focus()}}_handleFocus(e){e.target.select()}_checkComplete(){const e=this.getValue();e.length===this._inputs.length&&this._inputs.every(e=>""!==e.value)&&EventHandler.trigger(this._element,EVENT_COMPLETE,{value:e})}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$5}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-otp]"))OtpInput.getOrCreateInstance(e)});const NAME$7="chipInput",DATA_KEY$4="bs.chip-input",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$1=".data-api",EVENT_ADD=`add${EVENT_KEY$4}`,EVENT_REMOVE=`remove${EVENT_KEY$4}`,EVENT_CHANGE=`change${EVENT_KEY$4}`,EVENT_SELECT=`select${EVENT_KEY$4}`,SELECTOR_DATA_CHIP_INPUT="[data-bs-chip-input]",SELECTOR_GHOST_INPUT=".form-ghost",SELECTOR_CHIP=".chip",SELECTOR_CHIP_DISMISS=".chip-dismiss",CLASS_NAME_CHIP="chip",CLASS_NAME_CHIP_DISMISS="chip-dismiss",CLASS_NAME_ACTIVE$2="active",DEFAULT_DISMISS_ICON='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>',Default$6={separator:",",allowDuplicates:!1,maxChips:null,placeholder:"",dismissible:!0,dismissIcon:DEFAULT_DISMISS_ICON,createOnBlur:!0},DefaultType$6={separator:"(string|null)",allowDuplicates:"boolean",maxChips:"(number|null)",placeholder:"string",dismissible:"boolean",dismissIcon:"string",createOnBlur:"boolean"};class ChipInput extends BaseComponent{constructor(e,t){super(e,t),this._input=SelectorEngine.findOne(".form-ghost",this._element),this._chips=[],this._selectedChips=new Set,this._anchorChip=null,this._input||this._createInput(),this._initializeExistingChips(),this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}add(e){const t=String(e).trim();if(!t)return null;if(!this._config.allowDuplicates&&this._chips.includes(t))return null;if(null!==this._config.maxChips&&this._chips.length>=this._config.maxChips)return null;if(EventHandler.trigger(this._element,EVENT_ADD,{value:t,relatedTarget:this._input}).defaultPrevented)return null;const n=this._createChip(t);return this._element.insertBefore(n,this._input),this._chips.push(t),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),n}remove(e){let t,n;return"string"==typeof e?(n=e,t=this._findChipByValue(n)):(t=e,n=this._getChipValue(t)),!(!t||!n)&&(!EventHandler.trigger(this._element,EVENT_REMOVE,{value:n,chip:t,relatedTarget:this._input}).defaultPrevented&&(this._selectedChips.delete(t),this._anchorChip===t&&(this._anchorChip=null),t.remove(),this._chips=this._chips.filter(e=>e!==n),EventHandler.trigger(this._element,EVENT_CHANGE,{values:this.getValues()}),!0))}removeSelected(){const e=[...this._selectedChips];for(const t of e)this.remove(t);this._input?.focus()}getValues(){return[...this._chips]}getSelectedValues(){return[...this._selectedChips].map(e=>this._getChipValue(e))}clear(){const e=SelectorEngine.find(".chip",this._element);for(const t of e)t.remove();this._chips=[],this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_CHANGE,{values:[]})}clearSelection(){for(const e of this._selectedChips)e.classList.remove("active");this._selectedChips.clear(),this._anchorChip=null,EventHandler.trigger(this._element,EVENT_SELECT,{selected:[]})}selectChip(e,t={}){const{addToSelection:n=!1,rangeSelect:s=!1}=t,i=this._getChipElements();if(i.includes(e)){if(s&&this._anchorChip){const t=i.indexOf(this._anchorChip),s=i.indexOf(e),o=Math.min(t,s),a=Math.max(t,s);n||this.clearSelection();for(let e=o;e<=a;e++)this._selectedChips.add(i[e]),i[e].classList.add("active")}else n?this._selectedChips.has(e)?(this._selectedChips.delete(e),e.classList.remove("active")):(this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e):(this.clearSelection(),this._selectedChips.add(e),e.classList.add("active"),this._anchorChip=e);EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}focus(){this._input?.focus()}_getChipElements(){return SelectorEngine.find(".chip",this._element)}_createInput(){const e=document.createElement("input");e.type="text",e.className="form-ghost",this._config.placeholder&&(e.placeholder=this._config.placeholder),this._element.append(e),this._input=e}_initializeExistingChips(){const e=SelectorEngine.find(".chip",this._element);for(const t of e){const e=this._getChipValue(t);e&&(this._chips.push(e),this._setupChip(t))}}_setupChip(e){e.setAttribute("tabindex","0"),this._config.dismissible&&!SelectorEngine.findOne(".chip-dismiss",e)&&e.append(this._createDismissButton())}_createChip(e){const t=document.createElement("span");return t.className="chip",t.dataset.bsChipValue=e,t.append(document.createTextNode(e)),this._setupChip(t),t}_createDismissButton(){const e=document.createElement("button");return e.type="button",e.className="chip-dismiss",e.setAttribute("aria-label","Remove"),e.setAttribute("tabindex","-1"),e.innerHTML=this._config.dismissIcon,e}_findChipByValue(e){return this._getChipElements().find(t=>this._getChipValue(t)===e)}_getChipValue(e){if(e.dataset.bsChipValue)return e.dataset.bsChipValue;const t=e.cloneNode(!0),n=SelectorEngine.findOne(".chip-dismiss",t);return n&&n.remove(),t.textContent?.trim()||""}_addEventListeners(){EventHandler.on(this._input,"keydown",e=>this._handleInputKeydown(e)),EventHandler.on(this._input,"input",e=>this._handleInput(e)),EventHandler.on(this._input,"paste",e=>this._handlePaste(e)),EventHandler.on(this._input,"focus",()=>this.clearSelection()),this._config.createOnBlur&&EventHandler.on(this._input,"blur",e=>{e.relatedTarget?.closest(".chip")||this._createChipFromInput()}),EventHandler.on(this._element,"click",".chip",e=>{if(e.target.closest(".chip-dismiss"))return;const t=e.target.closest(".chip");t&&(e.preventDefault(),this.selectChip(t,{addToSelection:e.metaKey||e.ctrlKey,rangeSelect:e.shiftKey}),t.focus())}),EventHandler.on(this._element,"click",".chip-dismiss",e=>{e.stopPropagation();const t=e.target.closest(".chip");t&&(this.remove(t),this._input?.focus())}),EventHandler.on(this._element,"keydown",".chip",e=>{this._handleChipKeydown(e)}),EventHandler.on(this._element,"click",e=>{e.target===this._element&&(this.clearSelection(),this._input?.focus())})}_handleInputKeydown(e){const{key:t}=e;switch(t){case"Enter":e.preventDefault(),this._createChipFromInput();break;case"Backspace":case"Delete":if(""===this._input.value){e.preventDefault();const t=this._getChipElements();if(t.length>0){const e=t.at(-1);this.selectChip(e),e.focus()}}break;case"ArrowLeft":if(0===this._input.selectionStart&&0===this._input.selectionEnd){e.preventDefault();const t=this._getChipElements();if(t.length>0){const n=t.at(-1);e.shiftKey?this.selectChip(n,{addToSelection:!0}):this.selectChip(n),n.focus()}}break;case"Escape":this._input.value="",this.clearSelection(),this._input.blur()}}_handleChipKeydown(e){const{key:t}=e,n=e.target.closest(".chip");if(!n)return;const s=this._getChipElements(),i=s.indexOf(n);switch(t){case"Backspace":case"Delete":e.preventDefault(),this._handleChipDelete(i,s);break;case"ArrowLeft":e.preventDefault(),this._navigateChip(s,i,-1,e.shiftKey);break;case"ArrowRight":e.preventDefault(),this._navigateChip(s,i,1,e.shiftKey);break;case"Home":e.preventDefault(),this._navigateToEdge(s,0,e.shiftKey);break;case"End":case"Escape":e.preventDefault(),this.clearSelection(),this._input?.focus();break;case"a":this._handleSelectAll(e,s)}}_handleChipDelete(e,t){if(0===this._selectedChips.size)return;const n=Math.min(e,t.length-this._selectedChips.size-1);this.removeSelected();const s=this._getChipElements();if(s.length>0){const e=Math.max(0,Math.min(n,s.length-1));s[e].focus(),this.selectChip(s[e])}else this._input?.focus()}_navigateChip(e,t,n,s){const i=t+n;if(n<0&&i>=0){const t=e[i];this.selectChip(t,s?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else if(n>0&&i<e.length){const t=e[i];this.selectChip(t,s?{addToSelection:!0,rangeSelect:!0}:{}),t.focus()}else n>0&&(this.clearSelection(),this._input?.focus())}_navigateToEdge(e,t,n){if(0===e.length)return;const s=e[t];this.selectChip(s,n?{rangeSelect:!0}:{}),s.focus()}_handleSelectAll(e,t){if(e.metaKey||e.ctrlKey){e.preventDefault();for(const e of t)this._selectedChips.add(e),e.classList.add("active");EventHandler.trigger(this._element,EVENT_SELECT,{selected:this.getSelectedValues()})}}_handleInput(e){const{value:t}=e.target,{separator:n}=this._config;if(n&&t.includes(n)){const e=t.split(n);for(const t of e.slice(0,-1))this.add(t.trim());this._input.value=e.at(-1)}}_handlePaste(e){const{separator:t}=this._config;if(!t)return;const n=(e.clipboardData||window.clipboardData).getData("text");if(n.includes(t)){e.preventDefault();const s=n.split(t);for(const e of s)this.add(e.trim())}}_createChipFromInput(){const e=this._input.value.trim();e&&(this.add(e),this._input.value="")}}EventHandler.on(document,`DOMContentLoaded${EVENT_KEY$4}.data-api`,()=>{for(const e of SelectorEngine.find("[data-bs-chip-input]"))ChipInput.getOrCreateInstance(e)});const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter(e=>e instanceof RegExp).some(e=>e.test(n))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const s=(new window.DOMParser).parseFromString(e,"text/html"),i=[].concat(...s.body.querySelectorAll("*"));for(const e of i){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const s=[].concat(...e.attributes),i=[].concat(t["*"]||[],t[n]||[]);for(const t of s)allowedAttribute(t,i)||e.removeAttribute(t.nodeName)}return s.body.innerHTML}const NAME$6="TemplateFactory",Default$5={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$5={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const s=SelectorEngine.findOne(n,e);s&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),s):this._config.html?s.innerHTML=this._maybeSanitize(t):s.textContent=t:s.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$5="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="tooltip"]',EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$3="click",EVENT_FOCUSIN$2="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER$1="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$4={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",floatingConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$4={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",floatingConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===computePosition)throw new TypeError("Bootstrap's tooltips require Floating UI (https://floating-ui.com)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._floatingCleanup=null,this._templateFactory=null,this._newContent=null,this._mediaQueryListeners=[],this._responsivePlacements=null,this.tip=null,this._parseResponsivePlacements(),this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposeFloating(),this._disposeMediaQueryListeners(),super.dispose()}async show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposeFloating();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));let{container:s}=this._config;const i=this._element.closest("dialog[open]");if(i&&s===document.body&&(s=i),this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),await this._createFloating(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback(()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposeFloating(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._floatingCleanup&&this.tip&&this._updateFloatingPosition()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposeFloating(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_getPlacement(e){if(this._responsivePlacements){const e=getResponsivePlacement(this._responsivePlacements,"top");return AttachmentMap[e.toUpperCase()]||e}const t=execute(this._config.placement,[this,e,this._element]);return AttachmentMap[t.toUpperCase()]||t}_parseResponsivePlacements(){"string"==typeof this._config.placement?(this._responsivePlacements=parseResponsivePlacement(this._config.placement,"top"),this._responsivePlacements&&this._setupMediaQueryListeners()):this._responsivePlacements=null}_setupMediaQueryListeners(){this._disposeMediaQueryListeners(),this._mediaQueryListeners=createBreakpointListeners(()=>{this._isShown()&&this._updateFloatingPosition()})}_disposeMediaQueryListeners(){disposeBreakpointListeners(this._mediaQueryListeners),this._mediaQueryListeners=[]}async _createFloating(e){const t=this._getPlacement(e),n=e.querySelector(`.${this.constructor.NAME}-arrow`);await this._updateFloatingPosition(e,t,n),this._floatingCleanup=autoUpdate(this._element,e,()=>this._updateFloatingPosition(e,null,n))}async _updateFloatingPosition(e=this.tip,t=null,n=null){if(!e)return;t||(t=this._getPlacement(e)),n||(n=e.querySelector(`.${this.constructor.NAME}-arrow`));const s=this._getFloatingMiddleware(n),i=this._getFloatingConfig(t,s),{x:o,y:a,placement:r,middlewareData:l}=await computePosition(this._element,e,i);if(Object.assign(e.style,{position:"absolute",left:`${o}px`,top:`${a}px`}),n&&(n.style.position="absolute"),Manipulator.setDataAttribute(e,"placement",r),n&&l.arrow){const{x:e,y:t}=l.arrow,s=r.startsWith("top")||r.startsWith("bottom");Object.assign(n.style,{left:s&&null!==e?`${e}px`:"",top:s||null===t?"":`${t}px`,right:"",bottom:""})}}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map(e=>Number.parseInt(e,10)):"function"==typeof e?({placement:t,rects:n})=>e({placement:t,reference:n.reference,floating:n.floating},this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element,this._element])}_getFloatingMiddleware(e){const t=this._getOffset(),n=[offset("function"==typeof t?t:{mainAxis:t[1]||0,crossAxis:t[0]||0}),flip({fallbackPlacements:this._config.fallbackPlacements}),shift({boundary:"clippingParents"===this._config.boundary?"clippingAncestors":this._config.boundary})];return e&&n.push(arrow({element:e})),n}_getFloatingConfig(e,t){const n={placement:e,middleware:t};return{...n,...execute(this._config.floatingConfig,[void 0,n])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!(t._isShown()&&t._activeTrigger.click),t.toggle()});else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()}),EventHandler.on(this._element,n,this._config.selector,e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposeFloating(){this._floatingCleanup&&(this._floatingCleanup(),this._floatingCleanup=null),this.tip&&(this.tip.remove(),this.tip=null)}}const initTooltip=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$3);if(!t)return;const n=Tooltip.getOrCreateInstance(t);"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$3,initTooltip),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$3,initTooltip);const NAME$4="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="popover"]',EVENT_CLICK$2="click",EVENT_FOCUSIN$1="focusin",EVENT_MOUSEENTER="mouseenter",Default$3={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$3={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}}const initPopover=e=>{const t=e.target.closest(SELECTOR_DATA_TOGGLE$2);if(!t)return;"click"===e.type&&e.preventDefault();const n=Popover.getOrCreateInstance(t);"click"===e.type?n.toggle():"focusin"===e.type&&(n._activeTrigger.focus=!0,n._enter())};EventHandler.on(document,"click",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"focusin",SELECTOR_DATA_TOGGLE$2,initPopover),EventHandler.on(document,"mouseenter",SELECTOR_DATA_TOGGLE$2,initPopover);const NAME$3="scrollspy",DATA_KEY$3="bs.scrollspy",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$3}`,EVENT_CLICK$1=`click${EVENT_KEY$3}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$3}.data-api`,CLASS_NAME_MENU_ITEM="menu-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_MENU_TOGGLE$1='[data-bs-toggle="menu"]',Default$2={rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$2={rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map(e=>Number.parseFloat(e))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK$1),EventHandler.on(this._config.target,EVENT_CLICK$1,"[href]",e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,s=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:s,behavior:"smooth"});n.scrollTop=s}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},s=(this._rootElement||document.documentElement).scrollTop,i=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(i&&e){if(n(o),!s)return}else i||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("menu-item")){const t=e.closest(".menu")?.previousElementSibling;return void(t?.matches(SELECTOR_MENU_TOGGLE$1)&&t.classList.add("active"))}for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)});const NAME$2="tab",DATA_KEY$2="bs.tab",EVENT_KEY$2=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",SELECTOR_MENU_TOGGLE='[data-bs-toggle="menu"]',SELECTOR_MENU=".menu",NOT_SELECTOR_MENU_TOGGLE=`:not(${SELECTOR_MENU_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role="tab"]${NOT_SELECTOR_MENU_TOGGLE}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="tab"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE$1}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleMenu(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")},e,e.classList.contains("fade")))}_deactivate(e,t){e&&(e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e)),this._queueCallback(()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleMenu(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")},e,e.classList.contains("fade")))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(e=>!isDisabled(e));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const s=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,s,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleMenu(e,t){const n=this._getOuterElement(e),s=SelectorEngine.findOne(SELECTOR_MENU_TOGGLE,n);if(!s)return;const i=SelectorEngine.findOne(".menu",n);s.classList.toggle("active",t),i&&i.classList.toggle("show",t),s.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE$1,function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()}),EventHandler.on(window,"load.bs.tab",()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)});const NAME$1="toast",DATA_KEY$1="bs.toast",EVENT_KEY$1=".bs.toast",EVENT_MOUSEOVER="mouseover.bs.toast",EVENT_MOUSEOUT="mouseout.bs.toast",EVENT_FOCUSIN="focusin.bs.toast",EVENT_FOCUSOUT="focusout.bs.toast",EVENT_HIDE="hide.bs.toast",EVENT_HIDDEN="hidden.bs.toast",EVENT_SHOW="show.bs.toast",EVENT_SHOWN="shown.bs.toast",CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType$1={animation:"boolean",autohide:"boolean",delay:"number"},Default$1={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$1}show(){EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented||(this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,e=>this._onInteraction(e,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,e=>this._onInteraction(e,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}}enableDismissTrigger(Toast);const NAME="toggler",DATA_KEY="bs.toggler",EVENT_KEY=`.${DATA_KEY}`,EVENT_TOGGLE=`toggle${EVENT_KEY}`,EVENT_TOGGLED=`toggled${EVENT_KEY}`,EVENT_CLICK="click",SELECTOR_DATA_TOGGLE='[data-bs-toggle="toggler"]',DefaultType={attribute:"string",value:"(string|number|boolean)"},Default={attribute:"class",value:null};class Toggler extends BaseComponent{static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}toggle(){EventHandler.trigger(this._element,EVENT_TOGGLE).defaultPrevented||(this._execute(),EventHandler.trigger(this._element,EVENT_TOGGLED))}_execute(){const{attribute:e,value:t}=this._config;"id"!==e&&("class"!==e?this._element.getAttribute(e)!==String(t)?this._element.setAttribute(e,t):this._element.removeAttribute(e):this._element.classList.toggle(t))}}eventActionOnPlugin(Toggler,"click",SELECTOR_DATA_TOGGLE,"toggle");export{Alert,Button,Carousel,ChipInput,Collapse,Combobox,Datepicker,Dialog,Drawer,Menu,NavOverflow,OtpInput,Popover,ScrollSpy,Strength,Tab,Toast,Toggler,Tooltip};
 //# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
index f268eba5d70e588ecdf19f9d153538c4ebddc850..d42f827e811edb0fc1774d22da6981f5cc1b7e4c 100644 (file)
@@ -1 +1 @@
-{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","this","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","offset","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","static","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_openInstances","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","Date","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","selectedItems","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","formatted","String","padStart","getDate","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","_showElement","modal","preventBodyScroll","showModal","_hideElement","_hideChildComponents","_triggerBackdropTransition","staticClass","_getStaticClassName","eventKey","_onCancel","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","open","handleUpdate","showEvent","currentDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_createOverflowMenu","_setupResizeObserver","overflowItem","className","innerHTML","ResizeObserver","navWidth","offsetWidth","usedWidth","itemsToOverflow","overflowThreshold","toMove","_moveToOverflow","overflowCount","link","clonedLink","cloneNode","bsNavOverflow","EVENT_RESIZE","scroll","Offcanvas","useModal","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","i","nextIndex","digits","clipboardData","getData","lastIndex","select","every","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","v","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","options","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","start","end","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","shiftKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","c","pastedData","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elements","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","ownerDocument","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","IntersectionObserver","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Offcanvas components that use\n * the native <dialog> element. Provides common behavior for:\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  // This base name is only used if DialogBase is instantiated directly.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Protected - subclasses use these to implement show()/hide()\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = BaseComponent.getInstance(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Overrideable by subclasses for component-specific class names\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    // Note: 'cancel' is not in EventHandler's nativeEvents set, so we must\n    // register it without namespace to properly bind to the native event.\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior — we handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    // Native <dialog> fires click on the dialog element itself when backdrop is clicked\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      // Only handle clicks directly on the dialog (backdrop area), not child content\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n\n  // Hook for subclasses to fire component-specific cancel events\n  _onCancel() {\n    // No-op by default — Dialog overrides this to fire its cancel event\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n\n    this._showElement({\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay.\n    this._hideElement()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n        <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n        <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Determine modal mode:\n    // - Use showModal() (modal) when backdrop is enabled or scroll is disabled\n    // - Use show() (non-modal) when backdrop is false AND scroll is true\n    //   (matches behavior where focus trap is skipped for this combo)\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n\n    this._showElement({\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    // Wait for the transform transition to complete, then fire shown.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay,\n    // keeping the element visible and in the top layer until complete.\n    this._hideElement()\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  // Private\n  _getStaticClassName() {\n    return 'offcanvas-static'\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // Focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.offcanvas[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.offcanvas[open]')) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:offcanvas\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":";;;;;4HAWA,MAAMA,WAAa,IAAIC,IAEvBC,KAAe,CACbC,IAAIC,EAASC,EAAKC,GACXN,WAAWO,IAAIH,IAClBJ,WAAWG,IAAIC,EAAS,IAAIH,KAG9B,MAAMO,EAAcR,WAAWS,IAAIL,GAI9BI,EAAYD,IAAIF,IAA6B,IAArBG,EAAYE,KAMzCF,EAAYL,IAAIE,EAAKC,GAJnBK,QAAQC,MAAM,+EAA+EC,MAAMC,KAAKN,EAAYO,QAAQ,MAKhI,EAEAN,IAAGA,CAACL,EAASC,IACPL,WAAWO,IAAIH,IACVJ,WAAWS,IAAIL,GAASK,IAAIJ,IAG9B,KAGTW,OAAOZ,EAASC,GACd,IAAKL,WAAWO,IAAIH,GAClB,OAGF,MAAMI,EAAcR,WAAWS,IAAIL,GAEnCI,EAAYS,OAAOZ,GAGM,IAArBG,EAAYE,MACdV,WAAWiB,OAAOb,EAEtB,GC1CIc,eAAiB,qBACjBC,eAAiB,OACjBC,cAAgB,SAChBC,cAAgB,GACtB,IAAIC,SAAW,EACf,MAAMC,aAAe,CACnBC,WAAY,YACZC,WAAY,YAGRC,aAAe,IAAIC,IAAI,CAC3B,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,WAOF,SAASC,aAAaxB,EAASyB,GAC7B,OAAQA,GAAO,GAAGA,MAAQP,cAAiBlB,EAAQkB,UAAYA,UACjE,CAEA,SAASQ,iBAAiB1B,GACxB,MAAMyB,EAAMD,aAAaxB,GAKzB,OAHAA,EAAQkB,SAAWO,EACnBR,cAAcQ,GAAOR,cAAcQ,IAAQ,GAEpCR,cAAcQ,EACvB,CAEA,SAASE,iBAAiB3B,EAAS4B,GACjC,OAAO,SAASC,EAAQC,GAOtB,OANAC,WAAWD,EAAO,CAAEE,eAAgBhC,IAEhC6B,EAAQI,QACVC,aAAaC,IAAInC,EAAS8B,EAAMM,KAAMR,GAGjCA,EAAGS,MAAMrC,EAAS,CAAC8B,GAC5B,CACF,CAEA,SAASQ,2BAA2BtC,EAASuC,EAAUX,GACrD,OAAO,SAASC,EAAQC,GACtB,MAAMU,EAAcxC,EAAQyC,iBAAiBF,GAE7C,IAAK,IAAIG,OAAEA,GAAWZ,EAAOY,GAAUA,IAAWC,KAAMD,EAASA,EAAOE,WACtE,IAAK,MAAMC,KAAcL,EACvB,GAAIK,IAAeH,EAUnB,OANAX,WAAWD,EAAO,CAAEE,eAAgBU,IAEhCb,EAAQI,QACVC,aAAaC,IAAInC,EAAS8B,EAAMM,KAAMG,EAAUX,GAG3CA,EAAGS,MAAMK,EAAQ,CAACZ,GAG/B,CACF,CAEA,SAASgB,YAAYC,EAAQC,EAAUC,EAAqB,MAC1D,OAAOC,OAAOC,OAAOJ,GAClBK,KAAKtB,GAASA,EAAMkB,WAAaA,GAAYlB,EAAMmB,qBAAuBA,EAC/E,CAEA,SAASI,oBAAoBC,EAAmBzB,EAAS0B,GACvD,MAAMC,EAAiC,iBAAZ3B,EACrBmB,EAAWQ,EAAcD,EAAsB1B,GAAW0B,EAChE,IAAIE,EAAYC,aAAaJ,GAM7B,OAJKhC,aAAanB,IAAIsD,KACpBA,EAAYH,GAGP,CAACE,EAAaR,EAAUS,EACjC,CAEA,SAASE,WAAW3D,EAASsD,EAAmBzB,EAAS0B,EAAoBtB,GAC3E,GAAiC,iBAAtBqB,IAAmCtD,EAC5C,OAGF,IAAKwD,EAAaR,EAAUS,GAAaJ,oBAAoBC,EAAmBzB,EAAS0B,GAIzF,GAAID,KAAqBnC,aAAc,CACrC,MAAMyC,EAAehC,GACZ,SAAUE,GACf,IAAKA,EAAM+B,eAAkB/B,EAAM+B,gBAAkB/B,EAAME,iBAAmBF,EAAME,eAAe8B,SAAShC,EAAM+B,eAChH,OAAOjC,EAAGmC,KAAKpB,KAAMb,EAEzB,EAGFkB,EAAWY,EAAaZ,EAC1B,CAEA,MAAMD,EAASrB,iBAAiB1B,GAC1BgE,EAAWjB,EAAOU,KAAeV,EAAOU,GAAa,IACrDQ,EAAmBnB,YAAYkB,EAAUhB,EAAUQ,EAAc3B,EAAU,MAEjF,GAAIoC,EAGF,YAFAA,EAAiBhC,OAASgC,EAAiBhC,QAAUA,GAKvD,MAAMR,EAAMD,aAAawB,EAAUM,EAAkBY,QAAQpD,eAAgB,KACvEc,EAAK4B,EACTlB,2BAA2BtC,EAAS6B,EAASmB,GAC7CrB,iBAAiB3B,EAASgD,GAE5BpB,EAAGqB,mBAAqBO,EAAc3B,EAAU,KAChDD,EAAGoB,SAAWA,EACdpB,EAAGK,OAASA,EACZL,EAAGV,SAAWO,EACduC,EAASvC,GAAOG,EAEhB5B,EAAQmE,iBAAiBV,EAAW7B,EAAI4B,EAC1C,CAEA,SAASY,cAAcpE,EAAS+C,EAAQU,EAAW5B,EAASoB,GAC1D,MAAMrB,EAAKkB,YAAYC,EAAOU,GAAY5B,EAASoB,GAE9CrB,IAIL5B,EAAQqE,oBAAoBZ,EAAW7B,EAAI0C,QAAQrB,WAC5CF,EAAOU,GAAW7B,EAAGV,UAC9B,CAEA,SAASqD,yBAAyBvE,EAAS+C,EAAQU,EAAWe,GAC5D,MAAMC,EAAoB1B,EAAOU,IAAc,GAE/C,IAAK,MAAOiB,EAAY5C,KAAUoB,OAAOyB,QAAQF,GAC3CC,EAAWE,SAASJ,IACtBJ,cAAcpE,EAAS+C,EAAQU,EAAW3B,EAAMkB,SAAUlB,EAAMmB,mBAGtE,CAEA,SAASS,aAAa5B,GAGpB,OADAA,EAAQA,EAAMoC,QAAQnD,eAAgB,IAC/BI,aAAaW,IAAUA,CAChC,CAEA,MAAMI,aAAe,CACnB2C,GAAG7E,EAAS8B,EAAOD,EAAS0B,GAC1BI,WAAW3D,EAAS8B,EAAOD,EAAS0B,GAAoB,EAC1D,EAEAuB,IAAI9E,EAAS8B,EAAOD,EAAS0B,GAC3BI,WAAW3D,EAAS8B,EAAOD,EAAS0B,GAAoB,EAC1D,EAEApB,IAAInC,EAASsD,EAAmBzB,EAAS0B,GACvC,GAAiC,iBAAtBD,IAAmCtD,EAC5C,OAGF,MAAOwD,EAAaR,EAAUS,GAAaJ,oBAAoBC,EAAmBzB,EAAS0B,GACrFwB,EAActB,IAAcH,EAC5BP,EAASrB,iBAAiB1B,GAC1ByE,EAAoB1B,EAAOU,IAAc,GACzCuB,EAAc1B,EAAkB2B,WAAW,KAEjD,QAAwB,IAAbjC,EAAX,CAUA,GAAIgC,EACF,IAAK,MAAME,KAAgBhC,OAAOvC,KAAKoC,GACrCwB,yBAAyBvE,EAAS+C,EAAQmC,EAAc5B,EAAkB6B,MAAM,IAIpF,IAAK,MAAOC,EAAatD,KAAUoB,OAAOyB,QAAQF,GAAoB,CACpE,MAAMC,EAAaU,EAAYlB,QAAQlD,cAAe,IAEjD+D,IAAezB,EAAkBsB,SAASF,IAC7CN,cAAcpE,EAAS+C,EAAQU,EAAW3B,EAAMkB,SAAUlB,EAAMmB,mBAEpE,CAdA,KARA,CAEE,IAAKC,OAAOvC,KAAK8D,GAAmBY,OAClC,OAGFjB,cAAcpE,EAAS+C,EAAQU,EAAWT,EAAUQ,EAAc3B,EAAU,KAE9E,CAeF,EAEAyD,QAAQtF,EAAS8B,EAAOyD,GACtB,GAAqB,iBAAVzD,IAAuB9B,EAChC,OAAO,KAGT,MAAMwF,EAAMzD,WAAW,IAAI0D,MAAM3D,EAAO,CAAE4D,SAAS,EAAMC,YAAY,IAASJ,GAE9E,OADAvF,EAAQ4F,cAAcJ,GACfA,CACT,GAGF,SAASzD,WAAW8D,EAAKC,EAAO,IAC9B,IAAK,MAAO7F,EAAK8F,KAAU7C,OAAOyB,QAAQmB,GACxC,IACED,EAAI5F,GAAO8F,CACb,CAAE,MACA7C,OAAO8C,eAAeH,EAAK5F,EAAK,CAC9BgG,cAAc,EACd5F,IAAGA,IACM0F,GAGb,CAGF,OAAOF,CACT,CClRA,SAASK,cAAcH,GACrB,GAAc,SAAVA,EACF,OAAO,EAGT,GAAc,UAAVA,EACF,OAAO,EAGT,GAAIA,IAAUI,OAAOJ,GAAOK,WAC1B,OAAOD,OAAOJ,GAGhB,GAAc,KAAVA,GAA0B,SAAVA,EAClB,OAAO,KAGT,GAAqB,iBAAVA,EACT,OAAOA,EAGT,IACE,OAAOM,KAAKC,MAAMC,mBAAmBR,GACvC,CAAE,MACA,OAAOA,CACT,CACF,CAEA,SAASS,iBAAiBvG,GACxB,OAAOA,EAAIiE,QAAQ,SAAUuC,GAAO,IAAIA,EAAIC,gBAC9C,CAEA,MAAMC,YAAc,CAClBC,iBAAiB5G,EAASC,EAAK8F,GAC7B/F,EAAQ6G,aAAa,WAAWL,iBAAiBvG,KAAQ8F,EAC3D,EAEAe,oBAAoB9G,EAASC,GAC3BD,EAAQ+G,gBAAgB,WAAWP,iBAAiBvG,KACtD,EAEA+G,kBAAkBhH,GAChB,IAAKA,EACH,MAAO,GAGT,MAAMiH,EAAa,GACbC,EAAShE,OAAOvC,KAAKX,EAAQmH,SAASC,OAAOnH,GAAOA,EAAIgF,WAAW,QAAUhF,EAAIgF,WAAW,aAElG,IAAK,MAAMhF,KAAOiH,EAAQ,CACxB,IAAIG,EAAUpH,EAAIiE,QAAQ,MAAO,IACjCmD,EAAUA,EAAQC,OAAO,GAAGZ,cAAgBW,EAAQlC,MAAM,GAC1D8B,EAAWI,GAAWnB,cAAclG,EAAQmH,QAAQlH,GACtD,CAEA,OAAOgH,CACT,EAEAM,iBAAgBA,CAACvH,EAASC,IACjBiG,cAAclG,EAAQwH,aAAa,WAAWhB,iBAAiBvG,QC3DpEwH,QAAU,IACVC,wBAA0B,IAC1BC,eAAiB,gBAOjBC,cAAgBrF,IAChBA,GAAYsF,OAAOC,KAAOD,OAAOC,IAAIC,SAEvCxF,EAAWA,EAAS2B,QAAQ,gBAAiB,CAAC8D,EAAOC,IAAO,IAAIH,IAAIC,OAAOE,OAGtE1F,GAIH2F,OAASC,GACTA,QACK,GAAGA,IAGLjF,OAAOkF,UAAUhC,SAASrC,KAAKoE,GAAQH,MAAM,eAAe,GAAGtB,cAOlE2B,OAASC,IACb,GACEA,GAAUC,KAAKC,MAjCH,IAiCSD,KAAKE,gBACnBC,SAASC,eAAeL,IAEjC,OAAOA,GAGHM,iCAAmC5I,IACvC,IAAKA,EACH,OAAO,EAIT,IAAI6I,mBAAEA,EAAkBC,gBAAEA,GAAoBjB,OAAOkB,iBAAiB/I,GAEtE,MAAMgJ,EAA0B7C,OAAO8C,WAAWJ,GAC5CK,EAAuB/C,OAAO8C,WAAWH,GAG/C,OAAKE,GAA4BE,GAKjCL,EAAqBA,EAAmBM,MAAM,KAAK,GACnDL,EAAkBA,EAAgBK,MAAM,KAAK,GAxDf,KA0DtBhD,OAAO8C,WAAWJ,GAAsB1C,OAAO8C,WAAWH,KAPzD,GAULM,qBAAuBpJ,IAC3BA,EAAQ4F,cAAc,IAAIH,MAAMkC,kBAG5B0B,UAAYlB,MACXA,GAA4B,iBAAXA,SAIY,IAApBA,EAAOmB,SAGjBC,WAAapB,GACbkB,UAAUlB,GACLA,EAGa,iBAAXA,GAAuBA,EAAO9C,OAAS,EACzCqD,SAASc,cAAc5B,cAAcO,IAGvC,KAGHsB,UAAYzJ,IAChB,IAAKqJ,UAAUrJ,IAAgD,IAApCA,EAAQ0J,iBAAiBrE,OAClD,OAAO,EAGT,MAAMsE,EAAgF,YAA7DZ,iBAAiB/I,GAAS4J,iBAAiB,cAE9DC,EAAgB7J,EAAQ8J,QAAQ,uBAEtC,IAAKD,EACH,OAAOF,EAGT,GAAIE,IAAkB7J,EAAS,CAC7B,MAAM+J,EAAU/J,EAAQ8J,QAAQ,WAChC,GAAIC,GAAWA,EAAQnH,aAAeiH,EACpC,OAAO,EAGT,GAAgB,OAAZE,EACF,OAAO,CAEX,CAEA,OAAOJ,GAGHK,WAAahK,IACZA,GAAWA,EAAQsJ,WAAaW,KAAKC,gBAItClK,EAAQmK,UAAUrG,SAAS,mBAIC,IAArB9D,EAAQoK,SACVpK,EAAQoK,SAGVpK,EAAQqK,aAAa,aAAoD,UAArCrK,EAAQwH,aAAa,aAG5D8C,eAAiBtK,IACrB,IAAK0I,SAAS6B,gBAAgBC,aAC5B,OAAO,KAIT,GAAmC,mBAAxBxK,EAAQyK,YAA4B,CAC7C,MAAMC,EAAO1K,EAAQyK,cACrB,OAAOC,aAAgBC,WAAaD,EAAO,IAC7C,CAEA,OAAI1K,aAAmB2K,WACd3K,EAIJA,EAAQ4C,WAIN0H,eAAetK,EAAQ4C,YAHrB,MAMLgI,KAAOA,OAUPC,OAAS7K,IACbA,EAAQ8K,cAsBJC,MAAQA,IAAuC,QAAjCrC,SAAS6B,gBAAgBS,IAEvCC,QAAUA,CAACC,EAAkB3F,EAAO,GAAI4F,EAAeD,IACxB,mBAArBA,EAAkCA,EAAiBnH,QAAQwB,GAAQ4F,EAG7EC,uBAAyBA,CAACC,EAAUC,EAAmBC,GAAoB,KAC/E,IAAKA,EAEH,YADAN,QAAQI,GAIV,MACMG,EAAmB5C,iCAAiC0C,GADlC,EAGxB,IAAIG,GAAS,EAEb,MAAM5J,EAAUA,EAAGa,aACbA,IAAW4I,IAIfG,GAAS,EACTH,EAAkBjH,oBAAoBsD,eAAgB9F,GACtDoJ,QAAQI,KAGVC,EAAkBnH,iBAAiBwD,eAAgB9F,GACnD6J,WAAW,KACJD,GACHrC,qBAAqBkC,IAEtBE,IAYCG,qBAAuBA,CAACC,EAAMC,EAAeC,EAAeC,KAChE,MAAMC,EAAaJ,EAAKvG,OACxB,IAAI4G,EAAQL,EAAKM,QAAQL,GAIzB,OAAc,IAAVI,GACMH,GAAiBC,EAAiBH,EAAKI,EAAa,GAAKJ,EAAK,IAGxEK,GAASH,EAAgB,GAAI,EAEzBC,IACFE,GAASA,EAAQD,GAAcA,GAG1BJ,EAAKrD,KAAK4D,IAAI,EAAG5D,KAAK6D,IAAIH,EAAOD,EAAa,OC9OvD,MAAMK,OAEJ,kBAAWC,GACT,MAAO,EACT,CAEA,sBAAWC,GACT,MAAO,EACT,CAEA,eAAWC,GACT,MAAM,IAAIC,MAAM,sEAClB,CAEAC,WAAWC,GAIT,OAHAA,EAAShK,KAAKiK,gBAAgBD,GAC9BA,EAAShK,KAAKkK,kBAAkBF,GAChChK,KAAKmK,iBAAiBH,GACfA,CACT,CAEAE,kBAAkBF,GAChB,OAAOA,CACT,CAEAC,gBAAgBD,EAAQ3M,GACtB,MAAM+M,EAAa1D,UAAUrJ,GAAW2G,YAAYY,iBAAiBvH,EAAS,UAAY,GAE1F,MAAO,IACF2C,KAAKqK,YAAYV,WACM,iBAAfS,EAA0BA,EAAa,MAC9C1D,UAAUrJ,GAAW2G,YAAYK,kBAAkBhH,GAAW,MAC5C,iBAAX2M,EAAsBA,EAAS,GAE9C,CAEAG,iBAAiBH,EAAQM,EAActK,KAAKqK,YAAYT,aACtD,IAAK,MAAOW,EAAUC,KAAkBjK,OAAOyB,QAAQsI,GAAc,CACnE,MAAMlH,EAAQ4G,EAAOO,GACfE,EAAY/D,UAAUtD,GAAS,UAAYmC,OAAOnC,GAExD,IAAK,IAAIsH,OAAOF,GAAeG,KAAKF,GAClC,MAAM,IAAIG,UACR,GAAG5K,KAAKqK,YAAYR,KAAKgB,0BAA0BN,qBAA4BE,yBAAiCD,MAGtH,CACF,EC7CF,MAAMM,QAAU,eAMhB,MAAMC,sBAAsBrB,OAC1BW,YAAYhN,EAAS2M,GACnBgB,SAEA3N,EAAUuJ,WAAWvJ,MAKrB2C,KAAKiL,SAAW5N,EAChB2C,KAAKkL,QAAUlL,KAAK+J,WAAWC,GAE/B7M,KAAKC,IAAI4C,KAAKiL,SAAUjL,KAAKqK,YAAYc,SAAUnL,MACrD,CAGAoL,UACEjO,KAAKc,OAAO+B,KAAKiL,SAAUjL,KAAKqK,YAAYc,UAC5C5L,aAAaC,IAAIQ,KAAKiL,SAAUjL,KAAKqK,YAAYgB,WAEjD,IAAK,MAAMC,KAAgB/K,OAAOgL,oBAAoBvL,MACpDA,KAAKsL,GAAgB,IAEzB,CAGAE,eAAe9C,EAAUrL,EAASoO,GAAa,GAC7ChD,uBAAuBC,EAAUrL,EAASoO,EAC5C,CAEA1B,WAAWC,GAIT,OAHAA,EAAShK,KAAKiK,gBAAgBD,EAAQhK,KAAKiL,UAC3CjB,EAAShK,KAAKkK,kBAAkBF,GAChChK,KAAKmK,iBAAiBH,GACfA,CACT,CAGA,kBAAO0B,CAAYrO,GACjB,OAAOF,KAAKO,IAAIkJ,WAAWvJ,GAAU2C,KAAKmL,SAC5C,CAEA,0BAAOQ,CAAoBtO,EAAS2M,EAAS,IAC3C,OAAOhK,KAAK0L,YAAYrO,IAAY,IAAI2C,KAAK3C,EAA2B,iBAAX2M,EAAsBA,EAAS,KAC9F,CAEA,kBAAWc,GACT,OAAOA,OACT,CAEA,mBAAWK,GACT,MAAO,MAAMnL,KAAK6J,MACpB,CAEA,oBAAWwB,GACT,MAAO,IAAIrL,KAAKmL,UAClB,CAEA,gBAAOS,CAAUC,GACf,MAAO,GAAGA,IAAO7L,KAAKqL,WACxB,ECzEF,MAAMS,YAAczO,IAClB,IAAIuC,EAAWvC,EAAQwH,aAAa,kBAEpC,IAAKjF,GAAyB,MAAbA,EAAkB,CACjC,IAAImM,EAAgB1O,EAAQwH,aAAa,QAMzC,IAAKkH,IAAmBA,EAAc9J,SAAS,OAAS8J,EAAczJ,WAAW,KAC/E,OAAO,KAILyJ,EAAc9J,SAAS,OAAS8J,EAAczJ,WAAW,OAC3DyJ,EAAgB,IAAIA,EAAcvF,MAAM,KAAK,MAG/C5G,EAAWmM,GAAmC,MAAlBA,EAAwBA,EAAcC,OAAS,IAC7E,CAEA,OAAOpM,EAAWA,EAAS4G,MAAM,KAAKyF,IAAIC,GAAOjH,cAAciH,IAAMC,KAAK,KAAO,MAG7EC,eAAiB,CACrB3L,KAAIA,CAACb,EAAUvC,EAAU0I,SAAS6B,kBACzB,GAAGyE,UAAUC,QAAQ7G,UAAU3F,iBAAiBsB,KAAK/D,EAASuC,IAGvE2M,QAAOA,CAAC3M,EAAUvC,EAAU0I,SAAS6B,kBAC5B0E,QAAQ7G,UAAUoB,cAAczF,KAAK/D,EAASuC,GAGvD4M,SAAQA,CAACnP,EAASuC,IACT,GAAGyM,UAAUhP,EAAQmP,UAAU/H,OAAOgI,GAASA,EAAMC,QAAQ9M,IAGtE+M,QAAQtP,EAASuC,GACf,MAAM+M,EAAU,GAChB,IAAIC,EAAWvP,EAAQ4C,WAAWkH,QAAQvH,GAE1C,KAAOgN,GACLD,EAAQE,KAAKD,GACbA,EAAWA,EAAS3M,WAAWkH,QAAQvH,GAGzC,OAAO+M,CACT,EAEAG,KAAKzP,EAASuC,GACZ,IAAImN,EAAW1P,EAAQ2P,uBAEvB,KAAOD,GAAU,CACf,GAAIA,EAASL,QAAQ9M,GACnB,MAAO,CAACmN,GAGVA,EAAWA,EAASC,sBACtB,CAEA,MAAO,EACT,EAGAC,KAAK5P,EAASuC,GACZ,IAAIqN,EAAO5P,EAAQ6P,mBAEnB,KAAOD,GAAM,CACX,GAAIA,EAAKP,QAAQ9M,GACf,MAAO,CAACqN,GAGVA,EAAOA,EAAKC,kBACd,CAEA,MAAO,EACT,EAEAC,kBAAkB9P,GAChB,MAAM+P,EAAa,CACjB,IACA,SACA,QACA,WACA,SACA,UACA,aACA,4BACAnB,IAAIrM,GAAY,GAAGA,0BAAiCuM,KAAK,KAE3D,OAAOnM,KAAKS,KAAK2M,EAAY/P,GAASoH,OAAO4I,IAAOhG,WAAWgG,IAAOvG,UAAUuG,GAClF,EAEAC,uBAAuBjQ,GACrB,MAAMuC,EAAWkM,YAAYzO,GAE7B,OAAIuC,GACKwM,eAAeG,QAAQ3M,GAAYA,EAGrC,IACT,EAEA2N,uBAAuBlQ,GACrB,MAAMuC,EAAWkM,YAAYzO,GAE7B,OAAOuC,EAAWwM,eAAeG,QAAQ3M,GAAY,IACvD,EAEA4N,gCAAgCnQ,GAC9B,MAAMuC,EAAWkM,YAAYzO,GAE7B,OAAOuC,EAAWwM,eAAe3L,KAAKb,GAAY,EACpD,GChHI6N,qBAAuBA,CAACC,EAAWC,EAAS,UAChD,MAAMC,EAAa,gBAAgBF,EAAUrC,YACvCQ,EAAO6B,EAAU7D,KAEvBtK,aAAa2C,GAAG6D,SAAU6H,EAAY,qBAAqB/B,MAAU,SAAU1M,GAK7E,GAJI,CAAC,IAAK,QAAQ8C,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGJzG,WAAWrH,MACb,OAGF,MAAMD,EAASqM,eAAemB,uBAAuBvN,OAASA,KAAKmH,QAAQ,IAAI0E,KAC9D6B,EAAU/B,oBAAoB5L,GAGtC4N,IACX,IAGII,oBAAsBA,CAACC,EAAQC,EAASC,EAAgBP,EAAQjF,EAAW,QAC/EyF,YAAY,GAAGF,KAAWD,EAAOnE,OAAQqE,EAAgBE,IACvD,MAAMC,EAAYD,EAAKE,QAAQ7J,OAAO9C,SAASsK,IAAI5O,GAAW2Q,EAAOrC,oBAAoBtO,IACjE,mBAAbqL,GACTA,EAAS,IAAK0F,EAAMC,cAGtB,IAAK,MAAM9Q,KAAY8Q,EACrB9Q,EAASoQ,QAKTQ,YAAcA,CAACF,EAASC,EAAgBxF,KAC5C,MAAM9I,EAAW,GAAGsO,kCACpB3O,aAAa2C,GAAG6D,SAAUkI,EAASrO,EAAU,SAAUT,GACjD,CAAC,IAAK,QAAQ8C,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGR,MAAMlO,EAAWwM,eAAekB,uBAAuBtN,MACjDsO,EAAU1O,EAAWwM,eAAe3L,KAAKb,GAAY,CAACI,MAE5D0I,EAAS,CAAE4F,UAASnP,SACtB,ICzCI0K,OAAO,QACPsB,WAAW,WACXE,YAAY,YAEZkD,YAAc,iBACdC,aAAe,kBACfC,kBAAkB,OAClBC,kBAAkB,OAMxB,MAAMC,cAAc5D,cAElB,eAAWlB,GACT,OAAOA,MACT,CAGA+E,QAGE,GAFmBrP,aAAaoD,QAAQ3C,KAAKiL,SAAUsD,aAExCM,iBACb,OAGF7O,KAAKiL,SAASzD,UAAUvJ,OApBJ,QAsBpB,MAAMwN,EAAazL,KAAKiL,SAASzD,UAAUrG,SAvBvB,QAwBpBnB,KAAKwL,eAAe,IAAMxL,KAAK8O,kBAAmB9O,KAAKiL,SAAUQ,EACnE,CAGAqD,kBACE9O,KAAKiL,SAAShN,SACdsB,aAAaoD,QAAQ3C,KAAKiL,SAAUuD,cACpCxO,KAAKoL,SACP,EAOFqC,qBAAqBkB,MAAO,SC9C5B,MAAM9E,OAAO,SACPsB,WAAW,YACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfC,oBAAoB,SACpBC,uBAAuB,4BACvBC,uBAAuB,QAAQ7D,uBAMrC,MAAM8D,eAAepE,cAEnB,eAAWlB,GACT,OAAOA,MACT,CAGAuF,SAEEpP,KAAKiL,SAAS/G,aAAa,eAAgBlE,KAAKiL,SAASzD,UAAU4H,OAjB7C,UAkBxB,EAOF7P,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB9P,IACpEA,EAAM2O,iBAEN,MAAMuB,EAASlQ,EAAMY,OAAOoH,QAAQ8H,wBACvBE,OAAOxD,oBAAoB0D,GAEnCD,WCnCP,MAAMvF,OAAO,QACPwB,YAAY,YACZiE,iBAAmB,sBACnBC,gBAAkB,qBAClBC,eAAiB,oBACjBC,kBAAoB,uBACpBC,gBAAkB,qBAClBC,mBAAqB,QACrBC,iBAAmB,MACnBC,yBAA2B,gBAC3BC,gBAAkB,GAElBnG,UAAU,CACdoG,YAAa,KACbC,aAAc,KACdC,cAAe,MAGXrG,cAAc,CAClBmG,YAAa,kBACbC,aAAc,kBACdC,cAAe,mBAOjB,MAAMC,cAAcxG,OAClBW,YAAYhN,EAAS2M,GACnBgB,QACAhL,KAAKiL,SAAW5N,EAEXA,GAAY6S,MAAMC,gBAIvBnQ,KAAKkL,QAAUlL,KAAK+J,WAAWC,GAC/BhK,KAAKoQ,QAAU,EACfpQ,KAAKqQ,sBAAwB1O,QAAQuD,OAAOoL,cAC5CtQ,KAAKuQ,cACP,CAGA,kBAAW5G,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuB,UACE7L,aAAaC,IAAIQ,KAAKiL,SAzDR,YA0DhB,CAGAuF,OAAOrR,GACAa,KAAKqQ,sBAMNrQ,KAAKyQ,wBAAwBtR,KAC/Ba,KAAKoQ,QAAUjR,EAAMuR,SANrB1Q,KAAKoQ,QAAUjR,EAAMwR,QAAQ,GAAGD,OAQpC,CAEAE,KAAKzR,GACCa,KAAKyQ,wBAAwBtR,KAC/Ba,KAAKoQ,QAAUjR,EAAMuR,QAAU1Q,KAAKoQ,SAGtCpQ,KAAK6Q,eACLvI,QAAQtI,KAAKkL,QAAQ6E,YACvB,CAEAe,MAAM3R,GACJa,KAAKoQ,QAAUjR,EAAMwR,SAAWxR,EAAMwR,QAAQjO,OAAS,EACrD,EACAvD,EAAMwR,QAAQ,GAAGD,QAAU1Q,KAAKoQ,OACpC,CAEAS,eACE,MAAME,EAAYnL,KAAKoL,IAAIhR,KAAKoQ,SAEhC,GAAIW,GAlFgB,GAmFlB,OAGF,MAAME,EAAYF,EAAY/Q,KAAKoQ,QAEnCpQ,KAAKoQ,QAAU,EAEVa,GAIL3I,QAAQ2I,EAAY,EAAIjR,KAAKkL,QAAQ+E,cAAgBjQ,KAAKkL,QAAQ8E,aACpE,CAEAO,cACMvQ,KAAKqQ,uBACP9Q,aAAa2C,GAAGlC,KAAKiL,SAAUwE,kBAAmBtQ,GAASa,KAAKwQ,OAAOrR,IACvEI,aAAa2C,GAAGlC,KAAKiL,SAAUyE,gBAAiBvQ,GAASa,KAAK4Q,KAAKzR,IAEnEa,KAAKiL,SAASzD,UAAU0J,IAvGG,mBAyG3B3R,aAAa2C,GAAGlC,KAAKiL,SAAUqE,iBAAkBnQ,GAASa,KAAKwQ,OAAOrR,IACtEI,aAAa2C,GAAGlC,KAAKiL,SAAUsE,gBAAiBpQ,GAASa,KAAK8Q,MAAM3R,IACpEI,aAAa2C,GAAGlC,KAAKiL,SAAUuE,eAAgBrQ,GAASa,KAAK4Q,KAAKzR,IAEtE,CAEAsR,wBAAwBtR,GACtB,OAAOa,KAAKqQ,wBAjHS,QAiHiBlR,EAAMgS,aAlHrB,UAkHyDhS,EAAMgS,YACxF,CAGA,kBAAOhB,GACL,MAAO,iBAAkBpK,SAAS6B,iBAAmBwJ,UAAUC,eAAiB,CAClF,ECtHF,MAAMxH,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfuC,iBAAiB,YACjBC,kBAAkB,aAClBC,uBAAyB,IAEzBC,WAAa,OACbC,WAAa,OACbC,eAAiB,OACjBC,gBAAkB,QAElBC,YAAc,QAAQxG,cACtByG,WAAa,OAAOzG,cACpB0G,gBAAgB,UAAU1G,cAC1B2G,mBAAmB,aAAa3G,cAChC4G,mBAAmB,aAAa5G,cAChC6G,iBAAmB,YAAY7G,cAC/B8G,sBAAsB,OAAO9G,uBAC7B6D,uBAAuB,QAAQ7D,uBAE/B+G,oBAAsB,WACtBpD,oBAAoB,SACpBqD,iBAAmB,QACnBC,eAAiB,oBACjBC,iBAAmB,sBACnBC,gBAAkB,qBAClBC,gBAAkB,qBAElBC,gBAAkB,UAClBC,cAAgB,iBAChBC,qBAAuBF,wBACvBG,kBAAoB,qBACpBC,oBAAsB,uBACtBC,oBAAsB,sCACtBC,mBAAqB,4BAErBC,iBAAmB,CACvBC,CAAC5B,kBA5BqB,QA6BtB6B,CAAC5B,mBA9BoB,QAiCjB5H,UAAU,CACdyJ,SAAU,IACVC,UAAU,EACVC,MAAO,QACPC,MAAM,EACNC,OAAO,EACPC,MAAM,GAGF7J,cAAc,CAClBwJ,SAAU,SACVC,SAAU,UACVC,MAAO,mBACPC,KAAM,mBACNC,MAAO,UACPC,KAAM,WAOR,MAAMC,iBAAiB3I,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK2T,UAAY,KACjB3T,KAAK4T,eAAiB,KACtB5T,KAAK6T,YAAa,EAClB7T,KAAK8T,aAAe,KACpB9T,KAAK+T,aAAe,KAEpB/T,KAAKgU,mBAAqB5H,eAAeG,QAAQuG,oBAAqB9S,KAAKiL,UAC3EjL,KAAKiU,qBAtDmB,aAwDpBjU,KAAKkL,QAAQqI,MACfvT,KAAKkU,OAET,CAGA,kBAAWvK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAoD,OACEjN,KAAKmU,OA1FU,OA2FjB,CAEAC,kBAGmC,YAA7BrO,SAASsO,iBAAiCvN,UAAU9G,KAAKiL,WAC3DjL,KAAKiN,MAET,CAEAH,OACE9M,KAAKmU,OArGU,OAsGjB,CAEAb,QACMtT,KAAK6T,YACPpN,qBAAqBzG,KAAKiL,UAG5BjL,KAAKsU,gBACP,CAEAJ,QACElU,KAAKsU,iBACLtU,KAAKuU,kBAELvU,KAAK2T,UAAYa,YAAY,IAAMxU,KAAKoU,kBAAmBpU,KAAKkL,QAAQkI,SAC1E,CAEAqB,oBACOzU,KAAKkL,QAAQqI,OAIdvT,KAAK6T,WACPtU,aAAa4C,IAAInC,KAAKiL,SAAU6G,WAAY,IAAM9R,KAAKkU,SAIzDlU,KAAKkU,QACP,CAEAQ,GAAGpL,GACD,MAAMqL,EAAQ3U,KAAK4U,YACnB,GAAItL,EAAQqL,EAAMjS,OAAS,GAAK4G,EAAQ,EACtC,OAGF,GAAItJ,KAAK6T,WAEP,YADAtU,aAAa4C,IAAInC,KAAKiL,SAAU6G,WAAY,IAAM9R,KAAK0U,GAAGpL,IAI5D,MAAMuL,EAAc7U,KAAK8U,cAAc9U,KAAK+U,cAC5C,GAAIF,IAAgBvL,EAClB,OAGF,MAAM0L,EAAQ1L,EAAQuL,EArJP,OACA,OAsJf7U,KAAKmU,OAAOa,EAAOL,EAAMrL,GAC3B,CAEA8B,UACMpL,KAAK+T,cACP/T,KAAK+T,aAAa3I,UAGpBJ,MAAMI,SACR,CAGAlB,kBAAkBF,GAEhB,OADAA,EAAOiL,gBAAkBjL,EAAOoJ,SACzBpJ,CACT,CAEAiK,qBACMjU,KAAKkL,QAAQmI,UACf9T,aAAa2C,GAAGlC,KAAKiL,SAAU8G,gBAAe5S,GAASa,KAAKkV,SAAS/V,IAG5C,UAAvBa,KAAKkL,QAAQoI,QACf/T,aAAa2C,GAAGlC,KAAKiL,SAAU+G,mBAAkB,IAAMhS,KAAKsT,SAC5D/T,aAAa2C,GAAGlC,KAAKiL,SAAUgH,mBAAkB,IAAMjS,KAAKyU,sBAG1DzU,KAAKkL,QAAQsI,OAAStD,MAAMC,eAC9BnQ,KAAKmV,yBAET,CAEAA,0BACE,IAAK,MAAMC,KAAOhJ,eAAe3L,KAAKoS,kBAAmB7S,KAAKiL,UAC5D1L,aAAa2C,GAAGkT,EAAKlD,iBAAkB/S,GAASA,EAAM2O,kBAGxD,MAqBMuH,EAAc,CAClBrF,aAAcA,IAAMhQ,KAAKmU,OAAOnU,KAAKsV,kBAhNpB,SAiNjBrF,cAAeA,IAAMjQ,KAAKmU,OAAOnU,KAAKsV,kBAhNpB,UAiNlBvF,YAxBkBwF,KACS,UAAvBvV,KAAKkL,QAAQoI,QAYjBtT,KAAKsT,QACDtT,KAAK8T,cACP0B,aAAaxV,KAAK8T,cAGpB9T,KAAK8T,aAAe/K,WAAW,IAAM/I,KAAKyU,oBAhNjB,IAgN+DzU,KAAKkL,QAAQkI,aASvGpT,KAAK+T,aAAe,IAAI7D,MAAMlQ,KAAKiL,SAAUoK,EAC/C,CAEAH,SAAS/V,GACP,GAAI,kBAAkBwL,KAAKxL,EAAMY,OAAO8N,SACtC,OAGF,MAAMoD,EAAYgC,iBAAiB9T,EAAM7B,KACrC2T,IACF9R,EAAM2O,iBACN9N,KAAKmU,OAAOnU,KAAKsV,kBAAkBrE,IAEvC,CAEA6D,cAAczX,GACZ,OAAO2C,KAAK4U,YAAYrL,QAAQlM,EAClC,CAEAoY,2BAA2BnM,GACzB,IAAKtJ,KAAKgU,mBACR,OAGF,MAAM0B,EAAkBtJ,eAAeG,QAzNnB,UAyN4CvM,KAAKgU,oBAErE0B,EAAgBlO,UAAUvJ,OAlOJ,UAmOtByX,EAAgBtR,gBAAgB,gBAEhC,MAAMuR,EAAqBvJ,eAAeG,QAAQ,sBAAsBjD,MAAWtJ,KAAKgU,oBAEpF2B,IACFA,EAAmBnO,UAAU0J,IAxOT,UAyOpByE,EAAmBzR,aAAa,eAAgB,QAEpD,CAEAqQ,kBACE,MAAMlX,EAAU2C,KAAK4T,gBAAkB5T,KAAK+U,aAE5C,IAAK1X,EACH,OAGF,MAAMuY,EAAkBpS,OAAOqS,SAASxY,EAAQwH,aAAa,oBAAqB,IAElF7E,KAAKkL,QAAQkI,SAAWwC,GAAmB5V,KAAKkL,QAAQ+J,eAC1D,CAEAd,OAAOa,EAAO3X,EAAU,MACtB,GAAI2C,KAAK6T,WACP,OAGF,MAAM3K,EAAgBlJ,KAAK+U,aACrBe,EA9QS,SA8QAd,EACTe,EAAc1Y,GAAW2L,qBAAqBhJ,KAAK4U,YAAa1L,EAAe4M,EAAQ9V,KAAKkL,QAAQuI,MAE1G,GAAIsC,IAAgB7M,EAClB,OAGF,MAAM8M,EAAmBhW,KAAK8U,cAAciB,GAEtCE,EAAerK,GACZrM,aAAaoD,QAAQ3C,KAAKiL,SAAUW,EAAW,CACpD1K,cAAe6U,EACf9E,UAAWjR,KAAKkW,kBAAkBlB,GAClCjX,KAAMiC,KAAK8U,cAAc5L,GACzBwL,GAAIsB,IAMR,GAFmBC,EAAapE,aAEjBhD,iBACb,OAGF,IAAK3F,IAAkB6M,EAErB,OAGF,MAAMI,EAAYxU,QAAQ3B,KAAK2T,WAC/B3T,KAAKsT,QAELtT,KAAK6T,YAAa,EAElB7T,KAAKyV,2BAA2BO,GAChChW,KAAK4T,eAAiBmC,EAEtB,MAAMK,EAAuBN,EAASvD,iBAAmBD,eACnD+D,EAAiBP,EAAStD,gBAAkBC,gBAElDsD,EAAYvO,UAAU0J,IAAImF,GAE1BnO,OAAO6N,GAEP7M,EAAc1B,UAAU0J,IAAIkF,GAC5BL,EAAYvO,UAAU0J,IAAIkF,GAa1BpW,KAAKwL,eAXoB8K,KACvBP,EAAYvO,UAAUvJ,OAAOmY,EAAsBC,GACnDN,EAAYvO,UAAU0J,IAhTF,UAkTpBhI,EAAc1B,UAAUvJ,OAlTJ,SAkT8BoY,EAAgBD,GAElEpW,KAAK6T,YAAa,EAElBoC,EAAanE,aAGuB5I,EAAelJ,KAAKuW,eAEtDJ,GACFnW,KAAKkU,OAET,CAEAqC,cACE,OAAOvW,KAAKiL,SAASzD,UAAUrG,SAhUV,QAiUvB,CAEA4T,aACE,OAAO3I,eAAeG,QAAQqG,qBAAsB5S,KAAKiL,SAC3D,CAEA2J,YACE,OAAOxI,eAAe3L,KAAKkS,cAAe3S,KAAKiL,SACjD,CAEAqJ,iBACMtU,KAAK2T,YACP6C,cAAcxW,KAAK2T,WACnB3T,KAAK2T,UAAY,KAErB,CAEA2B,kBAAkBrE,GAChB,OAAI7I,QAjWe,SAkWV6I,EAnWM,OADA,OAEI,SAqWZA,EAvWQ,OACA,MAuWjB,CAEAiF,kBAAkBlB,GAChB,OAAI5M,QA1WW,SA2WN4M,EA1WU,OACC,QAFL,SA8WRA,EA5Wa,QADD,MA8WrB,EAOFzV,aAAa2C,GAAG6D,SAAUmJ,uBAAsB6D,oBAAqB,SAAU5T,GAC7E,MAAMY,EAASqM,eAAemB,uBAAuBvN,MAErD,IAAKD,IAAWA,EAAOyH,UAAUrG,SA5WP,YA6WxB,OAGFhC,EAAM2O,iBAEN,MAAM2I,EAAW/C,SAAS/H,oBAAoB5L,GACxC2W,EAAa1W,KAAK6E,aAAa,oBAErC,OAAI6R,GACFD,EAAS/B,GAAGgC,QACZD,EAAShC,qBAIyC,SAAhDzQ,YAAYY,iBAAiB5E,KAAM,UACrCyW,EAASxJ,YACTwJ,EAAShC,sBAIXgC,EAAS3J,YACT2J,EAAShC,oBACX,GAEAlV,aAAa2C,GAAGgD,OAAQiN,sBAAqB,KAC3C,MAAMwE,EAAYvK,eAAe3L,KAAKuS,oBAEtC,IAAK,MAAMyD,KAAYE,EACrBjD,SAAS/H,oBAAoB8K,KCrajC,MAAM5M,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf6H,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxB6D,uBAAuB,QAAQ7D,uBAE/BqD,kBAAkB,OAClBsI,oBAAsB,WACtBC,sBAAwB,aACxBC,qBAAuB,YACvBC,2BAA6B,6BAC7BC,sBAAwB,sBAExBC,MAAQ,QACRC,OAAS,SAETC,iBAAmB,uCACnBtI,uBAAuB,8BAEvBtF,UAAU,CACd6N,OAAQ,KACRpI,QAAQ,GAGJxF,cAAc,CAClB4N,OAAQ,iBACRpI,OAAQ,WAOV,MAAMqI,iBAAiB1M,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK0X,kBAAmB,EACxB1X,KAAK2X,cAAgB,GAErB,MAAMC,EAAaxL,eAAe3L,KAAKwO,wBAEvC,IAAK,MAAM4I,KAAQD,EAAY,CAC7B,MAAMhY,EAAWwM,eAAekB,uBAAuBuK,GACjDC,EAAgB1L,eAAe3L,KAAKb,GACvC6E,OAAOsT,GAAgBA,IAAiB/X,KAAKiL,UAE/B,OAAbrL,GAAqBkY,EAAcpV,QACrC1C,KAAK2X,cAAc9K,KAAKgL,EAE5B,CAEA7X,KAAKgY,sBAEAhY,KAAKkL,QAAQsM,QAChBxX,KAAKiY,0BAA0BjY,KAAK2X,cAAe3X,KAAKkY,YAGtDlY,KAAKkL,QAAQkE,QACfpP,KAAKoP,QAET,CAGA,kBAAWzF,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,SACMpP,KAAKkY,WACPlY,KAAKmY,OAELnY,KAAKoY,MAET,CAEAA,OACE,GAAIpY,KAAK0X,kBAAoB1X,KAAKkY,WAChC,OAGF,IAAIG,EAAiB,GASrB,GANIrY,KAAKkL,QAAQsM,SACfa,EAAiBrY,KAAKsY,uBAAuBf,kBAC1C9S,OAAOpH,GAAWA,IAAY2C,KAAKiL,UACnCgB,IAAI5O,GAAWoa,SAAS9L,oBAAoBtO,EAAS,CAAE+R,QAAQ,MAGhEiJ,EAAe3V,QAAU2V,EAAe,GAAGX,iBAC7C,OAIF,GADmBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,cACxC/H,iBACb,OAGF,IAAK,MAAM0J,KAAkBF,EAC3BE,EAAeJ,OAGjB,MAAMK,EAAYxY,KAAKyY,gBAEvBzY,KAAKiL,SAASzD,UAAUvJ,OA3GA,YA4GxB+B,KAAKiL,SAASzD,UAAU0J,IA3GE,cA6G1BlR,KAAKiL,SAASyN,MAAMF,GAAa,EAEjCxY,KAAKiY,0BAA0BjY,KAAK2X,eAAe,GACnD3X,KAAK0X,kBAAmB,EAExB,MAYMiB,EAAa,SADUH,EAAU,GAAG3N,cAAgB2N,EAAUhW,MAAM,KAG1ExC,KAAKwL,eAdYoN,KACf5Y,KAAK0X,kBAAmB,EAExB1X,KAAKiL,SAASzD,UAAUvJ,OArHA,cAsHxB+B,KAAKiL,SAASzD,UAAU0J,IAvHF,WADJ,QA0HlBlR,KAAKiL,SAASyN,MAAMF,GAAa,GAEjCjZ,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,gBAMR7W,KAAKiL,UAAU,GAC7CjL,KAAKiL,SAASyN,MAAMF,GAAa,GAAGxY,KAAKiL,SAAS0N,MACpD,CAEAR,OACE,GAAInY,KAAK0X,mBAAqB1X,KAAKkY,WACjC,OAIF,GADmB3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cACxCjI,iBACb,OAGF,MAAM2J,EAAYxY,KAAKyY,gBAEvBzY,KAAKiL,SAASyN,MAAMF,GAAa,GAAGxY,KAAKiL,SAAS4N,wBAAwBL,OAE1EtQ,OAAOlI,KAAKiL,UAEZjL,KAAKiL,SAASzD,UAAU0J,IApJE,cAqJ1BlR,KAAKiL,SAASzD,UAAUvJ,OAtJA,WADJ,QAyJpB,IAAK,MAAM0E,KAAW3C,KAAK2X,cAAe,CACxC,MAAMta,EAAU+O,eAAemB,uBAAuB5K,GAElDtF,IAAY2C,KAAKkY,SAAS7a,IAC5B2C,KAAKiY,0BAA0B,CAACtV,IAAU,EAE9C,CAEA3C,KAAK0X,kBAAmB,EASxB1X,KAAKiL,SAASyN,MAAMF,GAAa,GAEjCxY,KAAKwL,eATYoN,KACf5Y,KAAK0X,kBAAmB,EACxB1X,KAAKiL,SAASzD,UAAUvJ,OAnKA,cAoKxB+B,KAAKiL,SAASzD,UAAU0J,IArKF,YAsKtB3R,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBAKR/W,KAAKiL,UAAU,EAC/C,CAGAiN,SAAS7a,EAAU2C,KAAKiL,UACtB,OAAO5N,EAAQmK,UAAUrG,SAjLL,OAkLtB,CAEA+I,kBAAkBF,GAGhB,OAFAA,EAAOoF,OAASzN,QAAQqI,EAAOoF,QAC/BpF,EAAOwN,OAAS5Q,WAAWoD,EAAOwN,QAC3BxN,CACT,CAEAyO,gBACE,OAAOzY,KAAKiL,SAASzD,UAAUrG,SAtLL,uBAsLuCkW,MAAQC,MAC3E,CAEAU,sBACE,IAAKhY,KAAKkL,QAAQsM,OAChB,OAGF,MAAMhL,EAAWxM,KAAKsY,uBAAuBrJ,wBAE7C,IAAK,MAAM5R,KAAWmP,EAAU,CAC9B,MAAMsM,EAAW1M,eAAemB,uBAAuBlQ,GAEnDyb,GACF9Y,KAAKiY,0BAA0B,CAAC5a,GAAU2C,KAAKkY,SAASY,GAE5D,CACF,CAEAR,uBAAuB1Y,GACrB,MAAM4M,EAAWJ,eAAe3L,KAAK0W,2BAA4BnX,KAAKkL,QAAQsM,QAE9E,OAAOpL,eAAe3L,KAAKb,EAAUI,KAAKkL,QAAQsM,QAAQ/S,OAAOpH,IAAYmP,EAASvK,SAAS5E,GACjG,CAEA4a,0BAA0Bc,EAAcC,GACtC,GAAKD,EAAarW,OAIlB,IAAK,MAAMrF,KAAW0b,EACpB1b,EAAQmK,UAAU4H,OAvNK,aAuNyB4J,GAChD3b,EAAQ6G,aAAa,gBAAiB8U,EAE1C,EAOFzZ,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,IAEjD,MAAzBA,EAAMY,OAAO8N,SAAoB1O,EAAME,gBAAmD,MAAjCF,EAAME,eAAewO,UAChF1O,EAAM2O,iBAGR,IAAK,MAAMzQ,KAAW+O,eAAeoB,gCAAgCxN,MACnEyX,SAAS9L,oBAAoBtO,EAAS,CAAE+R,QAAQ,IAASA,QAE7D,GC/PO,MAAM6J,YAAc,CACzBC,GAAI,IACJC,GAAI,IACJC,GAAI,KACJC,GAAI,KACJ,MAAO,MAwBIC,yBAA2BA,CAACC,EAAiBC,EAAmB,YAE3E,IAAKD,IAAoBA,EAAgBtX,SAAS,KAChD,OAAO,KAIT,MAAMwX,EAAQF,EAAgB/S,MAAM,OAC9BkT,EAAa,CAAEC,GAAIH,GAEzB,IAAK,MAAMI,KAAQH,EACjB,GAAIG,EAAK3X,SAAS,KAAM,CAEtB,MAAO4X,EAAYC,GAAaF,EAAKpT,MAAM,UACXuT,IAA5Bd,YAAYY,KACdH,EAAWG,GAAcC,EAE7B,MAEEJ,EAAWC,GAAKC,EAIpB,OAAOF,GAUIM,uBAAyBA,CAACC,EAAsBT,EAAmB,YAC9E,IAAKS,EACH,OAAOT,EAIT,MAAMU,EAAgBhV,OAAOiV,WAG7B,IAAIC,EAAkBH,EAAqBN,IAAMH,EAGjD,MAAMa,EAAkB,CAAC,KAAM,KAAM,KAAM,KAAM,OAEjD,IAAK,MAAMR,KAAcQ,EAEnBH,GADajB,YAAYY,IACII,EAAqBJ,KACpDO,EAAkBH,EAAqBJ,IAI3C,OAAOO,GASIE,0BAA4B5R,IACvC,MAAM6R,EAAY,GAElB,IAAK,MAAMV,KAActZ,OAAOvC,KAAKib,aAAc,CACjD,MAAMuB,EAAWvB,YAAYY,GACvBY,EAAMvV,OAAOwV,WAAW,eAAeF,QAE7CC,EAAIjZ,iBAAiB,SAAUkH,GAC/B6R,EAAU1N,KAAK,CAAE4N,MAAKvb,QAASwJ,GACjC,CAEA,OAAO6R,GAQII,2BAA6BJ,IACxC,IAAK,MAAME,IAAEA,EAAGvb,QAAEA,KAAaqb,EAC7BE,EAAI/Y,oBAAoB,SAAUxC,ICtFhC2K,OAAO,OACPsB,WAAW,UACXE,YAAY,WACZ0D,eAAe,YAEf6L,aAAa,SACbC,UAAU,MACVC,eAAe,UACfC,iBAAiB,YACjBzJ,iBAAiB,YACjBC,kBAAkB,aAClByJ,WAAW,OACXC,UAAU,MACVC,YAAY,QACZC,YAAY,IACZC,mBAAqB,EAErBC,oBAAsB,IAEtBvE,aAAa,eACbC,eAAe,iBACfH,aAAa,eACbC,cAAc,gBACd3H,uBAAuB,yBACvBoM,uBAAyB,2BACzBC,qBAAuB,yBAEvB7M,kBAAkB,OAElBO,uBAAuB,wDAEvBuM,gBAAgB,QAChBC,iBAAmB,WACnBC,wBAA0B,wBAC1BC,oBAAsB,cACtBC,yBAAyB,2CAEzBC,kBAAoB,eACpBC,kBAAoB,YAEpBC,wBAA0BjC,GAC1B1R,QACK0R,EAAUvY,QAAQ,gBAAiB,SAASA,QAAQ,cAAe,QAGrEuY,EAAUvY,QAAQ,gBAAiB,QAAQA,QAAQ,cAAe,SAGrEya,aAAeA,CAACC,EAAIC,EAAIC,KAC1BF,EAAGG,EAAID,EAAGC,IAAMF,EAAGG,EAAIF,EAAGE,IAAQH,EAAGE,EAAID,EAAGC,IAAMH,EAAGI,EAAIF,EAAGE,GAE1D1S,UAAU,CACd2S,WAAW,EACXC,SAAU,kBACVC,WAAW,EACXC,QAAS,UACTC,OAAQ,CAAC,EAAG,GACZC,eAAgB,KAChBC,KAAM,KACN9C,UAtBwB,eAuBxB+C,UAAW,SACXC,SAAU,WACVC,eAAgB,OAChBC,aA9C0B,KAiDtBpT,cAAc,CAClB0S,UAAW,mBACXC,SAAU,mBACVC,UAAW,2BACXC,QAAS,SACTC,OAAQ,0BACRC,eAAgB,yBAChBC,KAAM,iBACN9C,UAAW,SACX+C,UAAW,0BACXC,SAAU,SACVC,eAAgB,SAChBC,aAAc,UAOhB,MAAMC,aAAalS,cACjBmS,sBAAqB,KAAG,IAAIte,IAAP,GAErByL,YAAYhN,EAAS2M,GACnB,QAA+B,IAApBmT,gBACT,MAAM,IAAIvS,UAAU,mEAGtBI,MAAM3N,EAAS2M,GAEfhK,KAAKod,iBAAmB,KACxBpd,KAAKqd,qBAAuB,GAC5Brd,KAAKsd,sBAAwB,KAC7Btd,KAAKud,QAAUvd,KAAKiL,SAAShL,WAC7BD,KAAKwd,WAAaxd,KAAKud,QAAQ/V,WAAWrG,SAAS,WACnDnB,KAAKyd,cAAgB,IAAIvgB,IACzB8C,KAAK0d,sBAAwB,IAAIxgB,IACjC8C,KAAK2d,iBAAmB,KAExB3d,KAAK4d,MAAQ5d,KAAKkL,QAAQ0R,MAAQ5c,KAAK6d,YAEvC7d,KAAK8d,oBAAsB9d,KAAK4d,OAAO3d,WAEvCD,KAAK+d,6BACL/d,KAAKge,wBACP,CAGA,kBAAWrU,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,MA1HS,MA2HX,CAGAuF,SACE,OAAOpP,KAAKkY,WAAalY,KAAKmY,OAASnY,KAAKoY,MAC9C,CAEAA,OACE,GAAI/Q,WAAWrH,KAAKiL,WAAajL,KAAKkY,WACpC,OAGF,MAAMhX,EAAgB,CACpBA,cAAelB,KAAKiL,UAKtB,IAFkB1L,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,aAAY1V,GAEpD2N,iBAAd,CAOA,GAHA7O,KAAKie,uBACLje,KAAKke,kBAED,iBAAkBnY,SAAS6B,kBAAoB5H,KAAKud,QAAQpW,QAlHxC,eAmHtB,IAAK,MAAM9J,IAAW,GAAGgP,UAAUtG,SAASoY,KAAK3R,UAC/CjN,aAAa2C,GAAG7E,EAAS,YAAa4K,MAI1CjI,KAAKiL,SAASmT,MAAM,CAAEC,cAAc,IACpCre,KAAKiL,SAAS/G,aAAa,gBAAiB,QAE5ClE,KAAK4d,MAAMpW,UAAU0J,IAlID,QAmIpBlR,KAAKiL,SAASzD,UAAU0J,IAnIJ,QAqIhBlR,KAAKud,SACPvd,KAAKud,QAAQ/V,UAAU0J,IAtIL,QAyIpB+L,KAAKqB,eAAepN,IAAIlR,MACxBT,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,cAAa3V,EAtBjD,CAuBF,CAEAiX,OACE,GAAI9Q,WAAWrH,KAAKiL,YAAcjL,KAAKkY,WACrC,OAGF,MAAMhX,EAAgB,CACpBA,cAAelB,KAAKiL,UAGtBjL,KAAKue,cAAcrd,EACrB,CAEAkK,UACEpL,KAAKwe,mBACLxe,KAAKye,+BACLze,KAAK0e,8BACL1e,KAAK2e,oBACL3e,KAAK4e,2BACL3B,KAAKqB,eAAepgB,OAAO8B,MAC3BgL,MAAMI,SACR,CAEAyT,SACM7e,KAAKod,kBACPpd,KAAK8e,yBAET,CAGAjB,YACE,OAAOzR,eAAea,KAAKjN,KAAKiL,SAvKd,SAuKuC,IACvDmB,eAAeU,KAAK9M,KAAKiL,SAxKT,SAwKkC,IAClDmB,eAAeG,QAzKC,QAyKsBvM,KAAKud,QAC/C,CAEAgB,cAAcrd,GAEZ,IADkB3B,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,aAAY5V,GACpD2N,iBAAd,CAMA,GAFA7O,KAAK2e,oBAED,iBAAkB5Y,SAAS6B,gBAC7B,IAAK,MAAMvK,IAAW,GAAGgP,UAAUtG,SAASoY,KAAK3R,UAC/CjN,aAAaC,IAAInC,EAAS,YAAa4K,MAI3CjI,KAAKwe,mBACLxe,KAAKye,+BAELze,KAAK4d,MAAMpW,UAAUvJ,OAjMD,QAkMpB+B,KAAKiL,SAASzD,UAAUvJ,OAlMJ,QAoMhB+B,KAAKud,SACPvd,KAAKud,QAAQ/V,UAAUvJ,OArML,QAwMpB+B,KAAKiL,SAAS/G,aAAa,gBAAiB,SAC5CF,YAAYG,oBAAoBnE,KAAK4d,MAAO,aAC5C5Z,YAAYG,oBAAoBnE,KAAK4d,MAAO,WAC5CX,KAAKqB,eAAepgB,OAAO8B,MAC3BT,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,eAAc7V,EAxBlD,CAyBF,CAEA6I,WAAWC,GAGT,GAAgC,iBAFhCA,EAASgB,MAAMjB,WAAWC,IAER6S,YAA2BnW,UAAUsD,EAAO6S,YACV,mBAA3C7S,EAAO6S,UAAUhE,sBAExB,MAAM,IAAIjO,UAAU,GAhPb,OAgPqBC,+GAG9B,OAAOb,CACT,CAEAkU,kBACE,GAA6B,WAAzBle,KAAKkL,QAAQuR,QAEf,YADAzY,YAAYC,iBAAiBjE,KAAK4d,MAAO,UAAW,UAItD,IAAImB,EAAmB/e,KAAKiL,SAEG,WAA3BjL,KAAKkL,QAAQ2R,UACfkC,EAAmB/e,KAAKud,QACf7W,UAAU1G,KAAKkL,QAAQ2R,WAChCkC,EAAmBnY,WAAW5G,KAAKkL,QAAQ2R,WACA,iBAA3B7c,KAAKkL,QAAQ2R,YAC7BkC,EAAmB/e,KAAKkL,QAAQ2R,WAGlC7c,KAAK8e,wBAAwBC,GAE7B/e,KAAKod,iBAAmB4B,WACtBD,EACA/e,KAAK4d,MACL,IAAM5d,KAAK8e,wBAAwBC,GAEvC,CAEA,6BAAMD,CAAwBC,EAAmB,MAC/C,IAAK/e,KAAK4d,MACR,OAGGmB,IAEDA,EAD6B,WAA3B/e,KAAKkL,QAAQ2R,UACI7c,KAAKud,QACf7W,UAAU1G,KAAKkL,QAAQ2R,WACbjW,WAAW5G,KAAKkL,QAAQ2R,WACA,iBAA3B7c,KAAKkL,QAAQ2R,UACV7c,KAAKkL,QAAQ2R,UAEb7c,KAAKiL,UAI5B,MAAM6O,EAAY9Z,KAAKif,gBACjBC,EAAalf,KAAKmf,yBAClBxC,EAAiB3c,KAAKof,mBAAmBtF,EAAWoF,SAEpDlf,KAAKqf,uBACTN,EACA/e,KAAK4d,MACLjB,EAAe7C,UACf6C,EAAeuC,WACfvC,EAAeG,SAEnB,CAEA5E,WACE,OAAOlY,KAAK4d,MAAMpW,UAAUrG,SAnRR,OAoRtB,CAEA8d,gBACE,MAAMnF,EAAY9Z,KAAKsd,sBACrBtD,uBAAuBha,KAAKsd,sBA9QR,gBA+QpBtd,KAAKkL,QAAQ4O,UAEf,OAAOiC,wBAAwBjC,EACjC,CAEAiE,6BACE/d,KAAKsd,sBAAwBhE,yBAAyBtZ,KAAKkL,QAAQ4O,UArR7C,gBAuRlB9Z,KAAKsd,uBACPtd,KAAKsf,2BAET,CAEAA,4BACEtf,KAAK0e,8BACL1e,KAAKqd,qBAAuB/C,0BAA0B,KAChDta,KAAKkY,YACPlY,KAAK8e,2BAGX,CAEAJ,8BACE/D,2BAA2B3a,KAAKqd,sBAChCrd,KAAKqd,qBAAuB,EAC9B,CAEAkC,aACE,MAAQ7C,OAAQ8C,GAAiBxf,KAAKkL,QAEtC,MAA4B,iBAAjBsU,EACFA,EAAahZ,MAAM,KAAKyF,IAAI7I,GAASI,OAAOqS,SAASzS,EAAO,KAGzC,mBAAjBoc,EACF,EAAG1F,YAAW2F,WACJD,EAAa,CAAE1F,YAAW+C,UAAW4C,EAAM5C,UAAW6C,SAAUD,EAAMC,UAAY1f,KAAKiL,UAKnGuU,CACT,CAEAL,yBACE,MAAMQ,EAAc3f,KAAKuf,aAgBzB,MAdmB,CACjB7C,OACyB,mBAAhBiD,EACLA,EACA,CAAEC,SAAUD,EAAY,IAAM,EAAGE,UAAWF,EAAY,IAAM,IAElEG,KAAK,CACHC,mBAAoB/f,KAAKggB,2BAE3BC,MAAM,CACJ1D,SAAoC,oBAA1Bvc,KAAKkL,QAAQqR,SAAiC,oBAAsBvc,KAAKkL,QAAQqR,WAKjG,CAEAyD,yBAkBE,MAfoB,CAClBE,OAAQ,CAAC,MAAO,eAAgB,aAAc,YAAa,WAC3D,eAAgB,CAAC,YAAa,aAAc,WAC5C,aAAc,CAAC,UAAW,eAAgB,aAC1CC,IAAK,CAAC,SAAU,YAAa,UAAW,eAAgB,cACxD,YAAa,CAAC,eAAgB,UAAW,cACzC,UAAW,CAAC,aAAc,YAAa,gBACvCC,MAAO,CAAC,OAAQ,cAAe,YAAa,aAAc,YAC1D,cAAe,CAAC,aAAc,YAAa,WAAY,YAAa,gBACpE,YAAa,CAAC,WAAY,cAAe,aAAc,UAAW,cAClEC,KAAM,CAAC,QAAS,aAAc,WAAY,cAAe,aACzD,aAAc,CAAC,cAAe,WAAY,YAAa,YAAa,gBACpE,WAAY,CAAC,YAAa,aAAc,cAAe,UAAW,eAdlDrgB,KAAKif,kBAiBU,CAAC,MAAO,SAAU,QAAS,OAC9D,CAEAG,mBAAmBtF,EAAWoF,GAC5B,MAAMoB,EAAgB,CACpBxG,YACAoF,aACApC,SAAU9c,KAAKkL,QAAQ4R,UAGzB,MAAO,IACFwD,KACAhY,QAAQtI,KAAKkL,QAAQyR,eAAgB,MAAC5C,EAAWuG,IAExD,CAEA9B,mBACMxe,KAAKod,mBACPpd,KAAKod,mBACLpd,KAAKod,iBAAmB,KAE5B,CAEAmD,gBACE,MAAM/D,UAAEA,GAAcxc,KAAKkL,QAC3B,OAAkB,IAAdsR,EACK,MAGY,IAAdA,EAAqBzW,SAASoY,KAAOvX,WAAW4V,EACzD,CAEAyB,uBACE,MAAMzB,EAAYxc,KAAKugB,gBAClB/D,GAAcxc,KAAK4d,OAIpB5d,KAAK4d,MAAM3d,aAAeuc,GAC5BA,EAAUgE,OAAOxgB,KAAK4d,MAE1B,CAEAa,+BACOze,KAAK8d,qBAAwB9d,KAAK4d,OAInC5d,KAAK4d,MAAM3d,aAAeD,KAAK8d,qBACjC9d,KAAK8d,oBAAoB0C,OAAOxgB,KAAK4d,MAEzC,CAEA,4BAAMyB,CAAuBxC,EAAW6C,EAAU5F,EAAWoF,EAAYpC,EAAW,YAClF,IAAK4C,EAASe,YACZ,OAAO,KAGT,MAAMrE,EAAEA,EAACC,EAAEA,EAAGvC,UAAW4G,SAAyBvD,gBAChDN,EACA6C,EACA,CAAE5F,YAAWoF,aAAYpC,aAG3B,OAAK4C,EAASe,aAIdlgB,OAAOogB,OAAOjB,EAAShH,MAAO,CAC5BkI,SAAU9D,EACVuD,KAAM,GAAGjE,MACT+D,IAAK,GAAG9D,MACRwE,OAAQ,MAGV7c,YAAYC,iBAAiByb,EAAU,YAAagB,GAC7CA,GAXE,IAYX,CAMA1C,yBACsC,UAAhChe,KAAKkL,QAAQ6R,gBAA8D,SAAhC/c,KAAKkL,QAAQ6R,iBAC1Dxd,aAAa2C,GAAGlC,KAAK4d,MAAO,aA1bF,wBA0byCze,IACjEa,KAAK8gB,uBAAuB3hB,KAG9BI,aAAa2C,GAAGlC,KAAK4d,MAAO,aA/bT,WA+byCze,IAC1Da,KAAK+gB,gBAAgB5hB,KAGvBI,aAAa2C,GAAGlC,KAAK4d,MAAO,YAAaze,IACvCa,KAAKghB,oBAAoB7hB,MAIO,UAAhCa,KAAKkL,QAAQ6R,gBAA8D,SAAhC/c,KAAKkL,QAAQ6R,gBAC1Dxd,aAAa2C,GAAGlC,KAAK4d,MAAO,QAxcF,wBAwcoCze,IAC5Da,KAAKihB,uBAAuB9hB,IAGlC,CAEA2hB,uBAAuB3hB,GACrB,MAAMwD,EAAUxD,EAAMY,OAAOoH,QA/cD,yBAgd5B,IAAKxE,EACH,OAGF,MAAMue,EAAiBve,EAAQwE,QArdV,YAsdfga,EAAU/U,eAAeG,QAvdb,QAudoC2U,GACjDC,IAILnhB,KAAKohB,2BAA2BD,GAChCnhB,KAAKqhB,sBAAsBH,GAC3BlhB,KAAKshB,aAAa3e,EAASwe,EAASD,GACtC,CAEAH,gBAAgB5hB,GACd,MAAM+hB,EAAiB/hB,EAAMY,OAAOoH,QAjef,YAkefga,EAAU/U,eAAeG,QAneb,QAmeoC2U,GACjDC,GAAYnhB,KAAKyd,cAAcjgB,IAAI2jB,KAIpCnhB,KAAKuhB,uBAAuBpiB,EAAOgiB,IAIvCnhB,KAAKwhB,sBAAsBL,EAASD,GACtC,CAEAD,uBAAuB9hB,GACrB,MAAMwD,EAAUxD,EAAMY,OAAOoH,QA9eD,yBA+e5B,IAAKxE,EACH,OAGFxD,EAAM2O,iBACN3O,EAAMsiB,kBAEN,MAAMP,EAAiBve,EAAQwE,QAvfV,YAwffga,EAAU/U,eAAeG,QAzfb,QAyfoC2U,GACjDC,IAIDnhB,KAAKyd,cAAcjgB,IAAI2jB,GACzBnhB,KAAK0hB,cAAcP,EAASD,IAE5BlhB,KAAKqhB,sBAAsBH,GAC3BlhB,KAAKshB,aAAa3e,EAASwe,EAASD,IAExC,CAEAI,aAAa3e,EAASwe,EAASD,GAC7B,GAAIlhB,KAAKyd,cAAcjgB,IAAI2jB,GACzB,OAGFxe,EAAQuB,aAAa,gBAAiB,QACtCvB,EAAQuB,aAAa,gBAAiB,QAEtCid,EAAQ3Z,UAAU0J,IAlhBE,QAmhBpBgQ,EAAe1Z,UAAU0J,IAnhBL,QAqhBpB,MAAMyQ,EAAU3hB,KAAK4hB,uBAAuBjf,EAASwe,EAASD,GAC9DlhB,KAAKyd,cAAcrgB,IAAI+jB,EAASQ,GAEhCpiB,aAAa2C,GAAGif,EAAS,aAAc,KACrCnhB,KAAKohB,2BAA2BD,IAEpC,CAEAO,cAAcP,EAASD,GACrB,IAAKlhB,KAAKyd,cAAcjgB,IAAI2jB,GAC1B,OAGF,MAAMU,EAAiBzV,eAAe3L,KAAK,sBAA2D0gB,GACtG,IAAK,MAAMW,KAAUD,EAAgB,CACnC,MAAME,EAAgBD,EAAO3a,QA/hBV,YAgiBnBnH,KAAK0hB,cAAcI,EAAQC,EAC7B,CAEA,MAAMpf,EAAUyJ,eAAeG,QAliBH,wBAkiBoC2U,GAE1DS,EAAU3hB,KAAKyd,cAAc/f,IAAIyjB,GACnCQ,GACFA,IAGF3hB,KAAKyd,cAAcvf,OAAOijB,GAC1B5hB,aAAaC,IAAI2hB,EAAS,cAEtBxe,GACFA,EAAQuB,aAAa,gBAAiB,SAGxCid,EAAQ3Z,UAAUvJ,OAtjBE,QAujBpBijB,EAAe1Z,UAAUvJ,OAvjBL,QAyjBpBkjB,EAAQzI,MAAMkI,SAAW,GACzBO,EAAQzI,MAAM2H,KAAO,GACrBc,EAAQzI,MAAMyH,IAAM,GACpBgB,EAAQzI,MAAMmI,OAAS,EACzB,CAEAlC,oBACE,IAAK,MAAOwC,KAAYnhB,KAAKyd,cAAe,CAC1C,MAAMyD,EAAiBC,EAAQha,QA5jBZ,YA6jBnBnH,KAAK0hB,cAAcP,EAASD,EAC9B,CACF,CAEAG,sBAAsBW,GACpB,MAAMxK,EAASwK,EAAsB/hB,WAC/BgiB,EAAkB7V,eAAe3L,KAAK,wBAA6D+W,GAEzG,IAAK,MAAM0K,KAAeD,EAAiB,CACzC,MAAME,EAAiBD,EAAY/a,QAtkBhB,YAukBfgb,IAAmBH,GACrBhiB,KAAK0hB,cAAcQ,EAAaC,EAEpC,CACF,CAEAP,uBAAuBjf,EAASwe,EAASD,GACvC,MAAMnC,EAAmBmC,EACnBpH,EAAYiC,wBAzkBI,aA0kBhBmD,EAAa,CACjBxC,OAAO,CAAEkD,SAAU,EAAGC,WAAW,IACjCC,KAAK,CACHC,mBAAoB,CAClBhE,wBAAwB,eACxBA,wBAAwB,WACxBA,wBAAwB,gBAG5BkE,MAAM,CAAEmC,QAAS,KAGbC,EAAiBA,IAAMriB,KAAKqf,uBAAuBN,EAAkBoC,EAASrH,EAAWoF,GAG/F,OADAmD,IACOrD,WAAWD,EAAkBoC,EAASkB,EAC/C,CAEAb,sBAAsBL,EAASD,GAC7BlhB,KAAKohB,2BAA2BD,GAEhC,MAAMmB,EAAYvZ,WAAW,KAC3B/I,KAAK0hB,cAAcP,EAASD,GAC5BlhB,KAAK0d,sBAAsBxf,OAAOijB,IACjCnhB,KAAKkL,QAAQ8R,cAEhBhd,KAAK0d,sBAAsBtgB,IAAI+jB,EAASmB,EAC1C,CAEAlB,2BAA2BD,GACzB,MAAMmB,EAAYtiB,KAAK0d,sBAAsBhgB,IAAIyjB,GAC7CmB,IACF9M,aAAa8M,GACbtiB,KAAK0d,sBAAsBxf,OAAOijB,GAEtC,CAEAvC,2BACE,IAAK,MAAM0D,KAAatiB,KAAK0d,sBAAsBld,SACjDgV,aAAa8M,GAGftiB,KAAK0d,sBAAsB6E,OAC7B,CAMAvB,oBAAoB7hB,GAClBa,KAAK2d,iBAAmB,CACtBvB,EAAGjd,EAAMuR,QACT2L,EAAGld,EAAMqjB,QACTC,UAAWC,KAAKC,MAEpB,CAEApB,uBAAuBpiB,EAAOgiB,GAC5B,IAAKnhB,KAAK2d,iBACR,OAAO,EAGT,MAAMiF,EAAczB,EAAQtI,wBACtBgK,EAAa,CAAEzG,EAAGjd,EAAMuR,QAAS2L,EAAGld,EAAMqjB,SAC1CM,EAAU,CAAE1G,EAAGpc,KAAK2d,iBAAiBvB,EAAGC,EAAGrc,KAAK2d,iBAAiBtB,GAGjE0G,EADQ3a,QACUwa,EAAYxC,MAAQwC,EAAYvC,KAClD2C,EAAY,CAAE5G,EAAG2G,EAAS1G,EAAGuG,EAAYzC,KACzC8C,EAAe,CAAE7G,EAAG2G,EAAS1G,EAAGuG,EAAY1C,QAElD,OAAOlgB,KAAKkjB,iBAAiBL,EAAYC,EAASE,EAAWC,EAC/D,CAEAC,iBAAiBC,EAAOC,EAAIC,EAAIC,GAC9B,MAAMC,EAAKvH,aAAamH,EAAOC,EAAIC,GAC7BG,EAAKxH,aAAamH,EAAOE,EAAIC,GAC7BG,EAAKzH,aAAamH,EAAOG,EAAIF,GAKnC,SAHgBG,EAAK,GAAOC,EAAK,GAAOC,EAAK,KAC7BF,EAAK,GAAOC,EAAK,GAAOC,EAAK,GAG/C,CAMAC,iBAAgBpmB,IAAEA,EAAGyC,OAAEA,IACrB,MAAM4jB,EAAc5jB,EAAOoH,QA3qBT,UA2qBmCnH,KAAK4d,MACpDjJ,EAAQvI,eAAe3L,KAAK,YAAYmb,2BAA0B+H,GACrElf,OAAOpH,GAAWyJ,UAAUzJ,IAE1BsX,EAAMjS,QAIXsG,qBAAqB2L,EAAO5U,EAAQzC,IAAQyd,kBAAiBpG,EAAM1S,SAASlC,IAASqe,OACvF,CAEAwF,sBAAsBzkB,GACpB,MAAM7B,IAAEA,EAAGyC,OAAEA,GAAWZ,EAClB0kB,EAAQzb,QAER0b,EAAWD,EAAQvS,iBAAiBC,kBACpCwS,EAAUF,EAAQtS,kBAAkBD,iBAEpC4P,EAAiBnhB,EAAOoH,QA5rBT,YA6rBf6c,EAAmB9C,GAAkBnhB,EAAO2M,QA5rBtB,yBA8rB5B,IAAKpP,IAAQ4d,aAAa5d,IAAQ6d,cAAc6I,EAAkB,CAChE7kB,EAAM2O,iBACN3O,EAAMsiB,kBAEN,MAAMN,EAAU/U,eAAeG,QApsBf,QAosBsC2U,GAYtD,OAXIC,IACFnhB,KAAKqhB,sBAAsBH,GAC3BlhB,KAAKshB,aAAavhB,EAAQohB,EAASD,GACnC+C,sBAAsB,KACpB,MAAMC,EAAY9X,eAAeG,QAAQqP,yBAAwBuF,GAC7D+C,GACFA,EAAU9F,YAKT,CACT,CAEA,GAAI9gB,IAAQwmB,GAAYE,EAAkB,CACxC7kB,EAAM2O,iBACN3O,EAAMsiB,kBAEN,MAAMN,EAAU/U,eAAeG,QAvtBf,QAutBsC2U,GAYtD,OAXIC,IACFnhB,KAAKqhB,sBAAsBH,GAC3BlhB,KAAKshB,aAAavhB,EAAQohB,EAASD,GACnC+C,sBAAsB,KACpB,MAAMC,EAAY9X,eAAeG,QAAQqP,yBAAwBuF,GAC7D+C,GACFA,EAAU9F,YAKT,CACT,CAEA,GAAI9gB,IAAQymB,EAAS,CACnB,MAAMJ,EAAc5jB,EAAOoH,QAvuBX,SAwuBVgd,EAAuBR,GAAaxc,QAvuBvB,YAyuBnB,GAAIgd,EAAsB,CACxBhlB,EAAM2O,iBACN3O,EAAMsiB,kBAEN,MAAM2C,EAAgBhY,eAAeG,QA5uBb,wBA4uB8C4X,GAMtE,OALAnkB,KAAK0hB,cAAciC,EAAaQ,GAC5BC,GACFA,EAAchG,SAGT,CACT,CACF,CAEA,GAAI9gB,IAAQ0d,YAAY1d,IAAQ2d,UAAS,CACvC9b,EAAM2O,iBACN3O,EAAMsiB,kBAEN,MAAMkC,EAAc5jB,EAAOoH,QA5vBX,SA6vBVwN,EAAQvI,eAAe3L,KAAK,YAAYmb,2BAA0B+H,GACrElf,OAAOpH,GAAWyJ,UAAUzJ,IAO/B,OALIsX,EAAMjS,SACWpF,IAAQ0d,WAAWrG,EAAM,GAAKA,EAAMA,EAAMjS,OAAS,IAC3D0b,SAGN,CACT,CAEA,OAAO,CACT,CAEA,iBAAOiG,CAAWllB,GAChB,GA5xBuB,IA4xBnBA,EAAMkQ,SAAiD,UAAflQ,EAAMM,MAryBtC,QAqyB0DN,EAAM7B,KAI5E,IAAK,MAAMC,KAAY0f,KAAKqB,eAAgB,CAC1C,IAAmC,IAA/B/gB,EAAS2N,QAAQoR,UACnB,SAGF,MAAMgI,EAAenlB,EAAMmlB,eACrBC,EAAeD,EAAariB,SAAS1E,EAASqgB,OACpD,GACE0G,EAAariB,SAAS1E,EAAS0N,WACC,WAA/B1N,EAAS2N,QAAQoR,YAA2BiI,GACb,YAA/BhnB,EAAS2N,QAAQoR,WAA2BiI,EAE7C,SAGF,GAAIhnB,EAASqgB,MAAMzc,SAAShC,EAAMY,UAA4B,UAAfZ,EAAMM,MAxzB3C,QAwzB+DN,EAAM7B,KAAoB,qCAAqCqN,KAAKxL,EAAMY,OAAO8N,UACxJ,SAGF,MAAM3M,EAAgB,CAAEA,cAAe3D,EAAS0N,UAE7B,UAAf9L,EAAMM,OACRyB,EAAc0M,WAAazO,GAG7B5B,EAASghB,cAAcrd,EACzB,CACF,CAEA,4BAAOsjB,CAAsBrlB,GAC3B,MAAMslB,EAAU,kBAAkB9Z,KAAKxL,EAAMY,OAAO8N,SAC9C6W,EAz0BS,WAy0BOvlB,EAAM7B,IACtBqnB,EAAkB,CAAC7J,eAAcC,kBAAgB9Y,SAAS9C,EAAM7B,KAChEsnB,EAAqB,CAACtT,iBAAgBC,mBAAiBtP,SAAS9C,EAAM7B,KACtEunB,EAAmB,CAAC7J,WAAUC,WAAShZ,SAAS9C,EAAM7B,KACtDwnB,EAAsB,CAAC5J,YAAWC,aAAWlZ,SAAS9C,EAAM7B,KAE5D0mB,EAAmB7kB,EAAMY,OAAO2M,QAnzBV,yBAqzB5B,KAAKiY,GAAoBD,GAAkBE,GAAuBC,GAC5DC,GAAuBd,GAC3B,OAGF,GAAIS,IAAYC,EACd,OAGF,MAAMK,EAAkB/kB,KAAK0M,QAAQuC,wBACnCjP,KACCoM,eAAeU,KAAK9M,KAAMiP,wBAAsB,IAC/C7C,eAAea,KAAKjN,KAAMiP,wBAAsB,IAChD7C,eAAeG,QAAQ0C,uBAAsB9P,EAAME,eAAeY,YAEtE,IAAK8kB,EACH,OAGF,MAAMxnB,EAAW0f,KAAKtR,oBAAoBoZ,GAE1C,KAAKH,GAAsBC,GAAqBC,GAAuBd,KAAsBzmB,EAASqmB,sBAAsBzkB,GAA5H,CAIA,GAAIwlB,EAKF,OAJAxlB,EAAM2O,iBACN3O,EAAMsiB,kBACNlkB,EAAS6a,YACT7a,EAASmmB,gBAAgBvkB,GAI3B,GAAIulB,GAAiBnnB,EAAS2a,WAAY,CACxC/Y,EAAM2O,iBACN3O,EAAMsiB,kBAEN,MAAMkC,EAAcxkB,EAAMY,OAAOoH,QA51BjB,SA61BVgd,EAAuBR,GAAaxc,QA51BvB,YA81BnB,GAAIgd,GAAwB5mB,EAASkgB,cAAc9f,KAAO,EAAG,CAC3D,MAAMymB,EAAgBhY,eAAeG,QA91Bb,wBA81B8C4X,GAMtE,OALA5mB,EAASmkB,cAAciC,EAAaQ,QAChCC,GACFA,EAAchG,QAIlB,CAEA7gB,EAAS4a,OACT4M,EAAgB3G,OAClB,CA7BA,CA8BF,EAOF7e,aAAa2C,GAAG6D,SAAUuV,uBAAwBrM,uBAAsBgO,KAAKuH,uBAC7EjlB,aAAa2C,GAAG6D,SAAUuV,uBAp3BJ,QAo3B2C2B,KAAKuH,uBACtEjlB,aAAa2C,GAAG6D,SAAUmJ,uBAAsB+N,KAAKoH,YACrD9kB,aAAa2C,GAAG6D,SAAUwV,qBAAsB0B,KAAKoH,YACrD9kB,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9EA,EAAM2O,iBACNmP,KAAKtR,oBAAoB3L,MAAMoP,QACjC,GC/6BA,MAAMvF,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf6L,WAAa,SACbC,QAAU,MACVC,eAAe,UACfC,iBAAiB,YACjBC,WAAW,OACXC,UAAU,MACVC,UAAY,QACZC,UAAY,IAEZ6J,eAAe,SAAS3Z,cACxBuL,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxB6D,uBAAuB,QAAQ7D,uBAE/BqD,kBAAkB,OAClBuW,oBAAsB,WACtBC,uBAAyB,uBAEzBjW,uBAAuB,8BACvBuM,gBAAgB,QAChB2J,mBAAqB,4BACrBvJ,uBAAyB,0DACzBwJ,eAAiB,kBACjBC,sBAAwB,yBACxBC,oBAAsB,uBAEtB3b,UAAU,CACd4S,SAAU,kBACVgJ,UAAU,EACV1Z,KAAM,KACN6Q,OAAQ,CAAC,EAAG,GACZ8I,YAAa,GACb1L,UAAW,eACX2L,QAAQ,EACRC,iBAAiB,GAGb9b,cAAc,CAClB2S,SAAU,mBACVgJ,SAAU,UACV1Z,KAAM,gBACN6Q,OAAQ,0BACR8I,YAAa,SACb1L,UAAW,SACX2L,OAAQ,UACRC,gBAAiB,WAOnB,MAAMC,iBAAiB5a,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK4lB,QAAU5lB,KAAKiL,SACpBjL,KAAK4d,MAAQxR,eAAea,KAAKjN,KAAK4lB,QAtCpB,SAsC4C,GAC9D5lB,KAAK6lB,cAAgBzZ,eAAeG,QAAQ6Y,eAAgBplB,KAAK4lB,SACjE5lB,KAAK8lB,aAAe1Z,eAAeG,QAAQ8Y,sBAAuBrlB,KAAK4d,OACvE5d,KAAK+lB,WAAa3Z,eAAeG,QAAQ+Y,oBAAqBtlB,KAAK4d,OACnE5d,KAAKgmB,aAAe,KACpBhmB,KAAKimB,cAAgB,KAErBjmB,KAAKkmB,qBACLlmB,KAAKmmB,sBACLnmB,KAAKomB,wBACLpmB,KAAKiU,oBACP,CAGA,kBAAWtK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,SACE,OAAOpP,KAAKkY,WAAalY,KAAKmY,OAASnY,KAAKoY,MAC9C,CAEAA,OACM/Q,WAAWrH,KAAK4lB,UAAY5lB,KAAKkY,YAInB3Y,aAAaoD,QAAQ3C,KAAK4lB,QAAShP,cACvC/H,mBAId7O,KAAKimB,cAAc7N,OAEfpY,KAAK8lB,eACP9lB,KAAK8lB,aAAa1iB,MAAQ,GAC1BpD,KAAKqmB,aAAa,IAClBpC,sBAAsB,IAAMjkB,KAAK8lB,aAAa1H,UAGhD7e,aAAaoD,QAAQ3C,KAAK4lB,QAAS/O,eACrC,CAEAsB,OACOnY,KAAKkY,aAIQ3Y,aAAaoD,QAAQ3C,KAAK4lB,QAAS9O,cACvCjI,mBAId7O,KAAKimB,cAAc9N,OACnB5Y,aAAaoD,QAAQ3C,KAAK4lB,QAAS7O,iBACrC,CAEA3L,UACMpL,KAAKimB,gBACPjmB,KAAKimB,cAAc7a,UACnBpL,KAAKimB,cAAgB,MAGnBjmB,KAAKgmB,eACPhmB,KAAKgmB,aAAa/nB,SAClB+B,KAAKgmB,aAAe,MAGtBzmB,aAAaC,IAAIQ,KAAK4d,MAAOvS,aAC7B9L,aAAaC,IAAIQ,KAAK4lB,QAASva,aAE/BL,MAAMI,SACR,CAGA8M,WACE,OAAOlY,KAAK4d,MAAMpW,UAAUrG,SAhIR,OAiItB,CAEA+kB,qBACE,MAAMra,KAAEA,GAAS7L,KAAKkL,QACjBW,IAIL7L,KAAKgmB,aAAejgB,SAASugB,cAAc,SAC3CtmB,KAAKgmB,aAAavmB,KAAO,SACzBO,KAAKgmB,aAAana,KAAOA,EACzB7L,KAAKgmB,aAAa5iB,MAAQ,GAC1BpD,KAAK4lB,QAAQ3lB,WAAWsmB,aAAavmB,KAAKgmB,aAAchmB,KAAK4lB,SAC/D,CAEAO,sBACEnmB,KAAKimB,cAAgB,IAAIhJ,KAAKjd,KAAK4lB,QAAS,CAC1ChJ,KAAM5c,KAAK4d,MACXtB,WAAWtc,KAAKkL,QAAQqa,UAAW,UACnChJ,SAAUvc,KAAKkL,QAAQqR,SACvBG,OAAQ1c,KAAKkL,QAAQwR,OACrB5C,UAAW9Z,KAAKkL,QAAQ4O,WAE5B,CAEAsM,wBACwBpmB,KAAKwmB,oBACT9jB,OAAS,GACzB1C,KAAKymB,oBACLzmB,KAAK0mB,sBAEL1mB,KAAK2mB,kBAET,CAEA1S,qBACE1U,aAAa2C,GAAGlC,KAAK4d,MAAO,QAASuH,mBAAoBhmB,IACvD,MAAMynB,EAAOznB,EAAMY,OAAOoH,QAAQge,oBAC7ByB,IAAQvf,WAAWuf,KAIxBznB,EAAM2O,iBACN3O,EAAMsiB,kBACNzhB,KAAK6mB,YAAYD,MAGnBrnB,aAAa2C,GAAGlC,KAAK4lB,QAAS,UAAWzmB,IACvCa,KAAK8mB,qBAAqB3nB,KAG5BI,aAAa2C,GAAGlC,KAAK4d,MAAO,UAAWze,IACrCa,KAAK+mB,mBAAmB5nB,KAGtBa,KAAK8lB,eACPvmB,aAAa2C,GAAGlC,KAAK8lB,aAAc,QAAS,KAC1C9lB,KAAKqmB,aAAarmB,KAAK8lB,aAAa1iB,SAGtC7D,aAAa2C,GAAGlC,KAAK8lB,aAAc,UAAW3mB,IAC5C,GA3Me,cA2MXA,EAAM7B,IAAwB,CAChC6B,EAAM2O,iBACN,MAAM6G,EAAQ3U,KAAKgnB,mBACfrS,EAAMjS,OAAS,GACjBiS,EAAM,GAAGyJ,OAEb,CApNW,WAsNPjf,EAAM7B,MACR0C,KAAKmY,OACLnY,KAAK4lB,QAAQxH,WAIrB,CAEAyI,YAAYD,GACV,GAAI5mB,KAAKkL,QAAQqa,SACfqB,EAAKpf,UAAU4H,OA/MO,YAgNtBwX,EAAK1iB,aAAa,gBAAiB0iB,EAAKpf,UAAUrG,SAhN5B,iBAiNjB,CACL,MAAM8lB,EAAqB7a,eAAe3L,KAAK,YAA2BT,KAAK4d,OAC/E,IAAK,MAAM9Q,KAAQma,EACjBna,EAAKtF,UAAUvJ,OApNK,YAqNpB6O,EAAK5I,aAAa,gBAAiB,SAGrC0iB,EAAKpf,UAAU0J,IAxNO,YAyNtB0V,EAAK1iB,aAAa,gBAAiB,OACrC,CAEAlE,KAAKymB,oBACLzmB,KAAK0mB,qBAEL,MAAMtjB,EAAQpD,KAAKkL,QAAQqa,SACzBvlB,KAAKwmB,oBAAoBva,IAAIoB,GAAMA,EAAG7I,QAAQ0iB,SAC9CN,EAAKpiB,QAAQ0iB,QAEf3nB,aAAaoD,QAAQ3C,KAAK4lB,QAASZ,eAAc,CAC/C5hB,QACAwjB,SAGG5mB,KAAKkL,QAAQqa,WAChBvlB,KAAKmY,OACLnY,KAAK4lB,QAAQxH,QAEjB,CAEAqI,oBACE,MAAMU,EAAgBnnB,KAAKwmB,oBAE3B,GAA6B,IAAzBW,EAAczkB,OAOlB,GAFA1C,KAAK6lB,cAAcre,UAAUvJ,OArPF,wBAuPvB+B,KAAKkL,QAAQqa,UAAY4B,EAAczkB,OAAS,EAClD1C,KAAK6lB,cAAcuB,YAAc,GAAGD,EAAczkB,sBAC7C,CACL,MAAMkkB,EAAOO,EAAc,GACrBE,EAAQjb,eAAeG,QAAQ,wCAAyCqa,GAC9E5mB,KAAK6lB,cAAcuB,YAAcC,EAAQA,EAAMD,YAAcR,EAAKQ,YAAYpb,MAChF,MAZEhM,KAAK2mB,kBAaT,CAEAA,mBACE,MAAMnB,YAAEA,GAAgBxlB,KAAKkL,QACzBsa,IACFxlB,KAAK6lB,cAAcuB,YAAc5B,EACjCxlB,KAAK6lB,cAAcre,UAAU0J,IApQJ,wBAsQ7B,CAEAwV,qBACE,IAAK1mB,KAAKgmB,aACR,OAGF,MACMxlB,EADgBR,KAAKwmB,oBACEva,IAAIoB,GAAMA,EAAG7I,QAAQ0iB,SAClDlnB,KAAKgmB,aAAa5iB,MAAQpD,KAAKkL,QAAQqa,SAAW/kB,EAAO2L,KAAK,KAAQ3L,EAAO,IAAM,EACrF,CAEAgmB,oBACE,OAAOpa,eAAe3L,KAAK,YAA2BT,KAAK4d,MAC7D,CAEAoJ,mBACE,OAAO5a,eAAe3L,KAAKmb,uBAAwB5b,KAAK4d,OACrDnZ,OAAOmiB,GAAQ9f,UAAU8f,GAC9B,CAEAP,aAAaiB,GACX,MAAMC,EAAkBvnB,KAAKwnB,eAAeF,EAAMvjB,cAAciI,QAC1D2I,EAAQvI,eAAe3L,KAAK0kB,mBAAoBnlB,KAAK4d,OAC3D,IAAI6J,EAAe,EAEnB,IAAK,MAAMb,KAAQjS,EAAO,CACxB,MAAM+S,EAAO1nB,KAAKwnB,eAAeZ,EAAKQ,YAAYrjB,cAAciI,QAC1DU,GAAW6a,GAAmBG,EAAKzlB,SAASslB,GAClDX,EAAKlO,MAAM+D,QAAU/P,EAAU,GAAK,OAChCA,GACF+a,GAEJ,CAEIznB,KAAK+lB,YACP/lB,KAAK+lB,WAAWve,UAAU4H,OAAO,SAAUqY,EAAe,EAE9D,CAEAD,eAAeE,GACb,OAAI1nB,KAAKkL,QAAQwa,gBACRgC,EAAKC,UAAU,OAAOpmB,QAAQ,mBAAoB,IAGpDmmB,CACT,CAEAZ,qBAAqB3nB,GACnB,MAAM7B,IAAEA,GAAQ6B,EAEhB,GAxUmB,cAwUf7B,GAzUa,YAyUaA,EAAsB,CAClD6B,EAAM2O,iBACD9N,KAAKkY,YACRlY,KAAKoY,OAGP,MAAMzD,EAAQ3U,KAAKgnB,mBAMnB,YALIrS,EAAMjS,OAAS,IA/UF,cAgVApF,EAAyBqX,EAAM,GAAKA,EAAMA,EAAMjS,OAAS,IACjE0b,QAIX,CAlVc,UAoVT9gB,GAnVS,MAmVYA,GAAuB0C,KAAKkY,aACpD/Y,EAAM2O,iBACN9N,KAAKoY,OAET,CAEA2O,mBAAmB5nB,GACjB,MAAM7B,IAAEA,EAAGyC,OAAEA,GAAWZ,EAExB,GAnWe,WAmWX7B,EAKF,OAJA6B,EAAM2O,iBACN3O,EAAMsiB,kBACNzhB,KAAKmY,YACLnY,KAAK4lB,QAAQxH,QAIf,GA1WY,QA0WR9gB,EAEF,YADA0C,KAAKmY,OAIP,MAAMsM,EAAU1kB,EAAO2M,QAAQ,SAE/B,GA/WmB,cA+WfpP,GAhXa,YAgXaA,EAAsB,CAClD6B,EAAM2O,iBACN,MAAM6G,EAAQ3U,KAAKgnB,mBAKnB,YAJIrS,EAAMjS,OAAS,GACjBsG,qBAAqB2L,EAAO5U,EAnXb,cAmXqBzC,GAAyBqX,EAAM1S,SAASlC,IAASqe,QAIzF,CAEA,GAxXa,SAwXT9gB,GAvXQ,QAuXYA,EAAiB,CACvC6B,EAAM2O,iBACN,MAAM6G,EAAQ3U,KAAKgnB,mBAMnB,YALIrS,EAAMjS,OAAS,IA3XR,SA4XUpF,EAAmBqX,EAAM,GAAKA,EAAMA,EAAMjS,OAAS,IAC3D0b,QAIf,CAEA,IAjYc,UAiYT9gB,GAhYS,MAgYYA,KAAuBmnB,EAAS,CACxDtlB,EAAM2O,iBACN,MAAM8Y,EAAO7mB,EAAOoH,QAAQge,oBACxByB,IAASvf,WAAWuf,IACtB5mB,KAAK6mB,YAAYD,EAErB,CACF,CAGA,sBAAOgB,CAAgB5d,GACrB,OAAOhK,KAAK6nB,KAAK,WACf,MAAMzZ,EAAOuX,SAASha,oBAAoB3L,KAAMgK,GAEhD,GAAsB,iBAAXA,EAAX,CAIA,QAA4B,IAAjBoE,EAAKpE,GACd,MAAM,IAAIY,UAAU,oBAAoBZ,MAG1CoE,EAAKpE,IANL,CAOF,EACF,EAOFzK,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9EA,EAAM2O,iBACN6X,SAASha,oBAAoB3L,MAAMoP,QACrC,GAEA7P,aAAa2C,GAAG6D,SAAU,mBAAoB,KAC5C,IAAK,MAAMqJ,KAAUhD,eAAe3L,KAAKwO,wBACvC0W,SAASha,oBAAoByD,KCnbjC,MAAMvF,OAAO,aACPsB,WAAW,gBACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfiW,eAAe,SAAS3Z,cACxBuL,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxB6D,uBAAuB,QAAQ7D,uBAC/Byc,uBAAyB,UAAUzc,uBAEnC4D,uBAAuB,gCAEvB8Y,WAAa,IAEbpe,UAAU,CACdqe,gBAAiB,KACjBC,QAAS,KACTC,QAAS,KACTC,WAAY,KACZC,eAAgB,KAChBC,mBAAoB,EACpBC,aAAc,EACdC,QAAQ,EACRC,OAAQ,UACRC,gBAAiB,KACjBC,cAAe,GACfC,cAAe,SACf7O,UAAW,OACX8O,WAAY,IAGRhf,cAAc,CAClBoe,gBAAiB,gBACjBC,QAAS,8BACTC,QAAS,8BACTC,WAAY,yBACZC,eAAgB,gCAChBC,mBAAoB,SACpBC,aAAc,SACdC,OAAQ,UACRC,OAAQ,SACRC,gBAAiB,wBACjBC,cAAe,QACfC,cAAe,SACf7O,UAAW,SACX8O,WAAY,UAOd,MAAMC,mBAAmB9d,cACvBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK8oB,UAAY,KACjB9oB,KAAKkY,UAAW,EAEhBlY,KAAK+oB,eACP,CAGA,kBAAWpf,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,SACE,IAAIpP,KAAKkL,QAAQqd,OAIjB,OAAOvoB,KAAKkY,SAAWlY,KAAKmY,OAASnY,KAAKoY,MAC5C,CAEAA,OACMpY,KAAKkL,QAAQqd,SAIZvoB,KAAK8oB,WAAazhB,WAAWrH,KAAKiL,WAAajL,KAAKkY,UAIvC3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,cACxC/H,mBAId7O,KAAK8oB,UAAU1Q,OACfpY,KAAKkY,UAAW,EAEhB3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,eACtC,CAEAsB,OACMnY,KAAKkL,QAAQqd,QAIZvoB,KAAK8oB,WAAc9oB,KAAKkY,WAIX3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cACxCjI,mBAId7O,KAAK8oB,UAAU3Q,OACfnY,KAAKkY,UAAW,EAEhB3Y,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBACtC,CAEA3L,UACMpL,KAAKgpB,iBACPhpB,KAAKgpB,eAAeC,aACpBjpB,KAAKgpB,eAAiB,MAGpBhpB,KAAK8oB,WACP9oB,KAAK8oB,UAAUI,UAGjBlpB,KAAK8oB,UAAY,KACjB9d,MAAMI,SACR,CAEA+d,mBACE,MAAMC,EAAQppB,KAAK8oB,WAAWO,SAASX,cACvC,OAAOU,EAAQ,IAAIA,GAAS,EAC9B,CAEAE,iBAAiBF,GACXppB,KAAK8oB,WACP9oB,KAAK8oB,UAAU1rB,IAAI,CAAEsrB,cAAeU,GAExC,CAGAL,gBACE/oB,KAAKupB,SAAqC,UAA1BvpB,KAAKiL,SAAS4C,QAC9B7N,KAAKwpB,UAAYxpB,KAAKkL,QAAQqd,OAG1BvoB,KAAKwpB,YAAcxpB,KAAKupB,WAC1BvpB,KAAKypB,YAAczpB,KAAKiL,SAASpE,cAAc,sCAGjD7G,KAAK0pB,iBAAmB1pB,KAAK2pB,0BAC7B3pB,KAAK4pB,gBAAkB5pB,KAAK6pB,yBAE5B,MAAMC,EAAkB9pB,KAAK+pB,wBAI7B/pB,KAAK8oB,UAAY,IAAIkB,SAAShqB,KAAK0pB,iBAAkBI,GACrD9pB,KAAK8oB,UAAUmB,OAGfjqB,KAAKkqB,sBAGDlqB,KAAKupB,UAAYvpB,KAAKiL,SAAS7H,OACjCpD,KAAKmqB,mBAIPnqB,KAAKoqB,iCACP,CAEAA,kCACE,MAAM1B,cAAEA,GAAkB1oB,KAAKkL,QAC/B,IAAKwd,GAA0C,IAAzBA,EAAchmB,OAClC,OAGF,MAAM2nB,EAAgBrqB,KAAKsqB,oBAAoB5B,GAE3C1oB,KAAKupB,WACPvpB,KAAKiL,SAAS7H,MAAQinB,GAGpBrqB,KAAKypB,cACPzpB,KAAKypB,YAAYrmB,MAAQslB,EAAcvc,KAAK,MAG1CnM,KAAK4pB,kBACP5pB,KAAK4pB,gBAAgBxC,YAAciD,EAEvC,CAEAV,0BACE,IAAIlB,gBAAEA,GAAoBzoB,KAAKkL,QAO/B,GAL+B,iBAApBud,IACTA,EAAkB1iB,SAASc,cAAc4hB,KAItCA,GAAmBzoB,KAAKupB,WAAavpB,KAAKwpB,UAAW,CACxD,MAAMhS,EAASxX,KAAKiL,SAAS9D,QAAQ,eACjCqQ,IACFiR,EAAkBjR,EAEtB,CAEA,OAAOiR,GAAmBzoB,KAAKiL,QACjC,CAEA4e,yBACE,MAAMzB,eAAEA,GAAmBpoB,KAAKkL,QAEhC,MAA8B,iBAAnBkd,EACFriB,SAASc,cAAcuhB,IAIT,IAAnBA,GAA+C,OAAnBA,IAA4BpoB,KAAKupB,WAAavpB,KAAKwpB,UAC5DxpB,KAAKiL,SAASpE,cAAc,iCAC1B7G,KAAKiL,SAGvBmd,CACT,CAEAmC,oBACE,OAAOvqB,KAAKiL,SAAS9D,QAAQ,kBAC/B,CAEAqjB,qBAEE,MAAMxC,gBAAEA,GAAoBhoB,KAAKkL,QACjC,GAAI8c,EACF,OAAOA,EAGT,MAAMpb,EAAW5M,KAAKuqB,oBACtB,OAAO3d,GAAU/H,aAAa,kBAAoB,IACpD,CAEA4lB,oBAAoBptB,GAClB,IAAKA,EACH,OAGF,MAAMqtB,EAAQ1qB,KAAKwqB,qBAEfE,EAEFrtB,EAAQ6G,aAAa,gBAAiBwmB,GAGtCrtB,EAAQ+G,gBAAgB,gBAE5B,CAEA8lB,sBAEE,MAAMtd,EAAW5M,KAAKuqB,oBACjB3d,IAAY5M,KAAKkL,QAAQ8c,kBAK9BhoB,KAAKgpB,eAAiB,IAAI2B,iBAAiB,KACzC3qB,KAAKyqB,oBAAoBzqB,KAAK8oB,WAAWO,SAASuB,eAGpD5qB,KAAKgpB,eAAe6B,QAAQje,EAAU,CACpCtI,YAAY,EACZwmB,gBAAiB,CAAC,mBAEtB,CAEAf,wBAEE,MAAMW,EAAQ1qB,KAAKwqB,qBAEbO,EAAYL,GAAmB,SAAVA,EAA8BA,EAAX,SAExCZ,EAAkB,IACnB9pB,KAAKkL,QAAQ0d,WAChBoC,WAAYhrB,KAAKwpB,UACjByB,gBAAiBjrB,KAAKkL,QAAQ4O,UAC9BwO,aAActoB,KAAKkL,QAAQod,aAC3BE,OAAQxoB,KAAKkL,QAAQsd,OACrB0C,mBAAoBlrB,KAAKkL,QAAQyd,cACjCD,cAAe1oB,KAAKkL,QAAQwd,cAC5BL,mBAAoBroB,KAAKkL,QAAQmd,mBACjC5oB,KAAMO,KAAKkL,QAAQmd,mBAAqB,EAAI,WAAa,UACzD8C,cAAeJ,EACfK,gBAAiB,kBACjBC,YAAaA,CAACC,EAAMnsB,IAAUa,KAAKurB,iBAAiBD,EAAMnsB,GAC1DqsB,OAAQF,IACNtrB,KAAKyqB,oBAAoBa,EAAKjC,QAAQuB,cAExCa,OAAQA,KACNzrB,KAAKkY,UAAW,EAChBlY,KAAKyqB,oBAAoBzqB,KAAK8oB,UAAUO,QAAQuB,cAElDc,OAAQA,KACN1rB,KAAKkY,UAAW,IAKpB,GAAIlY,KAAKkL,QAAQwd,cAAchmB,OAAS,EAAG,CACzC,MAAMipB,EAAY3rB,KAAK4rB,WAAW5rB,KAAKkL,QAAQwd,cAAc,IAC7DoB,EAAgB+B,cAAgBF,EAAUG,WAC1ChC,EAAgBiC,aAAeJ,EAAUK,aAC3C,CAUA,OARIhsB,KAAKkL,QAAQ+c,UACf6B,EAAgB7B,QAAUjoB,KAAKkL,QAAQ+c,SAGrCjoB,KAAKkL,QAAQgd,UACf4B,EAAgB5B,QAAUloB,KAAKkL,QAAQgd,SAGlC4B,CACT,CAEAyB,iBAAiBD,EAAMnsB,GACrB,MAAMupB,EAAgB,IAAI4C,EAAKjC,QAAQX,eAEvC,GAAIA,EAAchmB,OAAS,EAAG,CAC5B,MAAM2nB,EAAgBrqB,KAAKsqB,oBAAoB5B,GAE3C1oB,KAAKupB,WACPvpB,KAAKiL,SAAS7H,MAAQinB,GAGpBrqB,KAAKypB,cACPzpB,KAAKypB,YAAYrmB,MAAQslB,EAAcvc,KAAK,MAG1CnM,KAAK4pB,kBACP5pB,KAAK4pB,gBAAgBxC,YAAciD,EAEvC,CAEA9qB,aAAaoD,QAAQ3C,KAAKiL,SAAU+Z,eAAc,CAChDoE,MAAOV,EACPvpB,UAGFa,KAAKisB,yBAAyBvD,EAChC,CAEAuD,yBAAyBvD,GACnB1oB,KAAKwpB,YAKyB,WAA/BxpB,KAAKkL,QAAQyd,eAA8BD,EAAchmB,OAAS,GACnC,oBAA/B1C,KAAKkL,QAAQyd,eAAuCD,EAAchmB,QAAU,IAG7EqG,WAAW,IAAM/I,KAAKmY,OAvWT,IAyWjB,CAEAyT,WAAWM,GACT,MAAOC,EAAMC,EAAOC,GAAOH,EAAQ1lB,MAAM,KACzC,OAAO,IAAIkc,KAAKyJ,EAAMC,EAAQ,EAAGC,EACnC,CAEAC,YAAYJ,GACV,MAAMK,EAAOvsB,KAAK4rB,WAAWM,GACvB1D,EAAiC,YAAxBxoB,KAAKkL,QAAQsd,YAAuBzO,EAAY/Z,KAAKkL,QAAQsd,QACtEL,WAAEA,GAAenoB,KAAKkL,QAG5B,MAA0B,mBAAfid,EACFA,EAAWoE,EAAM/D,GAItBL,GAAoC,iBAAfA,EAChB,IAAIqE,KAAKC,eAAejE,EAAQL,GAAYuE,OAAOH,GAIrDA,EAAKI,mBAAmBnE,EACjC,CAEA8B,oBAAoBlB,GAClB,GAAqB,IAAjBA,EAAM1mB,OACR,MAAO,GAGT,GAAqB,IAAjB0mB,EAAM1mB,OACR,OAAO1C,KAAKssB,YAAYlD,EAAM,IAIhC,MAAMwD,EAA2C,oBAA/B5sB,KAAKkL,QAAQyd,cAAsC,MAAQ,KAC7E,OAAOS,EAAMnd,IAAI4gB,GAAK7sB,KAAKssB,YAAYO,IAAI1gB,KAAKygB,EAClD,CAEAzC,mBAEE,MAAM/mB,EAAQpD,KAAKiL,SAAS7H,MAAM4I,OAClC,IAAK5I,EACH,OAGF,MAAMmpB,EAAO,IAAI7J,KAAKtf,GACtB,IAAKI,OAAOspB,MAAMP,EAAKQ,WAAY,CACjC,MAGMC,EAAY,GAHLT,EAAKP,iBACJiB,OAAOV,EAAKT,WAAa,GAAGoB,SAAS,EAAG,QAC1CD,OAAOV,EAAKY,WAAWD,SAAS,EAAG,OAE/CltB,KAAK8oB,UAAU1rB,IAAI,CAAEsrB,cAAe,CAACsE,IACvC,CACF,EAOFztB,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAGzD,UAAjBa,KAAK6N,SAAiD,SAA1B7N,KAAKwE,QAAQ4oB,WAI7CjuB,EAAM2O,iBACN+a,WAAWld,oBAAoB3L,MAAMoP,SACvC,GAEA7P,aAAa2C,GAAG6D,SAAU+hB,uBAAwB7Y,uBAAsB,WAEjD,UAAjBjP,KAAK6N,SAITgb,WAAWld,oBAAoB3L,MAAMoY,MACvC,GAGA7Y,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW0I,SAASjG,iBAAiB,GAAGmP,iDACjD4Z,WAAWld,oBAAoBtO,KC9cnC,MAAMgwB,gBAAkB,cAexB,MAAMC,mBAAmBviB,cACvBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK0X,kBAAmB,EACxB1X,KAAKutB,gBAAiB,EACtBvtB,KAAKwtB,qBACP,CAIA,eAAW3jB,GACT,MAAO,YACT,CAIA4jB,cAAaC,MAAEA,GAAQ,EAAIC,kBAAEA,GAAoB,GAAS,IACxD3tB,KAAKutB,eAAiBG,EAElBA,EACF1tB,KAAKiL,SAAS2iB,YAEd5tB,KAAKiL,SAASmN,OAGZuV,GACF5nB,SAASoY,KAAK3W,UAAU0J,IA1CN,cA4CtB,CAEA2c,eACE7tB,KAAK8tB,uBACL9tB,KAAKiL,SAAS2D,QACd5O,KAAKutB,gBAAiB,EAGjBxnB,SAASc,cAAc,uBAC1Bd,SAASoY,KAAK3W,UAAUvJ,OArDN,cAuDtB,CAKA6vB,uBAGE,IAAK,MAAMzgB,KAAMjB,eAAe3L,KAFf,yDAE8BT,KAAKiL,UAAW,CAC7D,MAAM1N,EAAWwN,cAAcW,YAAY2B,GACvC9P,GAAqC,mBAAlBA,EAAS4a,MAC9B5a,EAAS4a,MAEb,CAGA,IAAK,MAAM9K,KAAMjB,eAAe3L,KAAK,cAAeT,KAAKiL,UAAW,CAClE,MAAM1N,EAAWwN,cAAcW,YAAY2B,GACvC9P,GAAqC,mBAAlBA,EAAS4a,MAC9B5a,EAAS4a,MAEb,CACF,CAEA4V,6BAME,GAL2BxuB,aAAaoD,QACtC3C,KAAKiL,SACLjL,KAAKqK,YAAYuB,UAAU,kBAGNiD,iBACrB,OAGF,MAAMmf,EAAchuB,KAAKiuB,sBACzBjuB,KAAKiL,SAASzD,UAAU0J,IAAI8c,GAC5BhuB,KAAKwL,eAAe,KAClBxL,KAAKiL,SAASzD,UAAUvJ,OAAO+vB,IAC9BhuB,KAAKiL,SACV,CAGAgjB,sBACE,MAAO,eACT,CAIAT,sBACE,MAAMU,EAAWluB,KAAKqK,YAAYgB,UAKlC9L,aAAa2C,GAAGlC,KAAKiL,SAAU,SAAU9L,IAEvCA,EAAM2O,iBAED9N,KAAKkL,QAAQmI,UAKlBrT,KAAKmuB,YACLnuB,KAAKmY,QALHnY,KAAK+tB,+BASTxuB,aAAa2C,GAAGlC,KAAKiL,SAAU,UAAUijB,IAAY/uB,IACjC,WAAdA,EAAM7B,KAAoB0C,KAAKutB,iBAInCpuB,EAAM2O,iBAED9N,KAAKkL,QAAQmI,WAIlBrT,KAAKmuB,YACLnuB,KAAKmY,WAKP5Y,aAAa2C,GAAGlC,KAAKiL,SAAU,QAAQijB,IAAY/uB,IAE7CA,EAAMY,SAAWC,KAAKiL,UAAajL,KAAKutB,iBAId,WAA1BvtB,KAAKkL,QAAQkjB,SAKjBpuB,KAAKmY,OAJHnY,KAAK+tB,+BAMX,CAGAI,YACE,EC1JJ,MAAMtkB,OAAO,SACPsB,WAAW,YACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf6H,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxBgjB,aAAe,SAAShjB,cACxB6D,uBAAuB,QAAQ7D,uBAE/BijB,oBAAsB,kBAEtBrf,uBAAuB,4BAEvBtF,UAAU,CACdykB,UAAU,EACV/a,UAAU,EACVqa,OAAO,GAGH9jB,cAAc,CAClBwkB,SAAU,mBACV/a,SAAU,UACVqa,MAAO,WAOT,MAAMa,eAAejB,WAEnB,kBAAW3jB,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,OAAOlO,GACL,OAAOlB,KAAKiL,SAASujB,KAAOxuB,KAAKmY,OAASnY,KAAKoY,KAAKlX,EACtD,CAEAkX,KAAKlX,GACClB,KAAKiL,SAASujB,MAAQxuB,KAAK0X,kBAIbnY,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,aAAY,CAChE1V,kBAGY2N,mBAId7O,KAAK0X,kBAAmB,EAEnB1X,KAAKkL,QAAQwiB,OAChB1tB,KAAKiL,SAASzD,UAAU0J,IAvDF,mBA0DxBlR,KAAKytB,aAAa,CAChBC,MAAO1tB,KAAKkL,QAAQwiB,MACpBC,kBAAmB3tB,KAAKkL,QAAQwiB,QAIlC1tB,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,cAAa,CAC/C3V,mBAEDlB,KAAKiL,UAAU,GACpB,CAEAkN,OACOnY,KAAKiL,SAASujB,OAAQxuB,KAAK0X,mBAIdnY,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cAExCjI,mBAId7O,KAAK0X,kBAAmB,EAIxB1X,KAAK6tB,eACL7tB,KAAKiL,SAASzD,UAAUvJ,OAxFA,mBA0FxB+B,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBACnC/W,KAAKiL,UAAU,IACpB,CAEAwjB,eAEE,CAIFN,YACE5uB,aAAaoD,QAAQ3C,KAAKiL,SAAUojB,aACtC,EAOF9uB,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9E,MAAMY,EAASqM,eAAemB,uBAAuBvN,MAEjD,CAAC,IAAK,QAAQiC,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGRvO,aAAa4C,IAAIpC,EAAQ6W,aAAY8X,IAC/BA,EAAU7f,kBAIdtP,aAAa4C,IAAIpC,EAAQgX,eAAc,KACjCjQ,UAAU9G,OACZA,KAAKoe,YAMX,MAAMpU,EAAShG,YAAYK,kBAAkBrE,MAGvC2uB,EAAgB3uB,KAAKmH,QAAQ,gBAGnC,GAFmBwnB,GAAiBA,IAAkB5uB,EAEtC,CAEIwuB,OAAO5iB,oBAAoB5L,EAAQiK,GAC3CoO,KAAKpY,MAGf,MAAM4uB,EAAkBL,OAAO7iB,YAAYijB,GAK3C,YAJIC,GACFA,EAAgBzW,OAIpB,CAEaoW,OAAO5iB,oBAAoB5L,EAAQiK,GAC3CoF,OAAOpP,KACd,GAEAyN,qBAAqB8gB,QC1KrB,MAAM1kB,OAAO,cACPsB,WAAW,iBACXE,YAAY,IAAIF,aAEhB0jB,aAAe,SAASxjB,cACxByjB,eAAiB,WAAWzjB,cAE5B0jB,oBAAsB,eACtBC,yBAA2B,oBAC3BC,kBAAoB,SAEpBC,kBAAoB,YACpBC,kBAAoB,YACpBC,yBAA2B,uBAC3BC,uBAAyB,qBACzBC,gBAAkB,oBAElB3lB,UAAU,CACd4lB,SAAU,OACVC,SAAU,sPACVC,UAAW,GAGP7lB,cAAc,CAClB2lB,SAAU,SACVC,SAAU,SACVC,UAAW,UAOb,MAAMC,oBAAoB3kB,cACxBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK2vB,OAAS,GACd3vB,KAAK4vB,eAAiB,GACtB5vB,KAAK6vB,cAAgB,KACrB7vB,KAAK8vB,gBAAkB,KACvB9vB,KAAK+vB,gBAAkB,KACvB/vB,KAAKgwB,gBAAiB,EAEtBhwB,KAAKiwB,OACP,CAGA,kBAAWtmB,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAgV,SACE7e,KAAKkwB,qBACL3wB,aAAaoD,QAAQ3C,KAAKiL,SAAU4jB,aACtC,CAEAzjB,UACMpL,KAAK+vB,iBACP/vB,KAAK+vB,gBAAgB9G,aAIvBjpB,KAAKmwB,gBAGDnwB,KAAK8vB,iBAAmB9vB,KAAK8vB,gBAAgBM,eAC/CpwB,KAAK8vB,gBAAgBM,cAAcnyB,SAGrC+M,MAAMI,SACR,CAGA6kB,QAEEjwB,KAAKiL,SAASzD,UAAU0J,IA9EA,gBAiFxBlR,KAAK2vB,OAAS,IAAIvjB,eAAe3L,KA7EX,YA6EmCT,KAAKiL,WAG9D,IAAK,MAAO3B,EAAOsd,KAAS5mB,KAAK2vB,OAAO3tB,UACtC4kB,EAAKpiB,QAAQ6rB,WAAa/mB,EAI5BtJ,KAAKswB,sBAGLtwB,KAAKuwB,uBAGLvwB,KAAKkwB,qBAELlwB,KAAKgwB,gBAAiB,CACxB,CAEAM,sBAIE,GAFAtwB,KAAK8vB,gBAAkB1jB,eAAeG,QAhGT,uBAgG2CvM,KAAKiL,UAEzEjL,KAAK8vB,gBAEP,YADA9vB,KAAK6vB,cAAgBzjB,eAAeG,QAlGX,qBAkG2CvM,KAAKiL,WAI3E,MAAMulB,EAAezqB,SAASugB,cAAc,MAC5CkK,EAAaC,UAAY,6BACzBD,EAAaE,UAAY,2LAEa1wB,KAAKkL,QAAQskB,4DACbxvB,KAAKkL,QAAQqkB,2FAKnDvvB,KAAKiL,SAASuV,OAAOgQ,GACrBxwB,KAAK8vB,gBAAkBU,EAAa3pB,cAlHP,wBAmH7B7G,KAAK6vB,cAAgBW,EAAa3pB,cAlHP,qBAmH7B,CAEA0pB,uBACgC,oBAAnBI,gBAMX3wB,KAAK+vB,gBAAkB,IAAIY,eAAe,KACxC3wB,KAAKkwB,uBAGPlwB,KAAK+vB,gBAAgBlF,QAAQ7qB,KAAKiL,WARhC1L,aAAa2C,GAAGgD,OAAQ,SAAU,IAAMlF,KAAKkwB,qBASjD,CAEAA,qBAEElwB,KAAKmwB,gBAEL,MAAMS,EAAW5wB,KAAKiL,SAAS4lB,YACzBL,EAAexwB,KAAK8vB,iBAAiB3oB,QAAQ,aAGnD,IAAI2pB,EAAY,EAChB,MAAMC,EAAkB,GAClBC,EAAoBJ,GAJJJ,GAAcK,aAAe,GAIE,GAGrD,IAAK,MAAMjK,KAAQ5mB,KAAK2vB,OAEtBmB,GADkBlK,EAAKiK,YAInBjK,EAAKpf,UAAUrG,SAASmuB,kBAIxBwB,EAAYE,GACdD,EAAgBlkB,KAAK+Z,GAMzB,GADqB5mB,KAAK2vB,OAAOjtB,OAASquB,EAAgBruB,OACvC1C,KAAKkL,QAAQukB,WAAazvB,KAAK2vB,OAAOjtB,OAAS1C,KAAKkL,QAAQukB,UAAW,CAExF,MAAMwB,EAASjxB,KAAK2vB,OAAOntB,MAAMxC,KAAKkL,QAAQukB,WAAWhrB,OAAOmiB,IAASA,EAAKpf,UAAUrG,SAASmuB,kBACjGyB,EAAgBruB,OAAS,EACzBquB,EAAgBlkB,QAAQokB,EAC1B,CAGAjxB,KAAKkxB,gBAAgBH,GAGjBP,IACEO,EAAgBruB,OAAS,EAC3B8tB,EAAahpB,UAAUvJ,OAlLL,UAoLlBuyB,EAAahpB,UAAU0J,IApLL,WAyLlB6f,EAAgBruB,OAAS,GAC3BnD,aAAaoD,QAAQ3C,KAAKiL,SAAU6jB,eAAgB,CAClDqC,cAAeJ,EAAgBruB,OAC/B+kB,aAAcznB,KAAK2vB,OAAOjtB,OAASquB,EAAgBruB,QAGzD,CAEAwuB,gBAAgBvc,GACd,GAAK3U,KAAK6vB,cAAV,CAKA7vB,KAAK6vB,cAAca,UAAY,GAC/B1wB,KAAK4vB,eAAiB,GAEtB,IAAK,MAAMhJ,KAAQjS,EAAO,CACxB,MAAMyc,EAAOhlB,eAAeG,QAxMR,YAwMmCqa,GACvD,IAAKwK,EACH,SAGF,MAAMC,EAAaD,EAAKE,WAAU,GAClCD,EAAWZ,UAAY,YAEnBW,EAAK5pB,UAAUrG,SAAS,WAC1BkwB,EAAW7pB,UAAU0J,IAAI,WAGvBkgB,EAAK5pB,UAAUrG,SAAS,aAAeiwB,EAAK1pB,aAAa,cAC3D2pB,EAAW7pB,UAAU0J,IAAI,YAG3BlR,KAAK6vB,cAAcrP,OAAO6Q,GAG1BzK,EAAKpf,UAAU0J,IA9NK,UA+NpB0V,EAAKpiB,QAAQ+sB,cAAgB,OAE7BvxB,KAAK4vB,eAAe/iB,KAAK+Z,EAC3B,CA9BA,CA+BF,CAEAuJ,gBACE,IAAK,MAAMvJ,KAAQ5mB,KAAK2vB,OACtB/I,EAAKpf,UAAUvJ,OAvOK,iBAwOb2oB,EAAKpiB,QAAQ+sB,cAGlBvxB,KAAK6vB,gBACP7vB,KAAK6vB,cAAca,UAAY,IAGjC1wB,KAAK4vB,eAAiB,EACxB,EAOFrwB,aAAa2C,GAAG6D,SAAU,mBAAoB,KAC5C,IAAK,MAAM1I,KAAW+O,eAAe3L,KAAK,mCACxCivB,YAAY/jB,oBAAoBtO,KC7PpC,MAAMwM,OAAO,YACPsB,WAAW,eACXE,YAAY,IAAIF,aAChB4D,eAAe,YACfoD,sBAAsB,OAAO9G,uBAE7BuL,aAAa,OAAOvL,cACpBwL,cAAc,QAAQxL,cACtByL,aAAa,OAAOzL,cACpB0L,eAAe,SAAS1L,cACxBmmB,aAAe,SAASnmB,cACxB6D,uBAAuB,QAAQ7D,uBAE/B4D,uBAAuB,+BAEvBtF,UAAU,CACdykB,UAAU,EACV/a,UAAU,EACVoe,QAAQ,GAGJ7nB,cAAc,CAClBwkB,SAAU,mBACV/a,SAAU,UACVoe,OAAQ,WAOV,MAAMC,kBAAkBpE,WAEtB,kBAAW3jB,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuF,OAAOlO,GACL,OAAOlB,KAAKiL,SAASujB,KAAOxuB,KAAKmY,OAASnY,KAAKoY,KAAKlX,EACtD,CAEAkX,KAAKlX,GACH,GAAIlB,KAAKiL,SAASujB,MAAQxuB,KAAK0X,iBAC7B,OAKF,GAFkBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,aAAY,CAAE1V,kBAEtD2N,iBACZ,OAGF7O,KAAK0X,kBAAmB,EAMxB,MAAMia,EAAWhwB,QAAQ3B,KAAKkL,QAAQkjB,YAAcpuB,KAAKkL,QAAQumB,OAEjEzxB,KAAKytB,aAAa,CAChBC,MAAOiE,EACPhE,mBAAoB3tB,KAAKkL,QAAQumB,SAKnCzxB,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,cAAa,CAAE3V,mBAClDlB,KAAKiL,UAAU,EACpB,CAEAkN,OACOnY,KAAKiL,SAASujB,OAAQxuB,KAAK0X,mBAIdnY,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,cAExCjI,mBAId7O,KAAK0X,kBAAmB,EAKxB1X,KAAK6tB,eAEL7tB,KAAKwL,eAAe,KAClBxL,KAAK0X,kBAAmB,EACxBnY,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,iBACnC/W,KAAKiL,UAAU,IACpB,CAGAgjB,sBACE,MAAO,kBACT,EAOF1uB,aAAa2C,GAAG6D,SAAUmJ,uBAAsBD,uBAAsB,SAAU9P,GAC9E,MAAMY,EAASqM,eAAemB,uBAAuBvN,MAMrD,GAJI,CAAC,IAAK,QAAQiC,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGJzG,WAAWrH,MACb,OAGFT,aAAa4C,IAAIpC,EAAQgX,eAAc,KAEjCjQ,UAAU9G,OACZA,KAAKoe,UAKT,MAAMwT,EAAcxlB,eAAeG,QAAQ,0BACvCqlB,GAAeA,IAAgB7xB,GACjC2xB,UAAUhmB,YAAYkmB,GAAazZ,OAGxBuZ,UAAU/lB,oBAAoB5L,GACtCqP,OAAOpP,KACd,GAEAT,aAAa2C,GAAGgD,OAAQiN,sBAAqB,KAC3C,IAAK,MAAMvS,KAAYwM,eAAe3L,KAAK,0BACzCixB,UAAU/lB,oBAAoB/L,GAAUwY,SAI5C7Y,aAAa2C,GAAGgD,OAAQssB,aAAc,KACpC,IAAK,MAAMn0B,KAAW+O,eAAe3L,KAAK,uCACG,UAAvC2F,iBAAiB/I,GAASujB,UAC5B8Q,UAAU/lB,oBAAoBtO,GAAS8a,SAK7C1K,qBAAqBikB,WCnKrB,MAAM7nB,OAAO,WACPsB,WAAW,cACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEf8iB,sBAAwB,iBAAiBxmB,cAEzCymB,uBAAyB,qBAEzBC,gBAAkB,CAAC,OAAQ,OAAQ,OAAQ,UAE3CpoB,UAAU,CACdqoB,MAAO,KACPC,UAAW,EACXC,SAAU,CACRC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,OAAQ,UAEVC,QAAS,CACPN,UAAW,EACXO,YAAa,EACbC,UAAW,EACXC,UAAW,EACXC,QAAS,EACTC,QAAS,EACTC,gBAAiB,EACjBC,aAAc,GAEhBC,WAAY,CAAC,EAAG,EAAG,GACnBC,OAAQ,MAGJppB,cAAc,CAClBooB,MAAO,wBACPC,UAAW,SACXC,SAAU,SACVK,QAAS,SACTQ,WAAY,QACZC,OAAQ,mBAOV,MAAMC,iBAAiBloB,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKkzB,OAASlzB,KAAKmzB,YACnBnzB,KAAKozB,UAAYhnB,eAAe3L,KAAK,oBAAqBT,KAAKiL,UAC/DjL,KAAKqzB,aAAejnB,eAAeG,QAAQ,iBAAkBvM,KAAKiL,SAASmlB,eAC3EpwB,KAAKszB,iBAAmB,KAEpBtzB,KAAKkzB,SACPlzB,KAAKiU,qBAELjU,KAAKuzB,YAET,CAGA,kBAAW5pB,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGA2pB,cACE,OAAOxzB,KAAKszB,gBACd,CAEAG,WACEzzB,KAAKuzB,WACP,CAGAJ,YACE,GAAInzB,KAAKkL,QAAQ8mB,MACf,MAAqC,iBAAvBhyB,KAAKkL,QAAQ8mB,MACzB5lB,eAAeG,QAAQvM,KAAKkL,QAAQ8mB,OACpChyB,KAAKkL,QAAQ8mB,MAIjB,MAAMxa,EAASxX,KAAKiL,SAASmlB,cAC7B,OAAOhkB,eAAeG,QAAQ,yBAA0BiL,EAC1D,CAEAvD,qBACE1U,aAAa2C,GAAGlC,KAAKkzB,OAAQ,QAAS,IAAMlzB,KAAKuzB,aACjDh0B,aAAa2C,GAAGlC,KAAKkzB,OAAQ,SAAU,IAAMlzB,KAAKuzB,YACpD,CAEAA,YACE,MAAMG,EAAW1zB,KAAKkzB,OAAO9vB,MACvBuwB,EAAQ3zB,KAAK4zB,gBAAgBF,GAC7BG,EAAW7zB,KAAK8zB,iBAAiBH,GAEnCE,IAAa7zB,KAAKszB,mBACpBtzB,KAAKszB,iBAAmBO,EACxB7zB,KAAK+zB,UAAUF,EAAUF,GAEzBp0B,aAAaoD,QAAQ3C,KAAKiL,SAAU4mB,sBAAuB,CACzDgC,WACAF,QACAD,SAAUA,EAAShxB,OAAS,EAAI,MAAQ,KAG9C,CAEAkxB,gBAAgBF,GACd,IAAKA,EACH,OAAO,EAIT,GAAmC,mBAAxB1zB,KAAKkL,QAAQ8nB,OACtB,OAAOhzB,KAAKkL,QAAQ8nB,OAAOU,GAG7B,MAAMnB,QAAEA,GAAYvyB,KAAKkL,QACzB,IAAIyoB,EAAQ,EAsCZ,OAnCID,EAAShxB,QAAU1C,KAAKkL,QAAQ+mB,YAClC0B,GAASpB,EAAQN,WAGfyB,EAAShxB,QAAU1C,KAAKkL,QAAQ+mB,UAAY,IAC9C0B,GAASpB,EAAQC,aAIf,QAAQ7nB,KAAK+oB,KACfC,GAASpB,EAAQE,WAGf,QAAQ9nB,KAAK+oB,KACfC,GAASpB,EAAQG,WAGf,KAAK/nB,KAAK+oB,KACZC,GAASpB,EAAQI,SAIf,yBAAyBhoB,KAAK+oB,KAChCC,GAASpB,EAAQK,SAIf,iDAAiDjoB,KAAK+oB,KACxDC,GAASpB,EAAQM,iBAGfa,EAAShxB,QAAU,KACrBixB,GAASpB,EAAQO,cAGZa,CACT,CAEAG,iBAAiBH,GACf,GAAc,IAAVA,EACF,OAAO,KAGT,MAAOxB,EAAMC,EAAMC,GAAQryB,KAAKkL,QAAQ6nB,WAExC,OAAIY,GAASxB,EACJ,OAGLwB,GAASvB,EACJ,OAGLuB,GAAStB,EACJ,OAGF,QACT,CAEA0B,UAAUF,GAEJA,EACF7zB,KAAKiL,SAASzG,QAAQwvB,WAAaH,SAE5B7zB,KAAKiL,SAASzG,QAAQwvB,WAI/B,MAAMC,EAAgBJ,EAAW9B,gBAAgBxoB,QAAQsqB,IAAY,EAErE,IAAK,MAAOvqB,EAAO4qB,KAAYl0B,KAAKozB,UAAUpxB,UACxCsH,GAAS2qB,EACXC,EAAQ1sB,UAAU0J,IAAI,UAEtBgjB,EAAQ1sB,UAAUvJ,OAAO,UAK7B,GAAI+B,KAAKqzB,aACP,GAAIQ,GAAY7zB,KAAKkL,QAAQgnB,SAAS2B,GAAW,CAC/C7zB,KAAKqzB,aAAajM,YAAcpnB,KAAKkL,QAAQgnB,SAAS2B,GACtD7zB,KAAKqzB,aAAa7uB,QAAQwvB,WAAaH,EAGvC,MAAMM,EAAW,CACfhC,KAAM,SACNC,KAAM,UACNC,KAAM,OACNC,OAAQ,WAEVtyB,KAAKqzB,aAAa3a,MAAM0b,YAAY,mBAAoB,SAASD,EAASN,WAC5E,MACE7zB,KAAKqzB,aAAajM,YAAc,UACzBpnB,KAAKqzB,aAAa7uB,QAAQwvB,UAGvC,EAOFz0B,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW+O,eAAe3L,KAzOR,sBA0O3BwyB,SAAStnB,oBAAoBtO,KCjPjC,MAAMwM,OAAO,WACPsB,WAAW,eACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfslB,eAAiB,WAAWhpB,cAC5BipB,YAAc,QAAQjpB,cAEtBkpB,kBAAoB,gBACpBC,eAAiB,QAEjB7qB,UAAU,CACdjH,OAAQ,EACR+xB,MAAM,GAGF7qB,cAAc,CAClBlH,OAAQ,SACR+xB,KAAM,WAOR,MAAMC,iBAAiB3pB,cACrBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK20B,QAAUvoB,eAAe3L,KApBX,QAoBgCT,KAAKiL,UACxDjL,KAAK40B,eACL50B,KAAKiU,oBACP,CAGA,kBAAWtK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAgrB,WACE,OAAO70B,KAAK20B,QAAQ1oB,IAAI+lB,GAASA,EAAM5uB,OAAO+I,KAAK,GACrD,CAEA2oB,SAAS1xB,GACP,MAAM2xB,EAAQ9H,OAAO7pB,GAAOoD,MAAM,IAClC,IAAK,MAAO8C,EAAO0oB,KAAUhyB,KAAK20B,QAAQ3yB,UACxCgwB,EAAM5uB,MAAQ2xB,EAAMzrB,IAAU,GAGhCtJ,KAAKg1B,gBACP,CAEAzS,QACE,IAAK,MAAMyP,KAAShyB,KAAK20B,QACvB3C,EAAM5uB,MAAQ,GAGhBpD,KAAK20B,QAAQ,IAAIvW,OACnB,CAEAA,QAEE,MAAM6W,EAAaj1B,KAAK20B,QAAQl0B,KAAKuxB,IAAUA,EAAM5uB,OACjD6xB,EACFA,EAAW7W,QAEXpe,KAAK20B,QAAQO,IAAG,IAAK9W,OAEzB,CAGAwW,eACE,IAAK,MAAM5C,KAAShyB,KAAK20B,QAEvB3C,EAAM9tB,aAAa,YAAa,KAChC8tB,EAAM9tB,aAAa,YAAa,WAChC8tB,EAAM9tB,aAAa,UAAW,QAG1B8tB,IAAUhyB,KAAK20B,QAAQ,GACzB3C,EAAM9tB,aAAa,eAAgB,iBAEnC8tB,EAAM9tB,aAAa,eAAgB,OAIjClE,KAAKkL,QAAQupB,MACfzC,EAAM9tB,aAAa,OAAQ,WAGjC,CAEA+P,qBACE,IAAK,MAAO3K,EAAO0oB,KAAUhyB,KAAK20B,QAAQ3yB,UACxCzC,aAAa2C,GAAG8vB,EAAO,QAAS7yB,GAASa,KAAKm1B,aAAah2B,EAAOmK,IAClE/J,aAAa2C,GAAG8vB,EAAO,UAAW7yB,GAASa,KAAKo1B,eAAej2B,EAAOmK,IACtE/J,aAAa2C,GAAG8vB,EAAO,QAAS7yB,GAASa,KAAKq1B,aAAal2B,IAC3DI,aAAa2C,GAAG8vB,EAAO,QAAS7yB,GAASa,KAAKs1B,aAAan2B,GAE/D,CAEAg2B,aAAah2B,EAAOmK,GAClB,MAAM0oB,EAAQ7yB,EAAMY,OAGf,QAAQ4K,KAAKqnB,EAAM5uB,SACtB4uB,EAAM5uB,MAAQ4uB,EAAM5uB,MAAM7B,QAAQ,MAAO,KAG3C,MAAM6B,MAAEA,GAAU4uB,EAGlB,GAAI5uB,EAAMV,OAAS,EAAG,CAEpB,MAAMqyB,EAAQ3xB,EAAMoD,MAAM,IAC1BwrB,EAAM5uB,MAAQ2xB,EAAM,IAAM,GAE1B,IAAK,IAAIQ,EAAI,EAAGA,EAAIR,EAAMryB,QAAU4G,EAAQisB,EAAIv1B,KAAK20B,QAAQjyB,OAAQ6yB,IACnEv1B,KAAK20B,QAAQrrB,EAAQisB,GAAGnyB,MAAQ2xB,EAAMQ,GAIxC,MAAMC,EAAY5vB,KAAK6D,IAAIH,EAAQyrB,EAAMryB,OAAQ1C,KAAK20B,QAAQjyB,OAAS,GACvE1C,KAAK20B,QAAQa,GAAWpX,OAC1B,MAAWhb,GAASkG,EAAQtJ,KAAK20B,QAAQjyB,OAAS,GAEhD1C,KAAK20B,QAAQrrB,EAAQ,GAAG8U,QAG1B7e,aAAaoD,QAAQ3C,KAAKiL,SAAUqpB,YAAa,CAC/ClxB,MAAOpD,KAAK60B,WACZvrB,UAGFtJ,KAAKg1B,gBACP,CAEAI,eAAej2B,EAAOmK,GACpB,MAAMhM,IAAEA,GAAQ6B,EAEhB,OAAQ7B,GACN,IAAK,aACE0C,KAAK20B,QAAQrrB,GAAOlG,OAASkG,EAAQ,IAExCnK,EAAM2O,iBACN9N,KAAK20B,QAAQrrB,EAAQ,GAAGlG,MAAQ,GAChCpD,KAAK20B,QAAQrrB,EAAQ,GAAG8U,SAG1B,MAGF,IAAK,SAEHjf,EAAM2O,iBACN,IAAK,IAAIynB,EAAIjsB,EAAOisB,EAAIv1B,KAAK20B,QAAQjyB,OAAS,EAAG6yB,IAC/Cv1B,KAAK20B,QAAQY,GAAGnyB,MAAQpD,KAAK20B,QAAQY,EAAI,GAAGnyB,MAG9CpD,KAAK20B,QAAQO,IAAG,GAAI9xB,MAAQ,GAC5B,MAGF,IAAK,YACCkG,EAAQ,IACVnK,EAAM2O,iBACN9N,KAAK20B,QAAQrrB,EAAQ,GAAG8U,SAG1B,MAGF,IAAK,aACC9U,EAAQtJ,KAAK20B,QAAQjyB,OAAS,IAChCvD,EAAM2O,iBACN9N,KAAK20B,QAAQrrB,EAAQ,GAAG8U,SAQhC,CAEAiX,aAAal2B,GACXA,EAAM2O,iBACN,MACM2nB,GADct2B,EAAMu2B,eAAiBxwB,OAAOwwB,eAAeC,QAAQ,QAC/Cp0B,QAAQ,MAAO,IAAIiB,MAAM,EAAGxC,KAAK20B,QAAQjyB,QAEnE,GAAI+yB,EAAQ,CACVz1B,KAAK80B,SAASW,GAGd,MAAMG,EAAYhwB,KAAK6D,IAAIgsB,EAAO/yB,OAAQ1C,KAAK20B,QAAQjyB,QAAU,EACjE1C,KAAK20B,QAAQiB,GAAWxX,OAC1B,CACF,CAEAkX,aAAan2B,GAEXA,EAAMY,OAAO81B,QACf,CAEAb,iBACE,MAAM5xB,EAAQpD,KAAK60B,WACAzxB,EAAMV,SAAW1C,KAAK20B,QAAQjyB,QAC/C1C,KAAK20B,QAAQmB,MAAM9D,GAAyB,KAAhBA,EAAM5uB,QAGlC7D,aAAaoD,QAAQ3C,KAAKiL,SAAUopB,eAAgB,CAAEjxB,SAE1D,EAOF7D,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW+O,eAAe3L,KA7Nb,iBA8NtBi0B,SAAS/oB,oBAAoBtO,KCtOjC,MAAMwM,OAAO,YACPsB,WAAW,gBACXE,YAAY,IAAIF,aAChB4D,eAAe,YAEfgnB,UAAY,MAAM1qB,cAClB2qB,aAAe,SAAS3qB,cACxB2Z,aAAe,SAAS3Z,cACxB4qB,aAAe,SAAS5qB,cAExB6qB,yBAA2B,uBAC3BC,qBAAuB,cACvBC,cAAgB,QAChBC,sBAAwB,gBAExBC,gBAAkB,OAClBC,wBAA0B,eAC1BvnB,oBAAoB,SAEpBwnB,qBAAuB,gPAEvB7sB,UAAU,CACdijB,UAAW,IACX6J,iBAAiB,EACjBC,SAAU,KACVlR,YAAa,GACbmR,aAAa,EACbC,YAAaJ,qBACbK,cAAc,GAGVjtB,cAAc,CAClBgjB,UAAW,gBACX6J,gBAAiB,UACjBC,SAAU,gBACVlR,YAAa,SACbmR,YAAa,UACbC,YAAa,SACbC,aAAc,WAOhB,MAAMC,kBAAkB/rB,cACtBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAKkzB,OAAS9mB,eAAeG,QAtCJ,cAsCkCvM,KAAKiL,UAChEjL,KAAK+2B,OAAS,GACd/2B,KAAKg3B,eAAiB,IAAIp4B,IAC1BoB,KAAKi3B,YAAc,KAEdj3B,KAAKkzB,QACRlzB,KAAKk3B,eAGPl3B,KAAKm3B,2BACLn3B,KAAKiU,oBACP,CAGA,kBAAWtK,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAqH,IAAI9N,GACF,MAAMg0B,EAAenK,OAAO7pB,GAAO4I,OAEnC,IAAKorB,EACH,OAAO,KAIT,IAAKp3B,KAAKkL,QAAQurB,iBAAmBz2B,KAAK+2B,OAAO90B,SAASm1B,GACxD,OAAO,KAIT,GAA8B,OAA1Bp3B,KAAKkL,QAAQwrB,UAAqB12B,KAAK+2B,OAAOr0B,QAAU1C,KAAKkL,QAAQwrB,SACvE,OAAO,KAQT,GALiBn3B,aAAaoD,QAAQ3C,KAAKiL,SAAU8qB,UAAW,CAC9D3yB,MAAOg0B,EACPl2B,cAAelB,KAAKkzB,SAGTrkB,iBACX,OAAO,KAGT,MAAMwoB,EAAOr3B,KAAKs3B,YAAYF,GAQ9B,OAPAp3B,KAAKiL,SAASsb,aAAa8Q,EAAMr3B,KAAKkzB,QACtClzB,KAAK+2B,OAAOlqB,KAAKuqB,GAEjB73B,aAAaoD,QAAQ3C,KAAKiL,SAAU+Z,aAAc,CAChDxkB,OAAQR,KAAKu3B,cAGRF,CACT,CAEAp5B,OAAOu5B,GACL,IAAIH,EACAj0B,EAUJ,MAR2B,iBAAhBo0B,GACTp0B,EAAQo0B,EACRH,EAAOr3B,KAAKy3B,iBAAiBr0B,KAE7Bi0B,EAAOG,EACPp0B,EAAQpD,KAAK03B,cAAcL,OAGxBA,IAASj0B,MAIM7D,aAAaoD,QAAQ3C,KAAKiL,SAAU+qB,aAAc,CACpE5yB,QACAi0B,OACAn2B,cAAelB,KAAKkzB,SAGNrkB,mBAKhB7O,KAAKg3B,eAAe94B,OAAOm5B,GACvBr3B,KAAKi3B,cAAgBI,IACvBr3B,KAAKi3B,YAAc,MAIrBI,EAAKp5B,SACL+B,KAAK+2B,OAAS/2B,KAAK+2B,OAAOtyB,OAAOkzB,GAAKA,IAAMv0B,GAE5C7D,aAAaoD,QAAQ3C,KAAKiL,SAAU+Z,aAAc,CAChDxkB,OAAQR,KAAKu3B,eAGR,GACT,CAEAK,iBACE,MAAMC,EAAgB,IAAI73B,KAAKg3B,gBAC/B,IAAK,MAAMK,KAAQQ,EACjB73B,KAAK/B,OAAOo5B,GAGdr3B,KAAKkzB,QAAQ9U,OACf,CAEAmZ,YACE,MAAO,IAAIv3B,KAAK+2B,OAClB,CAEAe,oBACE,MAAO,IAAI93B,KAAKg3B,gBAAgB/qB,IAAIorB,GAAQr3B,KAAK03B,cAAcL,GACjE,CAEA9U,QACE,MAAMwV,EAAQ3rB,eAAe3L,KAlKX,QAkK+BT,KAAKiL,UACtD,IAAK,MAAMosB,KAAQU,EACjBV,EAAKp5B,SAGP+B,KAAK+2B,OAAS,GACd/2B,KAAKg3B,eAAezU,QACpBviB,KAAKi3B,YAAc,KAEnB13B,aAAaoD,QAAQ3C,KAAKiL,SAAU+Z,aAAc,CAChDxkB,OAAQ,IAEZ,CAEAw3B,iBACE,IAAK,MAAMX,KAAQr3B,KAAKg3B,eACtBK,EAAK7vB,UAAUvJ,OA7KK,UAgLtB+B,KAAKg3B,eAAezU,QACpBviB,KAAKi3B,YAAc,KAEnB13B,aAAaoD,QAAQ3C,KAAKiL,SAAUgrB,aAAc,CAChDnd,SAAU,IAEd,CAEAmf,WAAWZ,EAAMa,EAAU,IACzB,MAAMC,eAAEA,GAAiB,EAAKC,YAAEA,GAAc,GAAUF,EAClDG,EAAer4B,KAAKs4B,mBAE1B,GAAKD,EAAap2B,SAASo1B,GAA3B,CAIA,GAAIe,GAAep4B,KAAKi3B,YAAa,CAEnC,MAAMsB,EAAcF,EAAa9uB,QAAQvJ,KAAKi3B,aACxCuB,EAAYH,EAAa9uB,QAAQ8tB,GACjCoB,EAAQ7yB,KAAK6D,IAAI8uB,EAAaC,GAC9BE,EAAM9yB,KAAK4D,IAAI+uB,EAAaC,GAE7BL,GACHn4B,KAAKg4B,iBAGP,IAAK,IAAIzC,EAAIkD,EAAOlD,GAAKmD,EAAKnD,IAC5Bv1B,KAAKg3B,eAAe9lB,IAAImnB,EAAa9C,IACrC8C,EAAa9C,GAAG/tB,UAAU0J,IA7MR,SA+MtB,MAAWinB,EAELn4B,KAAKg3B,eAAex5B,IAAI65B,IAC1Br3B,KAAKg3B,eAAe94B,OAAOm5B,GAC3BA,EAAK7vB,UAAUvJ,OAnNG,YAqNlB+B,KAAKg3B,eAAe9lB,IAAImmB,GACxBA,EAAK7vB,UAAU0J,IAtNG,UAuNlBlR,KAAKi3B,YAAcI,IAIrBr3B,KAAKg4B,iBACLh4B,KAAKg3B,eAAe9lB,IAAImmB,GACxBA,EAAK7vB,UAAU0J,IA7NK,UA8NpBlR,KAAKi3B,YAAcI,GAGrB93B,aAAaoD,QAAQ3C,KAAKiL,SAAUgrB,aAAc,CAChDnd,SAAU9Y,KAAK83B,qBApCjB,CAsCF,CAEA1Z,QACEpe,KAAKkzB,QAAQ9U,OACf,CAGAka,mBACE,OAAOlsB,eAAe3L,KAjPJ,QAiPwBT,KAAKiL,SACjD,CAEAisB,eACE,MAAMlF,EAAQjsB,SAASugB,cAAc,SACrC0L,EAAMvyB,KAAO,OACbuyB,EAAMvB,UAAY,aACdzwB,KAAKkL,QAAQsa,cACfwM,EAAMxM,YAAcxlB,KAAKkL,QAAQsa,aAGnCxlB,KAAKiL,SAASuV,OAAOwR,GACrBhyB,KAAKkzB,OAASlB,CAChB,CAEAmF,2BACE,MAAMwB,EAAgBvsB,eAAe3L,KAjQnB,QAiQuCT,KAAKiL,UAC9D,IAAK,MAAMosB,KAAQsB,EAAe,CAChC,MAAMv1B,EAAQpD,KAAK03B,cAAcL,GAC7Bj0B,IACFpD,KAAK+2B,OAAOlqB,KAAKzJ,GACjBpD,KAAK44B,WAAWvB,GAEpB,CACF,CAEAuB,WAAWvB,GAETA,EAAKnzB,aAAa,WAAY,KAG1BlE,KAAKkL,QAAQyrB,cAAgBvqB,eAAeG,QA/QtB,gBA+QqD8qB,IAC7EA,EAAK7W,OAAOxgB,KAAK64B,uBAErB,CAEAvB,YAAYl0B,GACV,MAAMi0B,EAAOtxB,SAASugB,cAAc,QAUpC,OATA+Q,EAAK5G,UApRe,OAqRpB4G,EAAK7yB,QAAQs0B,YAAc11B,EAG3Bi0B,EAAK7W,OAAOza,SAASgzB,eAAe31B,IAGpCpD,KAAK44B,WAAWvB,GAETA,CACT,CAEAwB,uBACE,MAAMxpB,EAAStJ,SAASugB,cAAc,UAMtC,OALAjX,EAAO5P,KAAO,SACd4P,EAAOohB,UAlSqB,eAmS5BphB,EAAOnL,aAAa,aAAc,UAClCmL,EAAOnL,aAAa,WAAY,MAChCmL,EAAOqhB,UAAY1wB,KAAKkL,QAAQ0rB,YACzBvnB,CACT,CAEAooB,iBAAiBr0B,GAEf,OADcpD,KAAKs4B,mBACN73B,KAAK42B,GAAQr3B,KAAK03B,cAAcL,KAAUj0B,EACzD,CAEAs0B,cAAcL,GACZ,GAAIA,EAAK7yB,QAAQs0B,YACf,OAAOzB,EAAK7yB,QAAQs0B,YAGtB,MAAME,EAAQ3B,EAAK/F,WAAU,GACvB2H,EAAU7sB,eAAeG,QAvTL,gBAuToCysB,GAK9D,OAJIC,GACFA,EAAQh7B,SAGH+6B,EAAM5R,aAAapb,QAAU,EACtC,CAEAiI,qBAEE1U,aAAa2C,GAAGlC,KAAKkzB,OAAQ,UAAW/zB,GAASa,KAAKk5B,oBAAoB/5B,IAC1EI,aAAa2C,GAAGlC,KAAKkzB,OAAQ,QAAS/zB,GAASa,KAAKm1B,aAAah2B,IACjEI,aAAa2C,GAAGlC,KAAKkzB,OAAQ,QAAS/zB,GAASa,KAAKq1B,aAAal2B,IACjEI,aAAa2C,GAAGlC,KAAKkzB,OAAQ,QAAS,IAAMlzB,KAAKg4B,kBAE7Ch4B,KAAKkL,QAAQ2rB,cACft3B,aAAa2C,GAAGlC,KAAKkzB,OAAQ,OAAQ/zB,IAE9BA,EAAM+B,eAAeiG,QA1UZ,UA2UZnH,KAAKm5B,yBAMX55B,aAAa2C,GAAGlC,KAAKiL,SAAU,QAjVb,QAiVqC9L,IAErD,GAAIA,EAAMY,OAAOoH,QAlVO,iBAmVtB,OAGF,MAAMkwB,EAAOl4B,EAAMY,OAAOoH,QAvVV,SAwVZkwB,IACFl4B,EAAM2O,iBACN9N,KAAKi4B,WAAWZ,EAAM,CACpBc,eAAgBh5B,EAAMi6B,SAAWj6B,EAAMk6B,QACvCjB,YAAaj5B,EAAMm6B,WAErBjC,EAAKjZ,WAKT7e,aAAa2C,GAAGlC,KAAKiL,SAAU,QAlWL,gBAkWqC9L,IAC7DA,EAAMsiB,kBACN,MAAM4V,EAAOl4B,EAAMY,OAAOoH,QArWV,SAsWZkwB,IACFr3B,KAAK/B,OAAOo5B,GACZr3B,KAAKkzB,QAAQ9U,WAKjB7e,aAAa2C,GAAGlC,KAAKiL,SAAU,UA7Wb,QA6WuC9L,IACvDa,KAAKu5B,mBAAmBp6B,KAI1BI,aAAa2C,GAAGlC,KAAKiL,SAAU,QAAS9L,IAClCA,EAAMY,SAAWC,KAAKiL,WACxBjL,KAAKg4B,iBACLh4B,KAAKkzB,QAAQ9U,UAGnB,CAEA8a,oBAAoB/5B,GAClB,MAAM7B,IAAEA,GAAQ6B,EAEhB,OAAQ7B,GACN,IAAK,QACH6B,EAAM2O,iBACN9N,KAAKm5B,uBACL,MAGF,IAAK,YACL,IAAK,SACH,GAA0B,KAAtBn5B,KAAKkzB,OAAO9vB,MAAc,CAC5BjE,EAAM2O,iBACN,MAAMiqB,EAAQ/3B,KAAKs4B,mBAEnB,GAAIP,EAAMr1B,OAAS,EAAG,CAEpB,MAAM82B,EAAWzB,EAAM7C,IAAG,GAC1Bl1B,KAAKi4B,WAAWuB,GAChBA,EAASpb,OACX,CACF,CAEA,MAGF,IAAK,YACH,GAAmC,IAA/Bpe,KAAKkzB,OAAOuG,gBAAqD,IAA7Bz5B,KAAKkzB,OAAOwG,aAAoB,CACtEv6B,EAAM2O,iBACN,MAAMiqB,EAAQ/3B,KAAKs4B,mBACnB,GAAIP,EAAMr1B,OAAS,EAAG,CACpB,MAAM82B,EAAWzB,EAAM7C,IAAG,GACtB/1B,EAAMm6B,SACRt5B,KAAKi4B,WAAWuB,EAAU,CAAErB,gBAAgB,IAE5Cn4B,KAAKi4B,WAAWuB,GAGlBA,EAASpb,OACX,CACF,CAEA,MAGF,IAAK,SACHpe,KAAKkzB,OAAO9vB,MAAQ,GACpBpD,KAAKg4B,iBACLh4B,KAAKkzB,OAAOyG,OAMlB,CAEAJ,mBAAmBp6B,GACjB,MAAM7B,IAAEA,GAAQ6B,EACVk4B,EAAOl4B,EAAMY,OAAOoH,QArbR,SAsblB,IAAKkwB,EACH,OAGF,MAAMU,EAAQ/3B,KAAKs4B,mBACbsB,EAAe7B,EAAMxuB,QAAQ8tB,GAEnC,OAAQ/5B,GACN,IAAK,YACL,IAAK,SACH6B,EAAM2O,iBACN9N,KAAK65B,kBAAkBD,EAAc7B,GACrC,MAGF,IAAK,YACH54B,EAAM2O,iBACN9N,KAAK85B,cAAc/B,EAAO6B,GAAc,EAAIz6B,EAAMm6B,UAClD,MAGF,IAAK,aACHn6B,EAAM2O,iBACN9N,KAAK85B,cAAc/B,EAAO6B,EAAc,EAAGz6B,EAAMm6B,UACjD,MAGF,IAAK,OACHn6B,EAAM2O,iBACN9N,KAAK+5B,gBAAgBhC,EAAO,EAAG54B,EAAMm6B,UACrC,MAGF,IAAK,MAYL,IAAK,SACHn6B,EAAM2O,iBACN9N,KAAKg4B,iBACLh4B,KAAKkzB,QAAQ9U,QACb,MATF,IAAK,IACHpe,KAAKg6B,iBAAiB76B,EAAO44B,GAanC,CAEA8B,kBAAkBD,EAAc7B,GAC9B,GAAiC,IAA7B/3B,KAAKg3B,eAAer5B,KACtB,OAGF,MAAM63B,EAAY5vB,KAAK6D,IAAImwB,EAAc7B,EAAMr1B,OAAS1C,KAAKg3B,eAAer5B,KAAO,GACnFqC,KAAK43B,iBAEL,MAAMqC,EAAiBj6B,KAAKs4B,mBAC5B,GAAI2B,EAAev3B,OAAS,EAAG,CAC7B,MAAMw3B,EAAat0B,KAAK4D,IAAI,EAAG5D,KAAK6D,IAAI+rB,EAAWyE,EAAev3B,OAAS,IAC3Eu3B,EAAeC,GAAY9b,QAC3Bpe,KAAKi4B,WAAWgC,EAAeC,GACjC,MACEl6B,KAAKkzB,QAAQ9U,OAEjB,CAEA0b,cAAc/B,EAAO6B,EAAc3oB,EAAWqoB,GAC5C,MAAMa,EAAcP,EAAe3oB,EAEnC,GAAIA,EAAY,GAAKkpB,GAAe,EAAG,CACrC,MAAMC,EAAarC,EAAMoC,GACzBn6B,KAAKi4B,WAAWmC,EAAYd,EAAW,CAAEnB,gBAAgB,EAAMC,aAAa,GAAS,IACrFgC,EAAWhc,OACb,MAAO,GAAInN,EAAY,GAAKkpB,EAAcpC,EAAMr1B,OAAQ,CACtD,MAAM03B,EAAarC,EAAMoC,GACzBn6B,KAAKi4B,WAAWmC,EAAYd,EAAW,CAAEnB,gBAAgB,EAAMC,aAAa,GAAS,IACrFgC,EAAWhc,OACb,MAAWnN,EAAY,IACrBjR,KAAKg4B,iBACLh4B,KAAKkzB,QAAQ9U,QAEjB,CAEA2b,gBAAgBhC,EAAOoC,EAAab,GAClC,GAAqB,IAAjBvB,EAAMr1B,OACR,OAGF,MAAM03B,EAAarC,EAAMoC,GACzBn6B,KAAKi4B,WAAWmC,EAAYd,EAAW,CAAElB,aAAa,GAAS,IAC/DgC,EAAWhc,OACb,CAEA4b,iBAAiB76B,EAAO44B,GACtB,GAAM54B,EAAMi6B,SAAWj6B,EAAMk6B,QAA7B,CAIAl6B,EAAM2O,iBACN,IAAK,MAAMusB,KAAKtC,EACd/3B,KAAKg3B,eAAe9lB,IAAImpB,GACxBA,EAAE7yB,UAAU0J,IA9hBQ,UAiiBtB3R,aAAaoD,QAAQ3C,KAAKiL,SAAUgrB,aAAc,CAChDnd,SAAU9Y,KAAK83B,qBATjB,CAWF,CAEA3C,aAAah2B,GACX,MAAMiE,MAAEA,GAAUjE,EAAMY,QAClB6sB,UAAEA,GAAc5sB,KAAKkL,QAE3B,GAAI0hB,GAAaxpB,EAAMnB,SAAS2qB,GAAY,CAC1C,MAAMnT,EAAQrW,EAAMoD,MAAMomB,GAC1B,IAAK,MAAMhT,KAAQH,EAAMjX,MAAM,GAAG,GAChCxC,KAAKkR,IAAI0I,EAAK5N,QAGhBhM,KAAKkzB,OAAO9vB,MAAQqW,EAAMyb,IAAG,EAC/B,CACF,CAEAG,aAAal2B,GACX,MAAMytB,UAAEA,GAAc5sB,KAAKkL,QAC3B,IAAK0hB,EACH,OAGF,MAAM0N,GAAcn7B,EAAMu2B,eAAiBxwB,OAAOwwB,eAAeC,QAAQ,QACzE,GAAI2E,EAAWr4B,SAAS2qB,GAAY,CAClCztB,EAAM2O,iBAEN,MAAM2L,EAAQ6gB,EAAW9zB,MAAMomB,GAC/B,IAAK,MAAMhT,KAAQH,EACjBzZ,KAAKkR,IAAI0I,EAAK5N,OAElB,CACF,CAEAmtB,uBACE,MAAM/1B,EAAQpD,KAAKkzB,OAAO9vB,MAAM4I,OAC5B5I,IACFpD,KAAKkR,IAAI9N,GACTpD,KAAKkzB,OAAO9vB,MAAQ,GAExB,EAOF7D,aAAa2C,GAAG6D,SAAU,mBAAmBsF,uBAA4B,KACvE,IAAK,MAAMhO,KAAW+O,eAAe3L,KA1lBN,wBA2lB7Bq2B,UAAUnrB,oBAAoBtO,KC5mBlC,MAAMk9B,uBAAyB,iBAElBC,iBAAmB,CAE9B,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAAQD,wBAC5CE,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BC,KAAM,GACNC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,GAAI,GACJC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJnG,EAAG,GACHngB,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDumB,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACL7J,OAAQ,GACR8J,EAAG,GACHC,GAAI,IAIAC,cAAgB,IAAI19B,IAAI,CAC5B,aACA,OACA,OACA,WACA,WACA,SACA,MACA,eASI29B,iBAAmB,0DAEnBC,iBAAmBA,CAACC,EAAWC,KACnC,MAAMC,EAAgBF,EAAUG,SAAS74B,cAEzC,OAAI24B,EAAqBz6B,SAAS06B,IAC5BL,cAAc9+B,IAAIm/B,IACbh7B,QAAQ46B,iBAAiB5xB,KAAK8xB,EAAUI,YAO5CH,EAAqBj4B,OAAOq4B,GAAkBA,aAA0BpyB,QAC5EqyB,KAAKC,GAASA,EAAMryB,KAAKgyB,KAGvB,SAASM,aAAaC,EAAYC,EAAWC,GAClD,IAAKF,EAAWx6B,OACd,OAAOw6B,EAGT,GAAIE,GAAgD,mBAArBA,EAC7B,OAAOA,EAAiBF,GAG1B,MACMG,GADY,IAAIn4B,OAAOo4B,WACKC,gBAAgBL,EAAY,aACxDM,EAAW,GAAGnxB,UAAUgxB,EAAgBlf,KAAKre,iBAAiB,MAEpE,IAAK,MAAMzC,KAAWmgC,EAAU,CAC9B,MAAMC,EAAcpgC,EAAQu/B,SAAS74B,cAErC,IAAKxD,OAAOvC,KAAKm/B,GAAWl7B,SAASw7B,GAAc,CACjDpgC,EAAQY,SACR,QACF,CAEA,MAAMy/B,EAAgB,GAAGrxB,UAAUhP,EAAQiH,YACrCq5B,EAAoB,GAAGtxB,OAAO8wB,EAAU,MAAQ,GAAIA,EAAUM,IAAgB,IAEpF,IAAK,MAAMhB,KAAaiB,EACjBlB,iBAAiBC,EAAWkB,IAC/BtgC,EAAQ+G,gBAAgBq4B,EAAUG,SAGxC,CAEA,OAAOS,EAAgBlf,KAAKuS,SAC9B,CCnGA,MAAM7mB,OAAO,kBAEPF,UAAU,CACdwzB,UAAW3C,iBACXoD,QAAS,GACTC,WAAY,GACZC,MAAM,EACNC,UAAU,EACVC,WAAY,KACZC,SAAU,eAGNr0B,cAAc,CAClBuzB,UAAW,SACXS,QAAS,SACTC,WAAY,oBACZC,KAAM,UACNC,SAAU,UACVC,WAAY,kBACZC,SAAU,UAGNC,mBAAqB,CACzBC,MAAO,iCACPv+B,SAAU,oBAOZ,MAAMw+B,wBAAwB10B,OAC5BW,YAAYL,GACVgB,QACAhL,KAAKkL,QAAUlL,KAAK+J,WAAWC,EACjC,CAGA,kBAAWL,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAw0B,aACE,OAAO99B,OAAOC,OAAOR,KAAKkL,QAAQ0yB,SAC/B3xB,IAAIjC,GAAUhK,KAAKs+B,yBAAyBt0B,IAC5CvF,OAAO9C,QACZ,CAEA48B,aACE,OAAOv+B,KAAKq+B,aAAa37B,OAAS,CACpC,CAEA87B,cAAcZ,GAGZ,OAFA59B,KAAKy+B,cAAcb,GACnB59B,KAAKkL,QAAQ0yB,QAAU,IAAK59B,KAAKkL,QAAQ0yB,WAAYA,GAC9C59B,IACT,CAEA0+B,SACE,MAAMC,EAAkB54B,SAASugB,cAAc,OAC/CqY,EAAgBjO,UAAY1wB,KAAK4+B,eAAe5+B,KAAKkL,QAAQ+yB,UAE7D,IAAK,MAAOr+B,EAAU8nB,KAASnnB,OAAOyB,QAAQhC,KAAKkL,QAAQ0yB,SACzD59B,KAAK6+B,YAAYF,EAAiBjX,EAAM9nB,GAG1C,MAAMq+B,EAAWU,EAAgBnyB,SAAS,GACpCqxB,EAAa79B,KAAKs+B,yBAAyBt+B,KAAKkL,QAAQ2yB,YAM9D,OAJIA,GACFI,EAASz2B,UAAU0J,OAAO2sB,EAAWr3B,MAAM,MAGtCy3B,CACT,CAGA9zB,iBAAiBH,GACfgB,MAAMb,iBAAiBH,GACvBhK,KAAKy+B,cAAcz0B,EAAO4zB,QAC5B,CAEAa,cAAcK,GACZ,IAAK,MAAOl/B,EAAUg+B,KAAYr9B,OAAOyB,QAAQ88B,GAC/C9zB,MAAMb,iBAAiB,CAAEvK,WAAUu+B,MAAOP,GAAWM,mBAEzD,CAEAW,YAAYZ,EAAUL,EAASh+B,GAC7B,MAAMm/B,EAAkB3yB,eAAeG,QAAQ3M,EAAUq+B,GAEpDc,KAILnB,EAAU59B,KAAKs+B,yBAAyBV,IAOpCl3B,UAAUk3B,GACZ59B,KAAKg/B,sBAAsBp4B,WAAWg3B,GAAUmB,GAI9C/+B,KAAKkL,QAAQ4yB,KACfiB,EAAgBrO,UAAY1wB,KAAK4+B,eAAehB,GAIlDmB,EAAgB3X,YAAcwW,EAd5BmB,EAAgB9gC,SAepB,CAEA2gC,eAAeE,GACb,OAAO9+B,KAAKkL,QAAQ6yB,SAAWd,aAAa6B,EAAK9+B,KAAKkL,QAAQiyB,UAAWn9B,KAAKkL,QAAQ8yB,YAAcc,CACtG,CAEAR,yBAAyBQ,GACvB,OAAOx2B,QAAQw2B,EAAK,MAAC/kB,EAAW/Z,MAClC,CAEAg/B,sBAAsB3hC,EAAS0hC,GAC7B,GAAI/+B,KAAKkL,QAAQ4yB,KAGf,OAFAiB,EAAgBrO,UAAY,QAC5BqO,EAAgBve,OAAOnjB,GAIzB0hC,EAAgB3X,YAAc/pB,EAAQ+pB,WACxC,EC1HF,MAAMvd,OAAO,UACPo1B,sBAAwB,IAAIrgC,IAAI,CAAC,WAAY,YAAa,eAE1D6P,kBAAkB,OAClBywB,iBAAmB,QACnBxwB,kBAAkB,OAElBywB,uBAAyB,iBACzBC,eAAiB,SACjBnwB,uBAAuB,6BAEvBowB,iBAAmB,gBAEnBC,cAAgB,QAChBC,cAAgB,QAChBC,cAAgB,QAChBC,eAAiB,SAEjB3oB,aAAa,OACbC,eAAe,SACfH,aAAa,OACbC,cAAc,QACd6oB,eAAiB,WACjBC,cAAc,QACdC,gBAAgB,UAChBC,iBAAiB,WACjB7tB,mBAAmB,aACnBC,iBAAmB,aAEnB6tB,cAAgB,CACpBC,KAAM,OACNC,IAAK,MACLC,MAAO73B,QAAU,OAAS,QAC1B83B,OAAQ,SACRC,KAAM/3B,QAAU,QAAU,QAGtBuB,UAAU,CACdwzB,UAAW3C,iBACX4F,WAAW,EACX7jB,SAAU,kBACVC,WAAW,EACX6jB,YAAa,GACbC,MAAO,EACPvgB,mBAAoB,CAAC,MAAO,QAAS,SAAU,QAC/C+d,MAAM,EACNphB,OAAQ,CAAC,EAAG,GACZ5C,UAAW,MACX6C,eAAgB,KAChBohB,UAAU,EACVC,WAAY,KACZp+B,UAAU,EACVq+B,SAAU,+GAIVsC,MAAO,GACP59B,QAAS,eAGLiH,cAAc,CAClBuzB,UAAW,SACXiD,UAAW,UACX7jB,SAAU,mBACVC,UAAW,2BACX6jB,YAAa,oBACbC,MAAO,kBACPvgB,mBAAoB,QACpB+d,KAAM,UACNphB,OAAQ,0BACR5C,UAAW,oBACX6C,eAAgB,yBAChBohB,SAAU,UACVC,WAAY,kBACZp+B,SAAU,mBACVq+B,SAAU,SACVsC,MAAO,4BACP59B,QAAS,UAOX,MAAM69B,gBAAgBz1B,cACpBV,YAAYhN,EAAS2M,GACnB,QAA+B,IAApBmT,gBACT,MAAM,IAAIvS,UAAU,sEAGtBI,MAAM3N,EAAS2M,GAGfhK,KAAKygC,YAAa,EAClBzgC,KAAK0gC,SAAW,EAChB1gC,KAAK2gC,WAAa,KAClB3gC,KAAK4gC,eAAiB,GACtB5gC,KAAKod,iBAAmB,KACxBpd,KAAK6gC,iBAAmB,KACxB7gC,KAAK8gC,YAAc,KACnB9gC,KAAKqd,qBAAuB,GAC5Brd,KAAKsd,sBAAwB,KAG7Btd,KAAK+gC,IAAM,KAEX/gC,KAAK+d,6BACL/d,KAAKghC,gBAEAhhC,KAAKkL,QAAQtL,UAChBI,KAAKihC,WAET,CAGA,kBAAWt3B,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAq3B,SACElhC,KAAKygC,YAAa,CACpB,CAEAU,UACEnhC,KAAKygC,YAAa,CACpB,CAEAW,gBACEphC,KAAKygC,YAAczgC,KAAKygC,UAC1B,CAEArxB,SACOpP,KAAKygC,aAINzgC,KAAKkY,WACPlY,KAAKqhC,SAIPrhC,KAAKshC,SACP,CAEAl2B,UACEoK,aAAaxV,KAAK0gC,UAElBnhC,aAAaC,IAAIQ,KAAKiL,SAAS9D,QApJZ,UAGE,gBAiJqDnH,KAAKuhC,mBAE3EvhC,KAAKiL,SAASpG,aAAa,2BAC7B7E,KAAKiL,SAAS/G,aAAa,QAASlE,KAAKiL,SAASpG,aAAa,2BAGjE7E,KAAKwe,mBACLxe,KAAK0e,8BACL1T,MAAMI,SACR,CAEA,UAAMgN,GACJ,GAAoC,SAAhCpY,KAAKiL,SAASyN,MAAM+D,QACtB,MAAM,IAAI3S,MAAM,uCAGlB,IAAM9J,KAAKwhC,mBAAoBxhC,KAAKygC,WAClC,OAGF,MAAM/R,EAAYnvB,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UA5JxD,SA8JT61B,GADa95B,eAAe3H,KAAKiL,WACLjL,KAAKiL,SAASy2B,cAAc95B,iBAAiBzG,SAASnB,KAAKiL,UAE7F,GAAIyjB,EAAU7f,mBAAqB4yB,EACjC,OAGFzhC,KAAKwe,mBAEL,MAAMuiB,EAAM/gC,KAAK2hC,iBAEjB3hC,KAAKiL,SAAS/G,aAAa,mBAAoB68B,EAAIl8B,aAAa,OAEhE,IAAI2X,UAAEA,GAAcxc,KAAKkL,QACzB,MAAM02B,EAAgB5hC,KAAKiL,SAAS9D,QAAQ,gBAkB5C,GAjBIy6B,GAAiBplB,IAAczW,SAASoY,OAC1C3B,EAAYolB,GAGT5hC,KAAKiL,SAASy2B,cAAc95B,gBAAgBzG,SAASnB,KAAK+gC,OAC7DvkB,EAAUgE,OAAOugB,GACjBxhC,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UAhLpC,oBAmLb5L,KAAKke,gBAAgB6iB,GAE3BA,EAAIv5B,UAAU0J,IAtMM,QA4MhB,iBAAkBnL,SAAS6B,gBAC7B,IAAK,MAAMvK,IAAW,GAAGgP,UAAUtG,SAASoY,KAAK3R,UAC/CjN,aAAa2C,GAAG7E,EAAS,YAAa4K,MAc1CjI,KAAKwL,eAVYoN,KACfrZ,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UAnMvC,WAqMU,IAApB5L,KAAK2gC,YACP3gC,KAAKqhC,SAGPrhC,KAAK2gC,YAAa,GAGU3gC,KAAK+gC,IAAK/gC,KAAKuW,cAC/C,CAEA4B,OACE,GAAKnY,KAAKkY,aAIQ3Y,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UAvNxD,SAwNDiD,iBAAd,CASA,GALY7O,KAAK2hC,iBACbn6B,UAAUvJ,OA1OM,QA8OhB,iBAAkB8H,SAAS6B,gBAC7B,IAAK,MAAMvK,IAAW,GAAGgP,UAAUtG,SAASoY,KAAK3R,UAC/CjN,aAAaC,IAAInC,EAAS,YAAa4K,MAI3CjI,KAAK4gC,eAA4B,OAAI,EACrC5gC,KAAK4gC,eAA4B,OAAI,EACrC5gC,KAAK4gC,eAA4B,OAAI,EACrC5gC,KAAK2gC,WAAa,KAelB3gC,KAAKwL,eAbYoN,KACX5Y,KAAK6hC,yBAIJ7hC,KAAK2gC,YACR3gC,KAAKwe,mBAGPxe,KAAKiL,SAAS7G,gBAAgB,oBAC9B7E,aAAaoD,QAAQ3C,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UArPtC,aAwPa5L,KAAK+gC,IAAK/gC,KAAKuW,cA/B7C,CAgCF,CAEAsI,SACM7e,KAAKod,kBAAoBpd,KAAK+gC,KAChC/gC,KAAK8e,yBAET,CAGA0iB,iBACE,OAAO7/B,QAAQ3B,KAAK8hC,YACtB,CAEAH,iBAKE,OAJK3hC,KAAK+gC,MACR/gC,KAAK+gC,IAAM/gC,KAAK+hC,kBAAkB/hC,KAAK8gC,aAAe9gC,KAAKgiC,2BAGtDhiC,KAAK+gC,GACd,CAEAgB,kBAAkBnE,GAChB,MAAMmD,EAAM/gC,KAAKiiC,oBAAoBrE,GAASc,SAE9CqC,EAAIv5B,UAAUvJ,OAjSM,OAEA,QAgSpB8iC,EAAIv5B,UAAU0J,IAAI,MAAMlR,KAAKqK,YAAYR,aAEzC,MAAMq4B,EAAQx8B,OAAO1F,KAAKqK,YAAYR,MAAMpG,WAQ5C,OANAs9B,EAAI78B,aAAa,KAAMg+B,GAEnBliC,KAAKuW,eACPwqB,EAAIv5B,UAAU0J,IAzSI,QA4Sb6vB,CACT,CAEAoB,WAAWvE,GACT59B,KAAK8gC,YAAclD,EACf59B,KAAKkY,aACPlY,KAAKwe,mBACLxe,KAAKoY,OAET,CAEA6pB,oBAAoBrE,GAalB,OAZI59B,KAAK6gC,iBACP7gC,KAAK6gC,iBAAiBrC,cAAcZ,GAEpC59B,KAAK6gC,iBAAmB,IAAIzC,gBAAgB,IACvCp+B,KAAKkL,QAGR0yB,UACAC,WAAY79B,KAAKs+B,yBAAyBt+B,KAAKkL,QAAQm1B,eAIpDrgC,KAAK6gC,gBACd,CAEAmB,yBACE,MAAO,CACL7C,CAACA,wBAAyBn/B,KAAK8hC,YAEnC,CAEAA,YACE,OAAO9hC,KAAKs+B,yBAAyBt+B,KAAKkL,QAAQq1B,QAAUvgC,KAAKiL,SAASpG,aAAa,yBACzF,CAGAu9B,6BAA6BjjC,GAC3B,OAAOa,KAAKqK,YAAYsB,oBAAoBxM,EAAME,eAAgBW,KAAKqiC,qBACzE,CAEA9rB,cACE,OAAOvW,KAAKkL,QAAQk1B,WAAcpgC,KAAK+gC,KAAO/gC,KAAK+gC,IAAIv5B,UAAUrG,SAvV7C,OAwVtB,CAEA+W,WACE,OAAOlY,KAAK+gC,KAAO/gC,KAAK+gC,IAAIv5B,UAAUrG,SAzVlB,OA0VtB,CAEA8d,cAAc8hB,GAEZ,GAAI/gC,KAAKsd,sBAAuB,CAC9B,MAAMxD,EAAYE,uBAAuBha,KAAKsd,sBAAuB,OACrE,OAAOwiB,cAAchmB,EAAUjP,gBAAkBiP,CACnD,CAGA,MAAMA,EAAYxR,QAAQtI,KAAKkL,QAAQ4O,UAAW,CAAC9Z,KAAM+gC,EAAK/gC,KAAKiL,WACnE,OAAO60B,cAAchmB,EAAUjP,gBAAkBiP,CACnD,CAEAiE,6BAEwC,iBAA3B/d,KAAKkL,QAAQ4O,WAKxB9Z,KAAKsd,sBAAwBhE,yBAAyBtZ,KAAKkL,QAAQ4O,UAAW,OAE1E9Z,KAAKsd,uBACPtd,KAAKsf,6BAPLtf,KAAKsd,sBAAwB,IASjC,CAEAgC,4BACEtf,KAAK0e,8BACL1e,KAAKqd,qBAAuB/C,0BAA0B,KAChDta,KAAKkY,YACPlY,KAAK8e,2BAGX,CAEAJ,8BACE/D,2BAA2B3a,KAAKqd,sBAChCrd,KAAKqd,qBAAuB,EAC9B,CAEA,qBAAMa,CAAgB6iB,GACpB,MAAMjnB,EAAY9Z,KAAKif,cAAc8hB,GAC/BuB,EAAevB,EAAIl6B,cAAc,IAAI7G,KAAKqK,YAAYR,oBAGtD7J,KAAK8e,wBAAwBiiB,EAAKjnB,EAAWwoB,GAGnDtiC,KAAKod,iBAAmB4B,WACtBhf,KAAKiL,SACL81B,EACA,IAAM/gC,KAAK8e,wBAAwBiiB,EAAK,KAAMuB,GAElD,CAEA,6BAAMxjB,CAAwBiiB,EAAM/gC,KAAK+gC,IAAKjnB,EAAY,KAAMwoB,EAAe,MAC7E,IAAKvB,EACH,OAGGjnB,IACHA,EAAY9Z,KAAKif,cAAc8hB,IAG5BuB,IACHA,EAAevB,EAAIl6B,cAAc,IAAI7G,KAAKqK,YAAYR,eAGxD,MAAMqV,EAAalf,KAAKmf,uBAAuBmjB,GACzC3lB,EAAiB3c,KAAKof,mBAAmBtF,EAAWoF,IAEpD9C,EAAEA,EAACC,EAAEA,EAAGvC,UAAW4G,EAAc6hB,eAAEA,SAAyBplB,gBAChEnd,KAAKiL,SACL81B,EACApkB,GAoBF,GAhBApc,OAAOogB,OAAOogB,EAAIroB,MAAO,CACvBkI,SAAU,WACVP,KAAM,GAAGjE,MACT+D,IAAK,GAAG9D,QAINimB,IACFA,EAAa5pB,MAAMkI,SAAW,YAIhC5c,YAAYC,iBAAiB88B,EAAK,YAAargB,GAI3C4hB,GAAgBC,EAAeC,MAAO,CACxC,MAAQpmB,EAAGqmB,EAAQpmB,EAAGqmB,GAAWH,EAAeC,MAC1CG,EAAajiB,EAAepe,WAAW,QAAUoe,EAAepe,WAAW,UAIjF/B,OAAOogB,OAAO2hB,EAAa5pB,MAAO,CAChC2H,KAAMsiB,GAAyB,OAAXF,EAAkB,GAAGA,MAAa,GACtDtiB,IAAMwiB,GAAyB,OAAXD,EAAkC,GAAhB,GAAGA,MAEzCtiB,MAAO,GACPF,OAAQ,IAEZ,CACF,CAEAX,aACE,MAAM7C,OAAEA,GAAW1c,KAAKkL,QAExB,MAAsB,iBAAXwR,EACFA,EAAOlW,MAAM,KAAKyF,IAAI7I,GAASI,OAAOqS,SAASzS,EAAO,KAGzC,mBAAXsZ,EAEF,EAAG5C,YAAW2F,WACJ/C,EAAO,CAAE5C,YAAW+C,UAAW4C,EAAM5C,UAAW6C,SAAUD,EAAMC,UAAY1f,KAAKiL,UAK7FyR,CACT,CAEA4hB,yBAAyBQ,GACvB,OAAOx2B,QAAQw2B,EAAK,CAAC9+B,KAAKiL,SAAUjL,KAAKiL,UAC3C,CAEAkU,uBAAuBmjB,GACrB,MAAM3iB,EAAc3f,KAAKuf,aAEnBL,EAAa,CAEjBxC,OACyB,mBAAhBiD,EACLA,EACA,CAAEC,SAAUD,EAAY,IAAM,EAAGE,UAAWF,EAAY,IAAM,IAGlEG,KAAK,CACHC,mBAAoB/f,KAAKkL,QAAQ6U,qBAGnCE,MAAM,CACJ1D,SAAoC,oBAA1Bvc,KAAKkL,QAAQqR,SAAiC,oBAAsBvc,KAAKkL,QAAQqR,YAS/F,OAJI+lB,GACFpjB,EAAWrS,KAAK21B,MAAM,CAAEnlC,QAASilC,KAG5BpjB,CACT,CAEAE,mBAAmBtF,EAAWoF,GAC5B,MAAMoB,EAAgB,CACpBxG,YACAoF,cAGF,MAAO,IACFoB,KACAhY,QAAQtI,KAAKkL,QAAQyR,eAAgB,MAAC5C,EAAWuG,IAExD,CAEA0gB,gBACE,MAAM4B,EAAW5iC,KAAKkL,QAAQvI,QAAQ6D,MAAM,KAE5C,IAAK,MAAM7D,KAAWigC,EACpB,GAAgB,UAAZjgC,EACFpD,aAAa2C,GAAGlC,KAAKiL,SAAUjL,KAAKqK,YAAYuB,UA3fpC,SA2f4D5L,KAAKkL,QAAQtL,SAAUT,IAC7F,MAAMkqB,EAAUrpB,KAAKoiC,6BAA6BjjC,GAClDkqB,EAAQuX,eAA4B,QAAMvX,EAAQnR,YAAcmR,EAAQuX,eAA4B,OACpGvX,EAAQja,gBAEL,GAvgBU,WAugBNzM,EAA4B,CACrC,MAAMkgC,EA3gBQ,UA2gBElgC,EACd3C,KAAKqK,YAAYuB,UA/fF,cAggBf5L,KAAKqK,YAAYuB,UAlgBL,WAmgBRk3B,EA9gBQ,UA8gBGngC,EACf3C,KAAKqK,YAAYuB,UAjgBF,cAkgBf5L,KAAKqK,YAAYuB,UApgBJ,YAsgBfrM,aAAa2C,GAAGlC,KAAKiL,SAAU43B,EAAS7iC,KAAKkL,QAAQtL,SAAUT,IAC7D,MAAMkqB,EAAUrpB,KAAKoiC,6BAA6BjjC,GAClDkqB,EAAQuX,eAA8B,YAAfzhC,EAAMM,KAnhBjB,QADA,UAohBuE,EACnF4pB,EAAQiY,WAEV/hC,aAAa2C,GAAGlC,KAAKiL,SAAU63B,EAAU9iC,KAAKkL,QAAQtL,SAAUT,IAC9D,MAAMkqB,EAAUrpB,KAAKoiC,6BAA6BjjC,GAClDkqB,EAAQuX,eAA8B,aAAfzhC,EAAMM,KAxhBjB,QADA,SA0hBV4pB,EAAQpe,SAAS9J,SAAShC,EAAM+B,eAElCmoB,EAAQgY,UAEZ,CAGFrhC,KAAKuhC,kBAAoB,KACnBvhC,KAAKiL,UACPjL,KAAKmY,QAIT5Y,aAAa2C,GAAGlC,KAAKiL,SAAS9D,QA5iBX,UAGE,gBAyiBoDnH,KAAKuhC,kBAChF,CAEAN,YACE,MAAMV,EAAQvgC,KAAKiL,SAASpG,aAAa,SAEpC07B,IAIAvgC,KAAKiL,SAASpG,aAAa,eAAkB7E,KAAKiL,SAASmc,YAAYpb,QAC1EhM,KAAKiL,SAAS/G,aAAa,aAAcq8B,GAG3CvgC,KAAKiL,SAAS/G,aAAa,yBAA0Bq8B,GACrDvgC,KAAKiL,SAAS7G,gBAAgB,SAChC,CAEAk9B,SACMthC,KAAKkY,YAAclY,KAAK2gC,WAC1B3gC,KAAK2gC,YAAa,GAIpB3gC,KAAK2gC,YAAa,EAElB3gC,KAAK+iC,YAAY,KACX/iC,KAAK2gC,YACP3gC,KAAKoY,QAENpY,KAAKkL,QAAQo1B,MAAMloB,MACxB,CAEAipB,SACMrhC,KAAK6hC,yBAIT7hC,KAAK2gC,YAAa,EAElB3gC,KAAK+iC,YAAY,KACV/iC,KAAK2gC,YACR3gC,KAAKmY,QAENnY,KAAKkL,QAAQo1B,MAAMnoB,MACxB,CAEA4qB,YAAY7jC,EAAS8jC,GACnBxtB,aAAaxV,KAAK0gC,UAClB1gC,KAAK0gC,SAAW33B,WAAW7J,EAAS8jC,EACtC,CAEAnB,uBACE,OAAOthC,OAAOC,OAAOR,KAAK4gC,gBAAgB3+B,UAAS,EACrD,CAEA8H,WAAWC,GACT,MAAMi5B,EAAiBj/B,YAAYK,kBAAkBrE,KAAKiL,UAE1D,IAAK,MAAMi4B,KAAiB3iC,OAAOvC,KAAKilC,GAClChE,sBAAsBzhC,IAAI0lC,WACrBD,EAAeC,GAW1B,OAPAl5B,EAAS,IACJi5B,KACmB,iBAAXj5B,GAAuBA,EAASA,EAAS,IAEtDA,EAAShK,KAAKiK,gBAAgBD,GAC9BA,EAAShK,KAAKkK,kBAAkBF,GAChChK,KAAKmK,iBAAiBH,GACfA,CACT,CAEAE,kBAAkBF,GAkBhB,OAjBAA,EAAOwS,WAAiC,IAArBxS,EAAOwS,UAAsBzW,SAASoY,KAAOvX,WAAWoD,EAAOwS,WAEtD,iBAAjBxS,EAAOs2B,QAChBt2B,EAAOs2B,MAAQ,CACbloB,KAAMpO,EAAOs2B,MACbnoB,KAAMnO,EAAOs2B,QAIW,iBAAjBt2B,EAAOu2B,QAChBv2B,EAAOu2B,MAAQv2B,EAAOu2B,MAAM98B,YAGA,iBAAnBuG,EAAO4zB,UAChB5zB,EAAO4zB,QAAU5zB,EAAO4zB,QAAQn6B,YAG3BuG,CACT,CAEAq4B,qBACE,MAAMr4B,EAAS,GAEf,IAAK,MAAO1M,EAAK8F,KAAU7C,OAAOyB,QAAQhC,KAAKkL,SACzClL,KAAKqK,YAAYV,QAAQrM,KAAS8F,IACpC4G,EAAO1M,GAAO8F,GAUlB,OANA4G,EAAOpK,UAAW,EAClBoK,EAAOrH,QAAU,SAKVqH,CACT,CAEAwU,mBACMxe,KAAKod,mBACPpd,KAAKod,mBACLpd,KAAKod,iBAAmB,MAGtBpd,KAAK+gC,MACP/gC,KAAK+gC,IAAI9iC,SACT+B,KAAK+gC,IAAM,KAEf,EAOF,MAAMoC,YAAchkC,IAClB,MAAMY,EAASZ,EAAMY,OAAOoH,QAAQ8H,wBACpC,IAAKlP,EACH,OAIF,MAAMqjC,EAAU5C,QAAQ70B,oBAAoB5L,GAGzB,YAAfZ,EAAMM,OACR2jC,EAAQxC,eAAexiB,OAAQ,EAC/BglB,EAAQ9B,WAIZ/hC,aAAa2C,GAAG6D,SA/qBM,UA+qBmBkJ,uBAAsBk0B,aAC/D5jC,aAAa2C,GAAG6D,SA9qBS,aA8qBmBkJ,uBAAsBk0B,aC5tBlE,MAAMt5B,OAAO,UAEPw5B,eAAiB,kBACjBC,iBAAmB,gBACnBr0B,uBAAuB,6BAEvB0wB,cAAc,QACdC,gBAAgB,UAChB5tB,iBAAmB,aAEnBrI,UAAU,IACX62B,QAAQ72B,QACXi0B,QAAS,GACTlhB,OAAQ,CAAC,EAAG,GACZ5C,UAAW,QACXmkB,SAAU,8IAKVt7B,QAAS,SAGLiH,cAAc,IACf42B,QAAQ52B,YACXg0B,QAAS,kCAOX,MAAM2F,gBAAgB/C,QAEpB,kBAAW72B,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGA23B,iBACE,OAAOxhC,KAAK8hC,aAAe9hC,KAAKwjC,aAClC,CAGAxB,yBACE,MAAO,CACLqB,CAACA,gBAAiBrjC,KAAK8hC,YACvBwB,CAACA,kBAAmBtjC,KAAKwjC,cAE7B,CAEAA,cACE,OAAOxjC,KAAKs+B,yBAAyBt+B,KAAKkL,QAAQ0yB,QACpD,EAOF,MAAM6F,YAActkC,IAClB,MAAMY,EAASZ,EAAMY,OAAOoH,QAAQ8H,wBACpC,IAAKlP,EACH,OAIiB,UAAfZ,EAAMM,MACRN,EAAM2O,iBAIR,MAAM41B,EAAUH,QAAQ53B,oBAAoB5L,GAGzB,UAAfZ,EAAMM,KACRikC,EAAQt0B,SACgB,YAAfjQ,EAAMM,OACfikC,EAAQ9C,eAAexiB,OAAQ,EAC/BslB,EAAQpC,WAKZ/hC,aAAa2C,GAAG6D,SAtFI,QAsFmBkJ,uBAAsBw0B,aAC7DlkC,aAAa2C,GAAG6D,SAtFM,UAsFmBkJ,uBAAsBw0B,aAC/DlkC,aAAa2C,GAAG6D,SAtFS,aAsFmBkJ,uBAAsBw0B,aC1FlE,MAAM55B,OAAO,YACPsB,WAAW,eACXE,YAAY,IAAIF,aAChB4D,aAAe,YAEf40B,eAAiB,WAAWt4B,cAC5Bs0B,cAAc,QAAQt0B,cACtB8G,sBAAsB,OAAO9G,uBAE7Bu4B,qBAAuB,YACvB50B,oBAAoB,SAEpB60B,kBAAoB,yBACpBC,sBAAwB,SACxBC,wBAA0B,oBAC1BC,mBAAqB,YACrBC,mBAAqB,YACrBC,oBAAsB,mBACtBC,oBAAsB,qDACtBC,uBAAuB,0BAEvBz6B,UAAU,CACd06B,WAAY,eACZC,cAAc,EACdvkC,OAAQ,KACR0vB,UAAW,CAAC,GAAK,GAAK,IAGlB7lB,cAAc,CAClBy6B,WAAY,SACZC,aAAc,UACdvkC,OAAQ,UACR0vB,UAAW,SAOb,MAAM8U,kBAAkBx5B,cACtBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAGfhK,KAAKwkC,aAAe,IAAItnC,IACxB8C,KAAKykC,oBAAsB,IAAIvnC,IAC/B8C,KAAK0kC,aAA6D,YAA9Ct+B,iBAAiBpG,KAAKiL,UAAU05B,UAA0B,KAAO3kC,KAAKiL,SAC1FjL,KAAK4kC,cAAgB,KACrB5kC,KAAK6kC,UAAY,KACjB7kC,KAAK8kC,oBAAsB,CACzBC,gBAAiB,EACjBC,gBAAiB,GAEnBhlC,KAAKilC,SACP,CAGA,kBAAWt7B,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAo7B,UACEjlC,KAAKklC,mCACLllC,KAAKmlC,2BAEDnlC,KAAK6kC,UACP7kC,KAAK6kC,UAAU5b,aAEfjpB,KAAK6kC,UAAY7kC,KAAKolC,kBAGxB,IAAK,MAAMC,KAAWrlC,KAAKykC,oBAAoBjkC,SAC7CR,KAAK6kC,UAAUha,QAAQwa,EAE3B,CAEAj6B,UACEpL,KAAK6kC,UAAU5b,aACfje,MAAMI,SACR,CAGAlB,kBAAkBF,GAOhB,OANAA,EAAOjK,OAAS6G,WAAWoD,EAAOjK,SAAWgG,SAASoY,KAEtB,iBAArBnU,EAAOylB,YAChBzlB,EAAOylB,UAAYzlB,EAAOylB,UAAUjpB,MAAM,KAAKyF,IAAI7I,GAASI,OAAO8C,WAAWlD,KAGzE4G,CACT,CAEAm7B,2BACOnlC,KAAKkL,QAAQo5B,eAKlB/kC,aAAaC,IAAIQ,KAAKkL,QAAQnL,OAAQ4/B,eAEtCpgC,aAAa2C,GAAGlC,KAAKkL,QAAQnL,OAAQ4/B,cAhGX,SAgG+CxgC,IACvE,MAAMmmC,EAAoBtlC,KAAKykC,oBAAoB/mC,IAAIyB,EAAMY,OAAOwlC,MACpE,GAAID,EAAmB,CACrBnmC,EAAM2O,iBACN,MAAM/F,EAAO/H,KAAK0kC,cAAgBx/B,OAC5BsgC,EAASF,EAAkBG,UAAYzlC,KAAKiL,SAASw6B,UAC3D,GAAI19B,EAAK29B,SAEP,YADA39B,EAAK29B,SAAS,CAAEvlB,IAAKqlB,EAAQG,SAAU,WAKzC59B,EAAK69B,UAAYJ,CACnB,IAEJ,CAEAJ,kBACE,MAAMlN,EAAU,CACdnwB,KAAM/H,KAAK0kC,aACXjV,UAAWzvB,KAAKkL,QAAQukB,UACxB4U,WAAYrkC,KAAKkL,QAAQm5B,YAG3B,OAAO,IAAIwB,qBAAqB7jC,GAAWhC,KAAK8lC,kBAAkB9jC,GAAUk2B,EAC9E,CAGA4N,kBAAkB9jC,GAChB,MAAM+jC,EAAgB5H,GAASn+B,KAAKwkC,aAAa9mC,IAAI,IAAIygC,EAAMp+B,OAAOuF,MAChE0gC,EAAW7H,IACfn+B,KAAK8kC,oBAAoBC,gBAAkB5G,EAAMp+B,OAAO0lC,UACxDzlC,KAAKimC,SAASF,EAAc5H,KAGxB6G,GAAmBhlC,KAAK0kC,cAAgB3+B,SAAS6B,iBAAiBg+B,UAClEM,EAAkBlB,GAAmBhlC,KAAK8kC,oBAAoBE,gBACpEhlC,KAAK8kC,oBAAoBE,gBAAkBA,EAE3C,IAAK,MAAM7G,KAASn8B,EAAS,CAC3B,IAAKm8B,EAAMgI,eAAgB,CACzBnmC,KAAK4kC,cAAgB,KACrB5kC,KAAKomC,kBAAkBL,EAAc5H,IAErC,QACF,CAEA,MAAMkI,EAA2BlI,EAAMp+B,OAAO0lC,WAAazlC,KAAK8kC,oBAAoBC,gBAEpF,GAAImB,GAAmBG,GAGrB,GAFAL,EAAS7H,IAEJ6G,EACH,YAOCkB,GAAoBG,GACvBL,EAAS7H,EAEb,CACF,CAEA+G,mCACEllC,KAAKwkC,aAAe,IAAItnC,IACxB8C,KAAKykC,oBAAsB,IAAIvnC,IAE/B,MAAMopC,EAAcl6B,eAAe3L,KAtKT,SAsKqCT,KAAKkL,QAAQnL,QAE5E,IAAK,MAAMwmC,KAAUD,EAAa,CAEhC,IAAKC,EAAOhB,MAAQl+B,WAAWk/B,GAC7B,SAGF,MAAMjB,EAAoBl5B,eAAeG,QAAQi6B,UAAUD,EAAOhB,MAAOvlC,KAAKiL,UAG1EnE,UAAUw+B,KACZtlC,KAAKwkC,aAAapnC,IAAIopC,UAAUD,EAAOhB,MAAOgB,GAC9CvmC,KAAKykC,oBAAoBrnC,IAAImpC,EAAOhB,KAAMD,GAE9C,CACF,CAEAW,SAASlmC,GACHC,KAAK4kC,gBAAkB7kC,IAI3BC,KAAKomC,kBAAkBpmC,KAAKkL,QAAQnL,QACpCC,KAAK4kC,cAAgB7kC,EACrBA,EAAOyH,UAAU0J,IAlMK,UAmMtBlR,KAAKymC,iBAAiB1mC,GAEtBR,aAAaoD,QAAQ3C,KAAKiL,SAAU04B,eAAgB,CAAEziC,cAAenB,IACvE,CAEA0mC,iBAAiB1mC,GAEf,GAAIA,EAAOyH,UAAUrG,SA3MI,aA2M4B,CACnD,MAAMulC,EAAa3mC,EAAOoH,QAAQ,UAAU6F,uBAK5C,YAJI05B,GAAYh6B,QAAQ03B,yBACtBsC,EAAWl/B,UAAU0J,IA7MH,UAiNtB,CAEA,IAAK,MAAMy1B,KAAav6B,eAAeO,QAAQ5M,EA/MnB,qBAkN1B,IAAK,MAAM6mB,KAAQxa,eAAeU,KAAK65B,EAAWxC,qBAChDvd,EAAKpf,UAAU0J,IAvNG,SA0NxB,CAEAk1B,kBAAkB5uB,GAChBA,EAAOhQ,UAAUvJ,OA7NK,UA+NtB,MAAM2oC,EAAcx6B,eAAe3L,KAAK,gBAAiD+W,GACzF,IAAK,MAAMqvB,KAAQD,EACjBC,EAAKr/B,UAAUvJ,OAjOK,SAmOxB,EAOFsB,aAAa2C,GAAGgD,OAAQiN,sBAAqB,KAC3C,IAAK,MAAM20B,KAAO16B,eAAe3L,KAAKojC,mBACpCU,UAAU54B,oBAAoBm7B,KCxPlC,MAAMj9B,OAAO,MACPsB,WAAW,SACXE,YAAY,UAEZyL,aAAa,cACbC,eAAe,gBACfH,aAAa,cACbC,cAAc,eACd3H,qBAAuB,eACvB6C,cAAgB,iBAChBI,oBAAsB,cAEtBb,eAAiB,YACjBC,gBAAkB,aAClBuJ,aAAe,UACfC,eAAiB,YACjBC,SAAW,OACXC,QAAU,MAEVjM,kBAAoB,SACpBP,kBAAkB,OAClBC,kBAAkB,OAClB01B,qBAAuB,0BACvB5oB,cAAgB,QAChBurB,yBAA2B,QAAQ3C,wBAEnC4C,mBAAqB,sCACrBC,eAAiB,8BACjBC,eAAiB,YAAYH,6CAA6CA,yCAAyCA,2BACnH93B,uBAAuB,yBACvBk4B,oBAAsB,GAAGD,mBAAmBj4B,yBAE5Cm4B,4BAA8B,gCAMpC,MAAMC,YAAYt8B,cAChBV,YAAYhN,GACV2N,MAAM3N,GACN2C,KAAKud,QAAUvd,KAAKiL,SAAS9D,QAAQ6/B,oBAEhChnC,KAAKud,UAOVvd,KAAKsnC,sBAAsBtnC,KAAKud,QAASvd,KAAKunC,gBAE9ChoC,aAAa2C,GAAGlC,KAAKiL,SAAU8G,cAAe5S,GAASa,KAAKkV,SAAS/V,IACvE,CAGA,eAAW0K,GACT,MAzDS,KA0DX,CAGAuO,OACE,MAAMovB,EAAYxnC,KAAKiL,SACvB,GAAIjL,KAAKynC,cAAcD,GACrB,OAIF,MAAME,EAAS1nC,KAAK2nC,iBAEdC,EAAYF,EAChBnoC,aAAaoD,QAAQ+kC,EAAQ5wB,aAAY,CAAE5V,cAAesmC,IAC1D,KAEgBjoC,aAAaoD,QAAQ6kC,EAAW5wB,aAAY,CAAE1V,cAAewmC,IAEjE74B,kBAAqB+4B,GAAaA,EAAU/4B,mBAI1D7O,KAAK6nC,YAAYH,EAAQF,GACzBxnC,KAAK8nC,UAAUN,EAAWE,GAC5B,CAGAI,UAAUzqC,EAAS0qC,GACZ1qC,IAILA,EAAQmK,UAAU0J,IAvEI,UAyEtBlR,KAAK8nC,UAAU17B,eAAemB,uBAAuBlQ,IAgBrD2C,KAAKwL,eAdYoN,KACsB,QAAjCvb,EAAQwH,aAAa,SAKzBxH,EAAQ+G,gBAAgB,YACxB/G,EAAQ6G,aAAa,iBAAiB,GACtClE,KAAKgoC,YAAY3qC,GAAS,GAC1BkC,aAAaoD,QAAQtF,EAASwZ,cAAa,CACzC3V,cAAe6mC,KARf1qC,EAAQmK,UAAU0J,IA3EF,SAuFU7T,EAASA,EAAQmK,UAAUrG,SAxFrC,SAyFtB,CAEA0mC,YAAYxqC,EAAS0qC,GACd1qC,IAILA,EAAQmK,UAAUvJ,OAjGI,UAkGtBZ,EAAQs8B,OAER35B,KAAK6nC,YAAYz7B,eAAemB,uBAAuBlQ,IAcvD2C,KAAKwL,eAZYoN,KACsB,QAAjCvb,EAAQwH,aAAa,SAKzBxH,EAAQ6G,aAAa,iBAAiB,GACtC7G,EAAQ6G,aAAa,WAAY,MACjClE,KAAKgoC,YAAY3qC,GAAS,GAC1BkC,aAAaoD,QAAQtF,EAAS0Z,eAAc,CAAE7V,cAAe6mC,KAP3D1qC,EAAQmK,UAAUvJ,OAtGF,SAgHUZ,EAASA,EAAQmK,UAAUrG,SAjHrC,SAkHtB,CAEA+T,SAAS/V,GACP,IAAM,CAACmS,eAAgBC,gBAAiBuJ,aAAcC,eAAgBC,SAAUC,SAAShZ,SAAS9C,EAAM7B,KACtG,OAGF6B,EAAMsiB,kBACNtiB,EAAM2O,iBAEN,MAAMtB,EAAWxM,KAAKunC,eAAe9iC,OAAOpH,IAAYgK,WAAWhK,IACnE,IAAI4qC,EAEJ,GAAI,CAACjtB,SAAUC,SAAShZ,SAAS9C,EAAM7B,KACrC2qC,EAAoBz7B,EAASrN,EAAM7B,MAAQ0d,SAAW,EAAIxO,EAAS9J,OAAS,OACvE,CACL,MAAMoT,EAAS,CAACvE,gBAAiBwJ,gBAAgB9Y,SAAS9C,EAAM7B,KAChE2qC,EAAoBj/B,qBAAqBwD,EAAUrN,EAAMY,OAAQ+V,GAAQ,EAC3E,CAEImyB,IACFA,EAAkB7pB,MAAM,CAAE8pB,eAAe,IACzCb,IAAI17B,oBAAoBs8B,GAAmB7vB,OAE/C,CAEAmvB,eACE,OAAOn7B,eAAe3L,KAAK0mC,oBAAqBnnC,KAAKud,QACvD,CAEAoqB,iBACE,OAAO3nC,KAAKunC,eAAe9mC,KAAKgM,GAASzM,KAAKynC,cAAch7B,KAAW,IACzE,CAEA66B,sBAAsB9vB,EAAQhL,GAC5BxM,KAAKmoC,yBAAyB3wB,EAAQ,OAAQ,WAE9C,IAAK,MAAM/K,KAASD,EAClBxM,KAAKooC,6BAA6B37B,EAEtC,CAEA27B,6BAA6B37B,GAC3BA,EAAQzM,KAAKqoC,iBAAiB57B,GAC9B,MAAM67B,EAAWtoC,KAAKynC,cAAch7B,GAC9B87B,EAAYvoC,KAAKwoC,iBAAiB/7B,GACxCA,EAAMvI,aAAa,gBAAiBokC,GAEhCC,IAAc97B,GAChBzM,KAAKmoC,yBAAyBI,EAAW,OAAQ,gBAG9CD,GACH77B,EAAMvI,aAAa,WAAY,MAGjClE,KAAKmoC,yBAAyB17B,EAAO,OAAQ,OAG7CzM,KAAKyoC,mCAAmCh8B,EAC1C,CAEAg8B,mCAAmCh8B,GACjC,MAAM1M,EAASqM,eAAemB,uBAAuBd,GAEhD1M,IAILC,KAAKmoC,yBAAyBpoC,EAAQ,OAAQ,YAE1C0M,EAAMnH,IACRtF,KAAKmoC,yBAAyBpoC,EAAQ,kBAAmB,GAAG0M,EAAMnH,MAEtE,CAEA0iC,YAAY3qC,EAASmxB,GACnB,MAAM+Z,EAAYvoC,KAAKwoC,iBAAiBnrC,GAClCqpC,EAAat6B,eAAeG,QAAQ63B,qBAAsBmE,GAChE,IAAK7B,EACH,OAGF,MAAM9pB,EAAOxQ,eAAeG,QAlMV,QAkMiCg8B,GAEnD7B,EAAWl/B,UAAU4H,OAxMC,SAwMyBof,GAC3C5R,GACFA,EAAKpV,UAAU4H,OAxMG,OAwMqBof,GAGzCkY,EAAWxiC,aAAa,gBAAiBsqB,EAC3C,CAEA2Z,yBAAyB9qC,EAASo/B,EAAWr5B,GACtC/F,EAAQqK,aAAa+0B,IACxBp/B,EAAQ6G,aAAau4B,EAAWr5B,EAEpC,CAEAqkC,cAAc5vB,GACZ,OAAOA,EAAKrQ,UAAUrG,SAvNA,SAwNxB,CAGAknC,iBAAiBxwB,GACf,OAAOA,EAAKnL,QAAQy6B,qBAAuBtvB,EAAOzL,eAAeG,QAAQ46B,oBAAqBtvB,EAChG,CAGA2wB,iBAAiB3wB,GACf,OAAOA,EAAK1Q,QAAQ8/B,iBAAmBpvB,CACzC,EAOFtY,aAAa2C,GAAG6D,SApPa,eAoPmBkJ,uBAAsB,SAAU9P,GAC1E,CAAC,IAAK,QAAQ8C,SAASjC,KAAK6N,UAC9B1O,EAAM2O,iBAGJzG,WAAWrH,OAIfqnC,IAAI17B,oBAAoB3L,MAAMoY,MAChC,GAKA7Y,aAAa2C,GAAGgD,OAjQY,cAiQiB,KAC3C,IAAK,MAAM7H,KAAW+O,eAAe3L,KAAK2mC,6BACxCC,IAAI17B,oBAAoBtO,KC7Q5B,MAAMwM,OAAO,QACPsB,WAAW,WACXE,YAAY,YAEZq9B,gBAAkB,qBAClBC,eAAiB,oBACjB/I,cAAgB,mBAChBC,eAAiB,oBACjB/oB,WAAa,gBACbC,aAAe,kBACfH,WAAa,gBACbC,YAAc,iBAEdpI,gBAAkB,OAClBm6B,gBAAkB,OAClBl6B,gBAAkB,OAClBm6B,mBAAqB,UAErBj/B,cAAc,CAClBw2B,UAAW,UACX0I,SAAU,UACVxI,MAAO,UAGH32B,UAAU,CACdy2B,WAAW,EACX0I,UAAU,EACVxI,MAAO,KAOT,MAAMyI,cAAch+B,cAClBV,YAAYhN,EAAS2M,GACnBgB,MAAM3N,EAAS2M,GAEfhK,KAAK0gC,SAAW,KAChB1gC,KAAKgpC,sBAAuB,EAC5BhpC,KAAKipC,yBAA0B,EAC/BjpC,KAAKghC,eACP,CAGA,kBAAWr3B,GACT,OAAOA,SACT,CAEA,sBAAWC,GACT,OAAOA,aACT,CAEA,eAAWC,GACT,OAAOA,MACT,CAGAuO,OACoB7Y,aAAaoD,QAAQ3C,KAAKiL,SAAU2L,YAExC/H,mBAId7O,KAAKkpC,gBAEDlpC,KAAKkL,QAAQk1B,WACfpgC,KAAKiL,SAASzD,UAAU0J,IAvDN,QAiEpBlR,KAAKiL,SAASzD,UAAUvJ,OAhEJ,QAiEpBiK,OAAOlI,KAAKiL,UACZjL,KAAKiL,SAASzD,UAAU0J,IAjEJ,OACG,WAkEvBlR,KAAKwL,eAXYoN,KACf5Y,KAAKiL,SAASzD,UAAUvJ,OAxDH,WAyDrBsB,aAAaoD,QAAQ3C,KAAKiL,SAAU4L,aAEpC7W,KAAKmpC,sBAOuBnpC,KAAKiL,SAAUjL,KAAKkL,QAAQk1B,WAC5D,CAEAjoB,OACOnY,KAAKopC,YAIQ7pC,aAAaoD,QAAQ3C,KAAKiL,SAAU6L,YAExCjI,mBAUd7O,KAAKiL,SAASzD,UAAU0J,IAtFD,WAuFvBlR,KAAKwL,eAPYoN,KACf5Y,KAAKiL,SAASzD,UAAU0J,IAnFN,QAoFlBlR,KAAKiL,SAASzD,UAAUvJ,OAlFH,UADH,QAoFlBsB,aAAaoD,QAAQ3C,KAAKiL,SAAU8L,eAIR/W,KAAKiL,SAAUjL,KAAKkL,QAAQk1B,YAC5D,CAEAh1B,UACEpL,KAAKkpC,gBAEDlpC,KAAKopC,WACPppC,KAAKiL,SAASzD,UAAUvJ,OA/FN,QAkGpB+M,MAAMI,SACR,CAEAg+B,UACE,OAAOppC,KAAKiL,SAASzD,UAAUrG,SAtGX,OAuGtB,CAGAgoC,qBACOnpC,KAAKkL,QAAQ49B,WAId9oC,KAAKgpC,sBAAwBhpC,KAAKipC,0BAItCjpC,KAAK0gC,SAAW33B,WAAW,KACzB/I,KAAKmY,QACJnY,KAAKkL,QAAQo1B,QAClB,CAEA+I,eAAelqC,EAAOmqC,GACpB,OAAQnqC,EAAMM,MACZ,IAAK,YACL,IAAK,WACHO,KAAKgpC,qBAAuBM,EAC5B,MAGF,IAAK,UACL,IAAK,WACHtpC,KAAKipC,wBAA0BK,EASnC,GAAIA,EAEF,YADAtpC,KAAKkpC,gBAIP,MAAMnzB,EAAc5W,EAAM+B,cACtBlB,KAAKiL,WAAa8K,GAAe/V,KAAKiL,SAAS9J,SAAS4U,IAI5D/V,KAAKmpC,oBACP,CAEAnI,gBACEzhC,aAAa2C,GAAGlC,KAAKiL,SAAUy9B,gBAAiBvpC,GAASa,KAAKqpC,eAAelqC,GAAO,IACpFI,aAAa2C,GAAGlC,KAAKiL,SAAU09B,eAAgBxpC,GAASa,KAAKqpC,eAAelqC,GAAO,IACnFI,aAAa2C,GAAGlC,KAAKiL,SAAU20B,cAAezgC,GAASa,KAAKqpC,eAAelqC,GAAO,IAClFI,aAAa2C,GAAGlC,KAAKiL,SAAU40B,eAAgB1gC,GAASa,KAAKqpC,eAAelqC,GAAO,GACrF,CAEA+pC,gBACE1zB,aAAaxV,KAAK0gC,UAClB1gC,KAAK0gC,SAAW,IAClB,EAOFjzB,qBAAqBs7B,OCzLrB,MAAMl/B,KAAO,UACPsB,SAAW,aACXE,UAAY,IAAIF,WAEhBo+B,aAAe,SAASl+B,YACxBm+B,cAAgB,UAAUn+B,YAC1Bs0B,YAAc,QAEd1wB,qBAAuB,6BAEvBrF,YAAc,CAClB6yB,UAAW,SACXr5B,MAAO,2BAGHuG,QAAU,CACd8yB,UAAW,QACXr5B,MAAO,MAOT,MAAMqmC,gBAAgB1+B,cAEpB,kBAAWpB,GACT,OAAOA,OACT,CAEA,sBAAWC,GACT,OAAOA,WACT,CAEA,eAAWC,GACT,OAAOA,IACT,CAGAuF,SACsB7P,aAAaoD,QAAQ3C,KAAKiL,SAAUs+B,cAExC16B,mBAIhB7O,KAAK0pC,WAELnqC,aAAaoD,QAAQ3C,KAAKiL,SAAUu+B,eACtC,CAGAE,WACE,MAAMjN,UAAEA,EAASr5B,MAAEA,GAAUpD,KAAKkL,QAEhB,OAAduxB,IAIc,UAAdA,EAMAz8B,KAAKiL,SAASpG,aAAa43B,KAAexP,OAAO7pB,GAKrDpD,KAAKiL,SAAS/G,aAAau4B,EAAWr5B,GAJpCpD,KAAKiL,SAAS7G,gBAAgBq4B,GAN9Bz8B,KAAKiL,SAASzD,UAAU4H,OAAOhM,GAWnC,EAOF2K,oBAAoB07B,QAxEA,QAwEsBx6B,qBAAsB,iB","ignoreList":[]}
\ No newline at end of file
+{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","getAny","values","next","value","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","this","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","length","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","upCallback","downCallback","Swipe","isSupported","_deltaX","_deltaY","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","clientY","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","absDeltaY","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","ARROW_LEFT_KEY$2","ARROW_RIGHT_KEY$2","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","placement","undefined","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","createBreakpointListeners","listeners","minWidth","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","container","display","offset","floatingConfig","menu","reference","strategy","submenuTrigger","submenuDelay","Menu","static","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_findMenu","_menuOriginalParent","_parseResponsivePlacements","_setupSubmenuListeners","_moveMenuToContainer","_createFloating","body","focus","focusVisible","_openInstances","_completeHide","_disposeFloating","_restoreMenuToOriginalParent","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","bottom","top","right","left","defaultConfig","_getContainer","append","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","timestamp","Date","now","submenuRect","currentPos","lastPos","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","_selectMenuItem","currentMenu","_handleSubmenuKeydown","isRtl","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","clearMenus","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_CHANGE","CLASS_NAME_SELECTED","CLASS_NAME_PLACEHOLDER","SELECTOR_MENU_ITEM","SELECTOR_VALUE","SELECTOR_SEARCH_INPUT","SELECTOR_NO_RESULTS","multiple","placeholder","search","searchNormalize","Combobox","_toggle","_valueDisplay","_searchInput","_noResults","_hiddenInput","_menuInstance","_createHiddenInput","_createMenuInstance","_syncInitialSelection","_filterItems","createElement","insertBefore","_getSelectedItems","_updateToggleText","_updateHiddenInput","_showPlaceholder","item","_selectItem","_handleToggleKeydown","_handleMenuKeydown","_getVisibleItems","previouslySelected","bsValue","selectedItems","textContent","label","query","normalizedQuery","_normalizeText","visibleCount","text","normalize","jQueryInterface","each","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","vcpOptions","Datepicker","_calendar","_initCalendar","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","dateStr","year","month","day","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","formatted","String","padStart","getDate","bsInline","CLASS_NAME_OPEN","DialogBase","_openedAsModal","_addDialogListeners","open","_onBeforeShow","modal","preventBodyScroll","_getShowOptions","_showElement","_hideElement","_onAfterHide","_getInstantClassName","_getStaticClassName","_onCancel","showModal","_hideChildComponents","_triggerBackdropTransition","staticClass","eventKey","backdrop","EVENT_CANCEL","CLASS_NAME_NONMODAL","Dialog","handleUpdate","showEvent","currentDialog","currentInstance","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","SELECTOR_CUSTOM_ICON","CLASS_NAME_KEEP","collapseBelow","iconPlacement","menuPlacement","moreText","moreIcon","threshold","NavOverflow","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_collapseBelow","_isInitialized","_init","_calculateOverflow","_restoreItems","parentElement","bsNavOrder","_resolveCollapseBelow","_createOverflowMenu","_setupResizeObserver","iconSpan","_resolveIcon","textSpan","toggleContent","overflowItem","className","innerHTML","customIconElement","iconClone","cloneNode","iconHtml","outerHTML","cssValue","ResizeObserver","navWidth","offsetWidth","itemsToOverflow","_moveToOverflow","overflowCount","usedWidth","overflowThreshold","toMove","link","clonedLink","bsNavOverflow","EVENT_RESIZE","scroll","Drawer","_initSwipe","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","setProperty","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handleKeydown","_handlePaste","_handleFocus","i","nextIndex","digits","clipboardData","getData","lastIndex","select","every","EVENT_ADD","EVENT_REMOVE","EVENT_SELECT","SELECTOR_DATA_CHIP_INPUT","SELECTOR_GHOST_INPUT","SELECTOR_CHIP","SELECTOR_CHIP_DISMISS","CLASS_NAME_CHIP","CLASS_NAME_CHIP_DISMISS","DEFAULT_DISMISS_ICON","allowDuplicates","maxChips","dismissible","dismissIcon","createOnBlur","ChipInput","_chips","_selectedChips","_anchorChip","_createInput","_initializeExistingChips","trimmedValue","chip","_createChip","getValues","chipOrValue","_findChipByValue","_getChipValue","v","removeSelected","chipsToRemove","getSelectedValues","chips","clearSelection","selectChip","options","addToSelection","rangeSelect","chipElements","_getChipElements","anchorIndex","chipIndex","start","end","existingChips","_setupChip","_createDismissButton","bsChipValue","createTextNode","clone","dismiss","_handleInputKeydown","_createChipFromInput","metaKey","ctrlKey","shiftKey","_handleChipKeydown","lastChip","selectionStart","selectionEnd","blur","currentIndex","_handleChipDelete","_navigateChip","_navigateToEdge","_handleSelectAll","remainingChips","focusIndex","targetIndex","targetChip","c","pastedData","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","createdDocument","DOMParser","parseFromString","elements","elementName","attributeList","allowedAttributes","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSIN","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","isInTheDom","ownerDocument","_getTipElement","closestDialog","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_MENU_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_MENU_TOGGLE","rootMargin","smoothScroll","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","IntersectionObserver","_observerCallback","targetElement","activate","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","menuToggle","listGroup","activeNodes","node","spy","NOT_SELECTOR_MENU_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleMenu","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","_execute"],"sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/util/floating-ui.js","../../js/src/menu.js","../../js/src/combobox.js","../../js/src/datepicker.js","../../js/src/dialog-base.js","../../js/src/dialog.js","../../js/src/nav-overflow.js","../../js/src/drawer.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/chip-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  getAny(element) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).values().next().value || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null,\n  upCallback: null,\n  downCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)',\n  upCallback: '(function|null)',\n  downCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._deltaY = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n      this._deltaY = event.touches[0].clientY\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n      this._deltaY = event.clientY\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n      this._deltaY = event.clientY - this._deltaY\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    if (event.touches && event.touches.length > 1) {\n      this._deltaX = 0\n      this._deltaY = 0\n      return\n    }\n\n    this._deltaX = event.touches[0].clientX - this._deltaX\n    this._deltaY = event.touches[0].clientY - this._deltaY\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n    const absDeltaY = Math.abs(this._deltaY)\n\n    // Determine primary axis: whichever has greater movement wins\n    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {\n      // Vertical swipe\n      const direction = this._deltaY > 0 ? 'down' : 'up'\n      this._deltaX = 0\n      this._deltaY = 0\n      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback)\n      return\n    }\n\n    if (absDeltaX > SWIPE_THRESHOLD) {\n      // Horizontal swipe\n      const direction = absDeltaX / this._deltaX\n      this._deltaX = 0\n      this._deltaY = 0\n\n      if (!direction) {\n        return\n      }\n\n      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n      return\n    }\n\n    this._deltaX = 0\n    this._deltaY = 0\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap menu.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'menu'\nconst DATA_KEY = 'bs.menu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"menu\"]:not(.disabled):not(:disabled)'\n\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_SUBMENU = '.submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.submenu > .menu-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item:not(.disabled):not(:disabled)'\n\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  container: false,\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  menu: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  strategy: 'absolute',\n  submenuTrigger: 'both',\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  menu: '(null|element)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  strategy: 'string',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Menu extends BaseComponent {\n  static _openInstances = new Set()\n\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s menus require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode\n    this._isSubmenu = this._parent.classList?.contains('submenu')\n    this._openSubmenus = new Map()\n    this._submenuCloseTimeouts = new Map()\n    this._hoverIntentData = null\n\n    this._menu = this._config.menu || this._findMenu()\n\n    this._menuOriginalParent = this._menu?.parentNode\n\n    this._parseResponsivePlacements()\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._moveMenuToContainer()\n    this._createFloating()\n\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus({ focusVisible: false })\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.add(CLASS_NAME_SHOW)\n    }\n\n    Menu._openInstances.add(this)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    Menu._openInstances.delete(this)\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _findMenu() {\n    return SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n  }\n\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._closeAllSubmenus()\n\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n    this._restoreMenuToOriginalParent()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    if (this._parent) {\n      this._parent.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    Menu._openInstances.delete(this)\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    this._updateFloatingPosition(referenceElement)\n\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware,\n      floatingConfig.strategy\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    const placement = this._getPlacement()\n\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware,\n      strategy: this._config.strategy\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  _getContainer() {\n    const { container } = this._config\n    if (container === false) {\n      return null\n    }\n\n    return container === true ? document.body : getElement(container)\n  }\n\n  _moveMenuToContainer() {\n    const container = this._getContainer()\n    if (!container || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== container) {\n      container.append(this._menu)\n    }\n  }\n\n  _restoreMenuToOriginalParent() {\n    if (!this._menuOriginalParent || !this._menu) {\n      return\n    }\n\n    if (this._menu.parentNode !== this._menuOriginalParent) {\n      this._menuOriginalParent.append(this._menu)\n    }\n  }\n\n  async _applyFloatingPosition(reference, floating, placement, middleware, strategy = 'absolute') {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware, strategy }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: strategy,\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    this._cancelSubmenuCloseTimeout(submenu)\n    this._closeSiblingSubmenus(submenuWrapper)\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n    EventHandler.off(submenu, 'mouseenter')\n\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    const isRtl = isRTL()\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    for (const instance of Menu._openInstances) {\n      if (instance._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(instance._menu)\n      if (\n        composedPath.includes(instance._element) ||\n        (instance._config.autoClose === 'inside' && !isMenuTarget) ||\n        (instance._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      if (instance._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: instance._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      instance._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Menu.getOrCreateInstance(getToggleButton)\n\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Menu.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Menu.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Menu.getOrCreateInstance(this).toggle()\n})\n\nexport default Menu\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap combobox.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Menu from './menu.js'\nimport { getNextActiveElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'combobox'\nconst DATA_KEY = 'bs.combobox'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_PLACEHOLDER = 'combobox-placeholder'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"combobox\"]'\nconst SELECTOR_MENU = '.menu'\nconst SELECTOR_MENU_ITEM = '.menu-item[data-bs-value]'\nconst SELECTOR_VISIBLE_ITEMS = '.menu-item[data-bs-value]:not(.disabled):not(:disabled)'\nconst SELECTOR_VALUE = '.combobox-value'\nconst SELECTOR_SEARCH_INPUT = '.combobox-search-input'\nconst SELECTOR_NO_RESULTS = '.combobox-no-results'\n\nconst Default = {\n  boundary: 'clippingParents',\n  multiple: false,\n  name: null,\n  offset: [0, 2],\n  placeholder: '',\n  placement: 'bottom-start',\n  search: false,\n  searchNormalize: false\n}\n\nconst DefaultType = {\n  boundary: '(string|element)',\n  multiple: 'boolean',\n  name: '(string|null)',\n  offset: '(array|string|function)',\n  placeholder: 'string',\n  placement: 'string',\n  search: 'boolean',\n  searchNormalize: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Combobox extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._toggle = this._element\n    this._menu = SelectorEngine.next(this._toggle, SELECTOR_MENU)[0]\n    this._valueDisplay = SelectorEngine.findOne(SELECTOR_VALUE, this._toggle)\n    this._searchInput = SelectorEngine.findOne(SELECTOR_SEARCH_INPUT, this._menu)\n    this._noResults = SelectorEngine.findOne(SELECTOR_NO_RESULTS, this._menu)\n    this._hiddenInput = null\n    this._menuInstance = null\n\n    this._createHiddenInput()\n    this._createMenuInstance()\n    this._syncInitialSelection()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._toggle) || this._isShown()) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._toggle, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.show()\n\n    if (this._searchInput) {\n      this._searchInput.value = ''\n      this._filterItems('')\n      requestAnimationFrame(() => this._searchInput.focus())\n    }\n\n    EventHandler.trigger(this._toggle, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._toggle, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._menuInstance.hide()\n    EventHandler.trigger(this._toggle, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._menuInstance) {\n      this._menuInstance.dispose()\n      this._menuInstance = null\n    }\n\n    if (this._hiddenInput) {\n      this._hiddenInput.remove()\n      this._hiddenInput = null\n    }\n\n    EventHandler.off(this._menu, EVENT_KEY)\n    EventHandler.off(this._toggle, EVENT_KEY)\n\n    super.dispose()\n  }\n\n  // Private\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _createHiddenInput() {\n    const { name } = this._config\n    if (!name) {\n      return\n    }\n\n    this._hiddenInput = document.createElement('input')\n    this._hiddenInput.type = 'hidden'\n    this._hiddenInput.name = name\n    this._hiddenInput.value = ''\n    this._toggle.parentNode.insertBefore(this._hiddenInput, this._toggle)\n  }\n\n  _createMenuInstance() {\n    this._menuInstance = new Menu(this._toggle, {\n      menu: this._menu,\n      autoClose: this._config.multiple ? 'outside' : true,\n      boundary: this._config.boundary,\n      offset: this._config.offset,\n      placement: this._config.placement\n    })\n  }\n\n  _syncInitialSelection() {\n    const selectedItems = this._getSelectedItems()\n    if (selectedItems.length > 0) {\n      this._updateToggleText()\n      this._updateHiddenInput()\n    } else {\n      this._showPlaceholder()\n    }\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._menu, 'click', SELECTOR_MENU_ITEM, event => {\n      const item = event.target.closest(SELECTOR_MENU_ITEM)\n      if (!item || isDisabled(item)) {\n        return\n      }\n\n      event.preventDefault()\n      event.stopPropagation()\n      this._selectItem(item)\n    })\n\n    EventHandler.on(this._toggle, 'keydown', event => {\n      this._handleToggleKeydown(event)\n    })\n\n    EventHandler.on(this._menu, 'keydown', event => {\n      this._handleMenuKeydown(event)\n    })\n\n    if (this._searchInput) {\n      EventHandler.on(this._searchInput, 'input', () => {\n        this._filterItems(this._searchInput.value)\n      })\n\n      EventHandler.on(this._searchInput, 'keydown', event => {\n        if (event.key === ARROW_DOWN_KEY) {\n          event.preventDefault()\n          const items = this._getVisibleItems()\n          if (items.length > 0) {\n            items[0].focus()\n          }\n        }\n\n        if (event.key === ESCAPE_KEY) {\n          this.hide()\n          this._toggle.focus()\n        }\n      })\n    }\n  }\n\n  _selectItem(item) {\n    if (this._config.multiple) {\n      item.classList.toggle(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', item.classList.contains(CLASS_NAME_SELECTED))\n    } else {\n      const previouslySelected = SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n      for (const prev of previouslySelected) {\n        prev.classList.remove(CLASS_NAME_SELECTED)\n        prev.setAttribute('aria-selected', 'false')\n      }\n\n      item.classList.add(CLASS_NAME_SELECTED)\n      item.setAttribute('aria-selected', 'true')\n    }\n\n    this._updateToggleText()\n    this._updateHiddenInput()\n\n    const value = this._config.multiple ?\n      this._getSelectedItems().map(el => el.dataset.bsValue) :\n      item.dataset.bsValue\n\n    EventHandler.trigger(this._toggle, EVENT_CHANGE, {\n      value,\n      item\n    })\n\n    if (!this._config.multiple) {\n      this.hide()\n      this._toggle.focus()\n    }\n  }\n\n  _updateToggleText() {\n    const selectedItems = this._getSelectedItems()\n\n    if (selectedItems.length === 0) {\n      this._showPlaceholder()\n      return\n    }\n\n    this._valueDisplay.classList.remove(CLASS_NAME_PLACEHOLDER)\n\n    if (this._config.multiple && selectedItems.length > 1) {\n      this._valueDisplay.textContent = `${selectedItems.length} selected`\n    } else {\n      const item = selectedItems[0]\n      const label = SelectorEngine.findOne('.menu-item-content > span:first-child', item)\n      this._valueDisplay.textContent = label ? label.textContent : item.textContent.trim()\n    }\n  }\n\n  _showPlaceholder() {\n    const { placeholder } = this._config\n    if (placeholder) {\n      this._valueDisplay.textContent = placeholder\n      this._valueDisplay.classList.add(CLASS_NAME_PLACEHOLDER)\n    }\n  }\n\n  _updateHiddenInput() {\n    if (!this._hiddenInput) {\n      return\n    }\n\n    const selectedItems = this._getSelectedItems()\n    const values = selectedItems.map(el => el.dataset.bsValue)\n    this._hiddenInput.value = this._config.multiple ? values.join(',') : (values[0] || '')\n  }\n\n  _getSelectedItems() {\n    return SelectorEngine.find(`.${CLASS_NAME_SELECTED}`, this._menu)\n  }\n\n  _getVisibleItems() {\n    return SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu)\n      .filter(item => isVisible(item))\n  }\n\n  _filterItems(query) {\n    const normalizedQuery = this._normalizeText(query.toLowerCase().trim())\n    const items = SelectorEngine.find(SELECTOR_MENU_ITEM, this._menu)\n    let visibleCount = 0\n\n    for (const item of items) {\n      const text = this._normalizeText(item.textContent.toLowerCase().trim())\n      const matches = !normalizedQuery || text.includes(normalizedQuery)\n      item.style.display = matches ? '' : 'none'\n      if (matches) {\n        visibleCount++\n      }\n    }\n\n    if (this._noResults) {\n      this._noResults.classList.toggle('d-none', visibleCount > 0)\n    }\n  }\n\n  _normalizeText(text) {\n    if (this._config.searchNormalize) {\n      return text.normalize('NFD').replace(/[\\u0300-\\u036F]/g, '')\n    }\n\n    return text\n  }\n\n  _handleToggleKeydown(event) {\n    const { key } = event\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      if (!this._isShown()) {\n        this.show()\n      }\n\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const target = key === ARROW_DOWN_KEY ? items[0] : items[items.length - 1]\n        target.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !this._isShown()) {\n      event.preventDefault()\n      this.show()\n    }\n  }\n\n  _handleMenuKeydown(event) {\n    const { key, target } = event\n\n    if (key === ESCAPE_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n      this.hide()\n      this._toggle.focus()\n      return\n    }\n\n    if (key === TAB_KEY) {\n      this.hide()\n      return\n    }\n\n    const isInput = target.matches('input')\n\n    if (key === ARROW_DOWN_KEY || key === ARROW_UP_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n      }\n\n      return\n    }\n\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      const items = this._getVisibleItems()\n      if (items.length > 0) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return\n    }\n\n    if ((key === ENTER_KEY || key === SPACE_KEY) && !isInput) {\n      event.preventDefault()\n      const item = target.closest(SELECTOR_MENU_ITEM)\n      if (item && !isDisabled(item)) {\n        this._selectItem(item)\n      }\n    }\n  }\n\n  // Static\n  static jQueryInterface(config) {\n    return this.each(function () {\n      const data = Combobox.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config]()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Combobox.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const toggle of SelectorEngine.find(SELECTOR_DATA_TOGGLE)) {\n    Combobox.getOrCreateInstance(toggle)\n  }\n})\n\nexport default Combobox\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Drawer components that use\n * the native <dialog> element. Provides common behavior for:\n * - Show/hide/toggle lifecycle with events\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n * - Child component cleanup (tooltips, popovers, toasts)\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Public — shared lifecycle methods\n\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('show'),\n      { relatedTarget }\n    )\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._onBeforeShow()\n\n    const { modal, preventBodyScroll } = this._getShowOptions()\n    this._showElement({ modal, preventBodyScroll })\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('shown'),\n        { relatedTarget }\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hide')\n    )\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._hideElement()\n    this._onAfterHide()\n\n    this._queueCallback(() => {\n      this._element.classList.remove('hiding')\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('hidden')\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  // Protected — hooks for subclasses to override\n\n  _getShowOptions() {\n    return { modal: true, preventBodyScroll: true }\n  }\n\n  _onBeforeShow() {\n    // No-op by default — Dialog overrides to add nonmodal class\n  }\n\n  _onAfterHide() {\n    // No-op by default — Dialog overrides to remove nonmodal class\n  }\n\n  _isAnimated() {\n    return !this._element.classList.contains(this._getInstantClassName())\n  }\n\n  _getInstantClassName() {\n    return 'dialog-instant'\n  }\n\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  _onCancel() {\n    // No-op by default — Dialog overrides to fire cancel event\n  }\n\n  // Protected — shared mechanics\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n\n    // Add .hiding before close() so CSS exit transitions can play.\n    // Without this, the navbar's `:not([open])` transition-kill rule\n    // would prevent the slide-out animation.\n    this._element.classList.add('hiding')\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n}\n\nexport default DialogBase\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    return {\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    }\n  }\n\n  _onBeforeShow() {\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n  }\n\n  _onAfterHide() {\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n  }\n\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog (dialog swapping)\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  collapseBelow: 0,\n  iconPlacement: 'start',\n  menuPlacement: 'bottom-end',\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  collapseBelow: '(number|string)',\n  iconPlacement: 'string',\n  menuPlacement: 'string',\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._collapseBelow = 0\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Resolve collapseBelow threshold once\n    this._collapseBelow = this._resolveCollapseBelow()\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const iconHtml = this._resolveIcon()\n    const iconSpan = `<span class=\"nav-overflow-icon\">${iconHtml}</span>`\n    const textSpan = `<span class=\"nav-overflow-text\">${this._config.moreText}</span>`\n    const toggleContent = this._config.iconPlacement === 'end' ?\n      `${textSpan}${iconSpan}` :\n      `${iconSpan}${textSpan}`\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"${this._config.menuPlacement}\" aria-expanded=\"false\">\n        ${toggleContent}\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _resolveIcon() {\n    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element)\n\n    if (!customIconElement) {\n      return this._config.moreIcon\n    }\n\n    const iconClone = customIconElement.cloneNode(true)\n    iconClone.removeAttribute('data-bs-overflow-icon')\n    const iconHtml = iconClone.outerHTML\n\n    customIconElement.remove()\n\n    return iconHtml\n  }\n\n  _resolveCollapseBelow() {\n    const value = this._config.collapseBelow\n\n    if (typeof value === 'number') {\n      return value\n    }\n\n    if (typeof value === 'string' && value !== '') {\n      const cssValue = getComputedStyle(document.documentElement)\n        .getPropertyValue(`--bs-breakpoint-${value}`)\n      return Number.parseFloat(cssValue) || 0\n    }\n\n    return 0\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n\n    // When below the collapseBelow threshold, force all items into overflow\n    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {\n      const itemsToOverflow = this._items.filter(\n        item => !item.classList.contains(CLASS_NAME_KEEP)\n      )\n\n      this._moveToOverflow(itemsToOverflow)\n\n      if (overflowItem) {\n        if (itemsToOverflow.length > 0) {\n          overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n        } else {\n          overflowItem.classList.add(CLASS_NAME_HIDDEN)\n        }\n      }\n\n      if (itemsToOverflow.length > 0) {\n        EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n          overflowCount: itemsToOverflow.length,\n          visibleCount: this._items.length - itemsToOverflow.length\n        })\n      }\n\n      return\n    }\n\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap drawer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isRTL,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'drawer'\nconst DATA_KEY = 'bs.drawer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"drawer\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Drawer extends DialogBase {\n  constructor(element, config) {\n    super(element, config)\n    this._swipeHelper = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n    return {\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    }\n  }\n\n  _onBeforeShow() {\n    this._initSwipe()\n  }\n\n  _getInstantClassName() {\n    return 'drawer-instant'\n  }\n\n  _getStaticClassName() {\n    return 'drawer-static'\n  }\n\n  // Private\n\n  _initSwipe() {\n    if (this._swipeHelper || !Swipe.isSupported()) {\n      return\n    }\n\n    // Determine which swipe direction dismisses based on placement\n    const swipeConfig = {}\n    const element = this._element\n\n    if (element.classList.contains('drawer-bottom')) {\n      swipeConfig.downCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-top')) {\n      swipeConfig.upCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-end')) {\n      // RTL: swipe left to dismiss end drawer\n      if (isRTL()) {\n        swipeConfig.leftCallback = () => this.hide()\n      } else {\n        swipeConfig.rightCallback = () => this.hide()\n      }\n    } else if (isRTL()) {\n      // drawer-start (default): swipe right to dismiss in RTL\n      swipeConfig.rightCallback = () => this.hide()\n    } else {\n      // drawer-start (default): swipe left to dismiss in LTR\n      swipeConfig.leftCallback = () => this.hide()\n    }\n\n    this._swipeHelper = new Swipe(element, swipeConfig)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of a drawer, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Drawer.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Drawer.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {\n    Drawer.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:drawer\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Drawer.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Drawer)\n\nexport default Drawer\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap chip-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'chipInput'\nconst DATA_KEY = 'bs.chip-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ADD = `add${EVENT_KEY}`\nconst EVENT_REMOVE = `remove${EVENT_KEY}`\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SELECT = `select${EVENT_KEY}`\n\nconst SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]'\nconst SELECTOR_GHOST_INPUT = '.form-ghost'\nconst SELECTOR_CHIP = '.chip'\nconst SELECTOR_CHIP_DISMISS = '.chip-dismiss'\n\nconst CLASS_NAME_CHIP = 'chip'\nconst CLASS_NAME_CHIP_DISMISS = 'chip-dismiss'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst DEFAULT_DISMISS_ICON = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\"/></svg>'\n\nconst Default = {\n  separator: ',',\n  allowDuplicates: false,\n  maxChips: null,\n  placeholder: '',\n  dismissible: true,\n  dismissIcon: DEFAULT_DISMISS_ICON,\n  createOnBlur: true\n}\n\nconst DefaultType = {\n  separator: '(string|null)',\n  allowDuplicates: 'boolean',\n  maxChips: '(number|null)',\n  placeholder: 'string',\n  dismissible: 'boolean',\n  dismissIcon: 'string',\n  createOnBlur: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass ChipInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = SelectorEngine.findOne(SELECTOR_GHOST_INPUT, this._element)\n    this._chips = []\n    this._selectedChips = new Set()\n    this._anchorChip = null // For shift+click range selection\n\n    if (!this._input) {\n      this._createInput()\n    }\n\n    this._initializeExistingChips()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  add(value) {\n    const trimmedValue = String(value).trim()\n\n    if (!trimmedValue) {\n      return null\n    }\n\n    // Check for duplicates\n    if (!this._config.allowDuplicates && this._chips.includes(trimmedValue)) {\n      return null\n    }\n\n    // Check max chips limit\n    if (this._config.maxChips !== null && this._chips.length >= this._config.maxChips) {\n      return null\n    }\n\n    const addEvent = EventHandler.trigger(this._element, EVENT_ADD, {\n      value: trimmedValue,\n      relatedTarget: this._input\n    })\n\n    if (addEvent.defaultPrevented) {\n      return null\n    }\n\n    const chip = this._createChip(trimmedValue)\n    this._element.insertBefore(chip, this._input)\n    this._chips.push(trimmedValue)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return chip\n  }\n\n  remove(chipOrValue) {\n    let chip\n    let value\n\n    if (typeof chipOrValue === 'string') {\n      value = chipOrValue\n      chip = this._findChipByValue(value)\n    } else {\n      chip = chipOrValue\n      value = this._getChipValue(chip)\n    }\n\n    if (!chip || !value) {\n      return false\n    }\n\n    const removeEvent = EventHandler.trigger(this._element, EVENT_REMOVE, {\n      value,\n      chip,\n      relatedTarget: this._input\n    })\n\n    if (removeEvent.defaultPrevented) {\n      return false\n    }\n\n    // Remove from selection\n    this._selectedChips.delete(chip)\n    if (this._anchorChip === chip) {\n      this._anchorChip = null\n    }\n\n    // Remove from DOM and array\n    chip.remove()\n    this._chips = this._chips.filter(v => v !== value)\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: this.getValues()\n    })\n\n    return true\n  }\n\n  removeSelected() {\n    const chipsToRemove = [...this._selectedChips]\n    for (const chip of chipsToRemove) {\n      this.remove(chip)\n    }\n\n    this._input?.focus()\n  }\n\n  getValues() {\n    return [...this._chips]\n  }\n\n  getSelectedValues() {\n    return [...this._selectedChips].map(chip => this._getChipValue(chip))\n  }\n\n  clear() {\n    const chips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of chips) {\n      chip.remove()\n    }\n\n    this._chips = []\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      values: []\n    })\n  }\n\n  clearSelection() {\n    for (const chip of this._selectedChips) {\n      chip.classList.remove(CLASS_NAME_ACTIVE)\n    }\n\n    this._selectedChips.clear()\n    this._anchorChip = null\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: []\n    })\n  }\n\n  selectChip(chip, options = {}) {\n    const { addToSelection = false, rangeSelect = false } = options\n    const chipElements = this._getChipElements()\n\n    if (!chipElements.includes(chip)) {\n      return\n    }\n\n    if (rangeSelect && this._anchorChip) {\n      // Range selection from anchor to chip\n      const anchorIndex = chipElements.indexOf(this._anchorChip)\n      const chipIndex = chipElements.indexOf(chip)\n      const start = Math.min(anchorIndex, chipIndex)\n      const end = Math.max(anchorIndex, chipIndex)\n\n      if (!addToSelection) {\n        this.clearSelection()\n      }\n\n      for (let i = start; i <= end; i++) {\n        this._selectedChips.add(chipElements[i])\n        chipElements[i].classList.add(CLASS_NAME_ACTIVE)\n      }\n    } else if (addToSelection) {\n      // Toggle selection\n      if (this._selectedChips.has(chip)) {\n        this._selectedChips.delete(chip)\n        chip.classList.remove(CLASS_NAME_ACTIVE)\n      } else {\n        this._selectedChips.add(chip)\n        chip.classList.add(CLASS_NAME_ACTIVE)\n        this._anchorChip = chip\n      }\n    } else {\n      // Single selection\n      this.clearSelection()\n      this._selectedChips.add(chip)\n      chip.classList.add(CLASS_NAME_ACTIVE)\n      this._anchorChip = chip\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  focus() {\n    this._input?.focus()\n  }\n\n  // Private\n  _getChipElements() {\n    return SelectorEngine.find(SELECTOR_CHIP, this._element)\n  }\n\n  _createInput() {\n    const input = document.createElement('input')\n    input.type = 'text'\n    input.className = 'form-ghost'\n    if (this._config.placeholder) {\n      input.placeholder = this._config.placeholder\n    }\n\n    this._element.append(input)\n    this._input = input\n  }\n\n  _initializeExistingChips() {\n    const existingChips = SelectorEngine.find(SELECTOR_CHIP, this._element)\n    for (const chip of existingChips) {\n      const value = this._getChipValue(chip)\n      if (value) {\n        this._chips.push(value)\n        this._setupChip(chip)\n      }\n    }\n  }\n\n  _setupChip(chip) {\n    // Make chip focusable\n    chip.setAttribute('tabindex', '0')\n\n    // Add dismiss button if needed\n    if (this._config.dismissible && !SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, chip)) {\n      chip.append(this._createDismissButton())\n    }\n  }\n\n  _createChip(value) {\n    const chip = document.createElement('span')\n    chip.className = CLASS_NAME_CHIP\n    chip.dataset.bsChipValue = value\n\n    // Add text node\n    chip.append(document.createTextNode(value))\n\n    // Setup chip (tabindex, dismiss button)\n    this._setupChip(chip)\n\n    return chip\n  }\n\n  _createDismissButton() {\n    const button = document.createElement('button')\n    button.type = 'button'\n    button.className = CLASS_NAME_CHIP_DISMISS\n    button.setAttribute('aria-label', 'Remove')\n    button.setAttribute('tabindex', '-1') // Not in tab order, chips handle keyboard\n    button.innerHTML = this._config.dismissIcon\n    return button\n  }\n\n  _findChipByValue(value) {\n    const chips = this._getChipElements()\n    return chips.find(chip => this._getChipValue(chip) === value)\n  }\n\n  _getChipValue(chip) {\n    if (chip.dataset.bsChipValue) {\n      return chip.dataset.bsChipValue\n    }\n\n    const clone = chip.cloneNode(true)\n    const dismiss = SelectorEngine.findOne(SELECTOR_CHIP_DISMISS, clone)\n    if (dismiss) {\n      dismiss.remove()\n    }\n\n    return clone.textContent?.trim() || ''\n  }\n\n  _addEventListeners() {\n    // Input events\n    EventHandler.on(this._input, 'keydown', event => this._handleInputKeydown(event))\n    EventHandler.on(this._input, 'input', event => this._handleInput(event))\n    EventHandler.on(this._input, 'paste', event => this._handlePaste(event))\n    EventHandler.on(this._input, 'focus', () => this.clearSelection())\n\n    if (this._config.createOnBlur) {\n      EventHandler.on(this._input, 'blur', event => {\n        // Don't create chip if clicking on a chip\n        if (!event.relatedTarget?.closest(SELECTOR_CHIP)) {\n          this._createChipFromInput()\n        }\n      })\n    }\n\n    // Chip click events (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP, event => {\n      // Ignore clicks on dismiss button\n      if (event.target.closest(SELECTOR_CHIP_DISMISS)) {\n        return\n      }\n\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        event.preventDefault()\n        this.selectChip(chip, {\n          addToSelection: event.metaKey || event.ctrlKey,\n          rangeSelect: event.shiftKey\n        })\n        chip.focus()\n      }\n    })\n\n    // Dismiss button clicks (delegated)\n    EventHandler.on(this._element, 'click', SELECTOR_CHIP_DISMISS, event => {\n      event.stopPropagation()\n      const chip = event.target.closest(SELECTOR_CHIP)\n      if (chip) {\n        this.remove(chip)\n        this._input?.focus()\n      }\n    })\n\n    // Chip keyboard events (delegated)\n    EventHandler.on(this._element, 'keydown', SELECTOR_CHIP, event => {\n      this._handleChipKeydown(event)\n    })\n\n    // Focus input when clicking container background\n    EventHandler.on(this._element, 'click', event => {\n      if (event.target === this._element) {\n        this.clearSelection()\n        this._input?.focus()\n      }\n    })\n  }\n\n  _handleInputKeydown(event) {\n    const { key } = event\n\n    switch (key) {\n      case 'Enter': {\n        event.preventDefault()\n        this._createChipFromInput()\n        break\n      }\n\n      case 'Backspace':\n      case 'Delete': {\n        if (this._input.value === '') {\n          event.preventDefault()\n          const chips = this._getChipElements()\n\n          if (chips.length > 0) {\n            // Select last chip and focus it\n            const lastChip = chips.at(-1)\n            this.selectChip(lastChip)\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (this._input.selectionStart === 0 && this._input.selectionEnd === 0) {\n          event.preventDefault()\n          const chips = this._getChipElements()\n          if (chips.length > 0) {\n            const lastChip = chips.at(-1)\n            if (event.shiftKey) {\n              this.selectChip(lastChip, { addToSelection: true })\n            } else {\n              this.selectChip(lastChip)\n            }\n\n            lastChip.focus()\n          }\n        }\n\n        break\n      }\n\n      case 'Escape': {\n        this._input.value = ''\n        this.clearSelection()\n        this._input.blur()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipKeydown(event) {\n    const { key } = event\n    const chip = event.target.closest(SELECTOR_CHIP)\n    if (!chip) {\n      return\n    }\n\n    const chips = this._getChipElements()\n    const currentIndex = chips.indexOf(chip)\n\n    switch (key) {\n      case 'Backspace':\n      case 'Delete': {\n        event.preventDefault()\n        this._handleChipDelete(currentIndex, chips)\n        break\n      }\n\n      case 'ArrowLeft': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, -1, event.shiftKey)\n        break\n      }\n\n      case 'ArrowRight': {\n        event.preventDefault()\n        this._navigateChip(chips, currentIndex, 1, event.shiftKey)\n        break\n      }\n\n      case 'Home': {\n        event.preventDefault()\n        this._navigateToEdge(chips, 0, event.shiftKey)\n        break\n      }\n\n      case 'End': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      case 'a': {\n        this._handleSelectAll(event, chips)\n        break\n      }\n\n      case 'Escape': {\n        event.preventDefault()\n        this.clearSelection()\n        this._input?.focus()\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handleChipDelete(currentIndex, chips) {\n    if (this._selectedChips.size === 0) {\n      return\n    }\n\n    const nextIndex = Math.min(currentIndex, chips.length - this._selectedChips.size - 1)\n    this.removeSelected()\n\n    const remainingChips = this._getChipElements()\n    if (remainingChips.length > 0) {\n      const focusIndex = Math.max(0, Math.min(nextIndex, remainingChips.length - 1))\n      remainingChips[focusIndex].focus()\n      this.selectChip(remainingChips[focusIndex])\n    } else {\n      this._input?.focus()\n    }\n  }\n\n  _navigateChip(chips, currentIndex, direction, shiftKey) {\n    const targetIndex = currentIndex + direction\n\n    if (direction < 0 && targetIndex >= 0) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0 && targetIndex < chips.length) {\n      const targetChip = chips[targetIndex]\n      this.selectChip(targetChip, shiftKey ? { addToSelection: true, rangeSelect: true } : {})\n      targetChip.focus()\n    } else if (direction > 0) {\n      this.clearSelection()\n      this._input?.focus()\n    }\n  }\n\n  _navigateToEdge(chips, targetIndex, shiftKey) {\n    if (chips.length === 0) {\n      return\n    }\n\n    const targetChip = chips[targetIndex]\n    this.selectChip(targetChip, shiftKey ? { rangeSelect: true } : {})\n    targetChip.focus()\n  }\n\n  _handleSelectAll(event, chips) {\n    if (!(event.metaKey || event.ctrlKey)) {\n      return\n    }\n\n    event.preventDefault()\n    for (const c of chips) {\n      this._selectedChips.add(c)\n      c.classList.add(CLASS_NAME_ACTIVE)\n    }\n\n    EventHandler.trigger(this._element, EVENT_SELECT, {\n      selected: this.getSelectedValues()\n    })\n  }\n\n  _handleInput(event) {\n    const { value } = event.target\n    const { separator } = this._config\n\n    if (separator && value.includes(separator)) {\n      const parts = value.split(separator)\n      for (const part of parts.slice(0, -1)) {\n        this.add(part.trim())\n      }\n\n      this._input.value = parts.at(-1)\n    }\n  }\n\n  _handlePaste(event) {\n    const { separator } = this._config\n    if (!separator) {\n      return\n    }\n\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    if (pastedData.includes(separator)) {\n      event.preventDefault()\n\n      const parts = pastedData.split(separator)\n      for (const part of parts) {\n        this.add(part.trim())\n      }\n    }\n  }\n\n  _createChipFromInput() {\n    const value = this._input.value.trim()\n    if (value) {\n      this.add(value)\n      this._input.value = ''\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {\n    ChipInput.getOrCreateInstance(element)\n  }\n})\n\nexport default ChipInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    let { container } = this._config\n    const closestDialog = this._element.closest('dialog[open]')\n    if (closestDialog && container === document.body) {\n      container = closestDialog\n    }\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_MENU_ITEM = 'menu-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate menu parents\n    if (target.classList.contains(CLASS_NAME_MENU_ITEM)) {\n      const menuToggle = target.closest('.menu')?.previousElementSibling\n      if (menuToggle?.matches(SELECTOR_MENU_TOGGLE)) {\n        menuToggle.classList.add(CLASS_NAME_ACTIVE)\n      }\n\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst SELECTOR_MENU_TOGGLE = '[data-bs-toggle=\"menu\"]'\nconst SELECTOR_MENU = '.menu'\nconst NOT_SELECTOR_MENU_TOGGLE = `:not(${SELECTOR_MENU_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_MENU_TOGGLE}, .list-group-item${NOT_SELECTOR_MENU_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_MENU_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleMenu(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleMenu(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleMenu(element, open) {\n    const outerElem = this._getOuterElement(element)\n    const menuToggle = SelectorEngine.findOne(SELECTOR_MENU_TOGGLE, outerElem)\n    if (!menuToggle) {\n      return\n    }\n\n    const menu = SelectorEngine.findOne(SELECTOR_MENU, outerElem)\n\n    menuToggle.classList.toggle(CLASS_NAME_ACTIVE, open)\n    if (menu) {\n      menu.classList.toggle(CLASS_NAME_SHOW, open)\n    }\n\n    menuToggle.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"mappings":"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","ignoreList":[]}
\ No newline at end of file
index 32196fc1764b18a36bca428a9b2ac6421cdeca82..3d672ef27864efffd64dc9d356e5d2fafaa97252 100644 (file)
@@ -136,7 +136,9 @@ export default [
       '**/*.d.ts',
       '**/*.astro',
       // Meteor metadata file (uses unsupported eslint-env comment)
-      'package.js'
+      'package.js',
+      // Claude worktrees
+      '.claude/worktrees/**'
     ]
   },
 
diff --git a/js/dist/dialog-base.js b/js/dist/dialog-base.js
new file mode 100644 (file)
index 0000000..d630286
--- /dev/null
@@ -0,0 +1,238 @@
+/*!
+  * Bootstrap dialog-base.js v6.0.0-alpha1 (https://getbootstrap.com/)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+import BaseComponent from './base-component.js';
+import Data from './dom/data.js';
+import EventHandler from './dom/event-handler.js';
+import SelectorEngine from './dom/selector-engine.js';
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap dialog-base.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const CLASS_NAME_OPEN = 'dialog-open';
+
+/**
+ * Class definition
+ *
+ * Shared base class for Dialog and Drawer components that use
+ * the native <dialog> element. Provides common behavior for:
+ * - Show/hide/toggle lifecycle with events
+ * - Opening/closing via showModal()/show()/close()
+ * - Escape key handling (modal and non-modal)
+ * - Backdrop click handling
+ * - Static backdrop transition ("bounce")
+ * - Body scroll prevention
+ * - Transition coordination
+ * - Child component cleanup (tooltips, popovers, toasts)
+ */
+
+class DialogBase extends BaseComponent {
+  constructor(element, config) {
+    super(element, config);
+    this._isTransitioning = false;
+    this._openedAsModal = false;
+    this._addDialogListeners();
+  }
+
+  // Getters — subclasses override NAME with their own component name.
+  static get NAME() {
+    return 'dialogbase';
+  }
+
+  // Public — shared lifecycle methods
+
+  toggle(relatedTarget) {
+    return this._element.open ? this.hide() : this.show(relatedTarget);
+  }
+  show(relatedTarget) {
+    if (this._element.open || this._isTransitioning) {
+      return;
+    }
+    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName('show'), {
+      relatedTarget
+    });
+    if (showEvent.defaultPrevented) {
+      return;
+    }
+    this._isTransitioning = true;
+    this._onBeforeShow();
+    const {
+      modal,
+      preventBodyScroll
+    } = this._getShowOptions();
+    this._showElement({
+      modal,
+      preventBodyScroll
+    });
+    this._queueCallback(() => {
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, this.constructor.eventName('shown'), {
+        relatedTarget
+      });
+    }, this._element, this._isAnimated());
+  }
+  hide() {
+    if (!this._element.open || this._isTransitioning) {
+      return;
+    }
+    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName('hide'));
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    this._isTransitioning = true;
+    this._hideElement();
+    this._onAfterHide();
+    this._queueCallback(() => {
+      this._element.classList.remove('hiding');
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, this.constructor.eventName('hidden'));
+    }, this._element, this._isAnimated());
+  }
+
+  // Protected — hooks for subclasses to override
+
+  _getShowOptions() {
+    return {
+      modal: true,
+      preventBodyScroll: true
+    };
+  }
+  _onBeforeShow() {
+    // No-op by default — Dialog overrides to add nonmodal class
+  }
+  _onAfterHide() {
+    // No-op by default — Dialog overrides to remove nonmodal class
+  }
+  _isAnimated() {
+    return !this._element.classList.contains(this._getInstantClassName());
+  }
+  _getInstantClassName() {
+    return 'dialog-instant';
+  }
+  _getStaticClassName() {
+    return 'dialog-static';
+  }
+  _onCancel() {
+    // No-op by default — Dialog overrides to fire cancel event
+  }
+
+  // Protected — shared mechanics
+
+  _showElement({
+    modal = true,
+    preventBodyScroll = true
+  } = {}) {
+    this._openedAsModal = modal;
+    if (modal) {
+      this._element.showModal();
+    } else {
+      this._element.show();
+    }
+    if (preventBodyScroll) {
+      document.body.classList.add(CLASS_NAME_OPEN);
+    }
+  }
+  _hideElement() {
+    this._hideChildComponents();
+
+    // Add .hiding before close() so CSS exit transitions can play.
+    // Without this, the navbar's `:not([open])` transition-kill rule
+    // would prevent the slide-out animation.
+    this._element.classList.add('hiding');
+    this._element.close();
+    this._openedAsModal = false;
+
+    // Only restore body scroll if no other modal dialogs are open
+    if (!document.querySelector('dialog[open]:modal')) {
+      document.body.classList.remove(CLASS_NAME_OPEN);
+    }
+  }
+  _triggerBackdropTransition() {
+    const hidePreventedEvent = EventHandler.trigger(this._element, this.constructor.eventName('hidePrevented'));
+    if (hidePreventedEvent.defaultPrevented) {
+      return;
+    }
+    const staticClass = this._getStaticClassName();
+    this._element.classList.add(staticClass);
+    this._queueCallback(() => {
+      this._element.classList.remove(staticClass);
+    }, this._element);
+  }
+
+  // Hide any tooltips, popovers, or toasts inside the dialog before closing.
+  // These components append to the dialog (for top-layer rendering) and would
+  // otherwise persist visibly after close().
+  _hideChildComponents() {
+    const selector = '[data-bs-toggle="tooltip"], [data-bs-toggle="popover"]';
+    for (const el of SelectorEngine.find(selector, this._element)) {
+      const instance = Data.getAny(el);
+      if (instance && typeof instance.hide === 'function') {
+        instance.hide();
+      }
+    }
+
+    // Hide any visible toasts
+    for (const el of SelectorEngine.find('.toast.show', this._element)) {
+      const instance = Data.getAny(el);
+      if (instance && typeof instance.hide === 'function') {
+        instance.hide();
+      }
+    }
+  }
+
+  // Private
+
+  _addDialogListeners() {
+    const eventKey = this.constructor.EVENT_KEY;
+
+    // Handle native cancel event (Escape key) — only fires for modal dialogs
+    EventHandler.on(this._element, 'cancel', event => {
+      event.preventDefault();
+      if (!this._config.keyboard) {
+        this._triggerBackdropTransition();
+        return;
+      }
+      this._onCancel();
+      this.hide();
+    });
+
+    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())
+    EventHandler.on(this._element, `keydown${eventKey}`, event => {
+      if (event.key !== 'Escape' || this._openedAsModal) {
+        return;
+      }
+      event.preventDefault();
+      if (!this._config.keyboard) {
+        return;
+      }
+      this._onCancel();
+      this.hide();
+    });
+
+    // Handle backdrop clicks — only applies to modal dialogs
+    EventHandler.on(this._element, `click${eventKey}`, event => {
+      if (event.target !== this._element || !this._openedAsModal) {
+        return;
+      }
+      if (this._config.backdrop === 'static') {
+        this._triggerBackdropTransition();
+        return;
+      }
+      this.hide();
+    });
+  }
+}
+
+export { DialogBase as default };
+//# sourceMappingURL=dialog-base.js.map
diff --git a/js/dist/dialog-base.js.map b/js/dist/dialog-base.js.map
new file mode 100644 (file)
index 0000000..0e901c7
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"dialog-base.js","sources":["../src/dialog-base.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog-base.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst CLASS_NAME_OPEN = 'dialog-open'\n\n/**\n * Class definition\n *\n * Shared base class for Dialog and Drawer components that use\n * the native <dialog> element. Provides common behavior for:\n * - Show/hide/toggle lifecycle with events\n * - Opening/closing via showModal()/show()/close()\n * - Escape key handling (modal and non-modal)\n * - Backdrop click handling\n * - Static backdrop transition (\"bounce\")\n * - Body scroll prevention\n * - Transition coordination\n * - Child component cleanup (tooltips, popovers, toasts)\n */\n\nclass DialogBase extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._openedAsModal = false\n    this._addDialogListeners()\n  }\n\n  // Getters — subclasses override NAME with their own component name.\n  static get NAME() {\n    return 'dialogbase'\n  }\n\n  // Public — shared lifecycle methods\n\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('show'),\n      { relatedTarget }\n    )\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._onBeforeShow()\n\n    const { modal, preventBodyScroll } = this._getShowOptions()\n    this._showElement({ modal, preventBodyScroll })\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('shown'),\n        { relatedTarget }\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hide')\n    )\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n    this._hideElement()\n    this._onAfterHide()\n\n    this._queueCallback(() => {\n      this._element.classList.remove('hiding')\n      this._isTransitioning = false\n      EventHandler.trigger(\n        this._element,\n        this.constructor.eventName('hidden')\n      )\n    }, this._element, this._isAnimated())\n  }\n\n  // Protected — hooks for subclasses to override\n\n  _getShowOptions() {\n    return { modal: true, preventBodyScroll: true }\n  }\n\n  _onBeforeShow() {\n    // No-op by default — Dialog overrides to add nonmodal class\n  }\n\n  _onAfterHide() {\n    // No-op by default — Dialog overrides to remove nonmodal class\n  }\n\n  _isAnimated() {\n    return !this._element.classList.contains(this._getInstantClassName())\n  }\n\n  _getInstantClassName() {\n    return 'dialog-instant'\n  }\n\n  _getStaticClassName() {\n    return 'dialog-static'\n  }\n\n  _onCancel() {\n    // No-op by default — Dialog overrides to fire cancel event\n  }\n\n  // Protected — shared mechanics\n\n  _showElement({ modal = true, preventBodyScroll = true } = {}) {\n    this._openedAsModal = modal\n\n    if (modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    if (preventBodyScroll) {\n      document.body.classList.add(CLASS_NAME_OPEN)\n    }\n  }\n\n  _hideElement() {\n    this._hideChildComponents()\n\n    // Add .hiding before close() so CSS exit transitions can play.\n    // Without this, the navbar's `:not([open])` transition-kill rule\n    // would prevent the slide-out animation.\n    this._element.classList.add('hiding')\n    this._element.close()\n    this._openedAsModal = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector('dialog[open]:modal')) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(\n      this._element,\n      this.constructor.eventName('hidePrevented')\n    )\n\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    const staticClass = this._getStaticClassName()\n    this._element.classList.add(staticClass)\n    this._queueCallback(() => {\n      this._element.classList.remove(staticClass)\n    }, this._element)\n  }\n\n  // Hide any tooltips, popovers, or toasts inside the dialog before closing.\n  // These components append to the dialog (for top-layer rendering) and would\n  // otherwise persist visibly after close().\n  _hideChildComponents() {\n    const selector = '[data-bs-toggle=\"tooltip\"], [data-bs-toggle=\"popover\"]'\n\n    for (const el of SelectorEngine.find(selector, this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n\n    // Hide any visible toasts\n    for (const el of SelectorEngine.find('.toast.show', this._element)) {\n      const instance = Data.getAny(el)\n      if (instance && typeof instance.hide === 'function') {\n        instance.hide()\n      }\n    }\n  }\n\n  // Private\n\n  _addDialogListeners() {\n    const eventKey = this.constructor.EVENT_KEY\n\n    // Handle native cancel event (Escape key) — only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, `keydown${eventKey}`, event => {\n      if (event.key !== 'Escape' || this._openedAsModal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      this._onCancel()\n      this.hide()\n    })\n\n    // Handle backdrop clicks — only applies to modal dialogs\n    EventHandler.on(this._element, `click${eventKey}`, event => {\n      if (event.target !== this._element || !this._openedAsModal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      this.hide()\n    })\n  }\n}\n\nexport default DialogBase\n"],"names":["CLASS_NAME_OPEN","DialogBase","BaseComponent","constructor","element","config","_isTransitioning","_openedAsModal","_addDialogListeners","NAME","toggle","relatedTarget","_element","open","hide","show","showEvent","EventHandler","trigger","eventName","defaultPrevented","_onBeforeShow","modal","preventBodyScroll","_getShowOptions","_showElement","_queueCallback","_isAnimated","hideEvent","_hideElement","_onAfterHide","classList","remove","contains","_getInstantClassName","_getStaticClassName","_onCancel","showModal","document","body","add","_hideChildComponents","close","querySelector","_triggerBackdropTransition","hidePreventedEvent","staticClass","selector","el","SelectorEngine","find","instance","Data","getAny","eventKey","EVENT_KEY","on","event","preventDefault","_config","keyboard","key","target","backdrop"],"mappings":"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"}
\ No newline at end of file
index 4a3600d625e5fd56deaa03096232b0fe1083f4d3..c57237c9443dbf4ddac6b3084b780d91794d6bc3 100644 (file)
@@ -27,8 +27,6 @@ const DATA_KEY = 'bs.dialog';
 const EVENT_KEY = `.${DATA_KEY}`;
 const DATA_API_KEY = '.data-api';
 const EVENT_SHOW = `show${EVENT_KEY}`;
-const EVENT_SHOWN = `shown${EVENT_KEY}`;
-const EVENT_HIDE = `hide${EVENT_KEY}`;
 const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
 const EVENT_CANCEL = `cancel${EVENT_KEY}`;
 const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
@@ -36,9 +34,8 @@ const CLASS_NAME_NONMODAL = 'dialog-nonmodal';
 const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dialog"]';
 const Default = {
   backdrop: true,
-  // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs
   keyboard: true,
-  modal: true // true uses showModal(), false uses show() for non-modal dialogs
+  modal: true
 };
 const DefaultType = {
   backdrop: '(boolean|string)',
@@ -63,61 +60,26 @@ class Dialog extends DialogBase {
   }
 
   // Public
-  toggle(relatedTarget) {
-    return this._element.open ? this.hide() : this.show(relatedTarget);
+  handleUpdate() {
+    // Provided for API consistency with Modal.
   }
-  show(relatedTarget) {
-    if (this._element.open || this._isTransitioning) {
-      return;
-    }
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
-      relatedTarget
-    });
-    if (showEvent.defaultPrevented) {
-      return;
-    }
-    this._isTransitioning = true;
-    if (!this._config.modal) {
-      this._element.classList.add(CLASS_NAME_NONMODAL);
-    }
-    this._showElement({
+
+  // Protected — hook overrides
+
+  _getShowOptions() {
+    return {
       modal: this._config.modal,
       preventBodyScroll: this._config.modal
-    });
-
-    // CSS @starting-style handles the entry animation automatically.
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_SHOWN, {
-        relatedTarget
-      });
-    }, this._element, true);
+    };
   }
-  hide() {
-    if (!this._element.open || this._isTransitioning) {
-      return;
-    }
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
-    if (hideEvent.defaultPrevented) {
-      return;
+  _onBeforeShow() {
+    if (!this._config.modal) {
+      this._element.classList.add(CLASS_NAME_NONMODAL);
     }
-    this._isTransitioning = true;
-
-    // Call close() immediately — CSS handles the exit animation via
-    // transition-behavior: allow-discrete on display and overlay.
-    this._hideElement();
-    this._element.classList.remove(CLASS_NAME_NONMODAL);
-    this._queueCallback(() => {
-      this._isTransitioning = false;
-      EventHandler.trigger(this._element, EVENT_HIDDEN);
-    }, this._element, true);
   }
-  handleUpdate() {
-    // Provided for API consistency with Modal.
-    // Native dialogs handle their own positioning.
+  _onAfterHide() {
+    this._element.classList.remove(CLASS_NAME_NONMODAL);
   }
-
-  // Private
   _onCancel() {
     EventHandler.trigger(this._element, EVENT_CANCEL);
   }
@@ -146,15 +108,12 @@ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (
   // Get config from trigger's data attributes
   const config = Manipulator.getDataAttributes(this);
 
-  // Check if trigger is inside an open dialog
+  // Check if trigger is inside an open dialog (dialog swapping)
   const currentDialog = this.closest('dialog[open]');
   const shouldSwap = currentDialog && currentDialog !== target;
   if (shouldSwap) {
-    // Open new dialog first (its backdrop appears over current)
     const newDialog = Dialog.getOrCreateInstance(target, config);
     newDialog.show(this);
-
-    // Close the current dialog (no backdrop flash since new one is already open)
     const currentInstance = Dialog.getInstance(currentDialog);
     if (currentInstance) {
       currentInstance.hide();
index 7673e53311372d4be28bcce0aba8b47e52e6a356..e3d081bd7001820a4dadde1fe2cae0e29c203d77 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"dialog.js","sources":["../src/dialog.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n\n    this._showElement({\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    })\n\n    // CSS @starting-style handles the entry animation automatically.\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, true)\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    // Call close() immediately — CSS handles the exit animation via\n    // transition-behavior: allow-discrete on display and overlay.\n    this._hideElement()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }, this._element, true)\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CANCEL","EVENT_CLICK_DATA_API","CLASS_NAME_NONMODAL","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","modal","DefaultType","Dialog","DialogBase","toggle","relatedTarget","_element","open","hide","show","_isTransitioning","showEvent","EventHandler","trigger","defaultPrevented","_config","classList","add","_showElement","preventBodyScroll","_queueCallback","hideEvent","_hideElement","remove","handleUpdate","_onCancel","on","document","event","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","one","isVisible","focus","config","Manipulator","getDataAttributes","currentDialog","closest","shouldSwap","newDialog","getOrCreateInstance","currentInstance","getInstance","data","enableDismissTrigger"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"dialog.js","sources":["../src/dialog.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends DialogBase {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    return {\n      modal: this._config.modal,\n      preventBodyScroll: this._config.modal\n    }\n  }\n\n  _onBeforeShow() {\n    if (!this._config.modal) {\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n    }\n  }\n\n  _onAfterHide() {\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n  }\n\n  _onCancel() {\n    EventHandler.trigger(this._element, EVENT_CANCEL)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog (dialog swapping)\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_SHOW","EVENT_HIDDEN","EVENT_CANCEL","EVENT_CLICK_DATA_API","CLASS_NAME_NONMODAL","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","modal","DefaultType","Dialog","DialogBase","handleUpdate","_getShowOptions","_config","preventBodyScroll","_onBeforeShow","_element","classList","add","_onAfterHide","remove","_onCancel","EventHandler","trigger","on","document","event","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","one","showEvent","defaultPrevented","isVisible","focus","config","Manipulator","getDataAttributes","currentDialog","closest","shouldSwap","newDialog","getOrCreateInstance","show","currentInstance","getInstance","hide","data","toggle","enableDismissTrigger"],"mappings":"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"}
\ No newline at end of file
index b4b68e3ca597536e968dbe4a0a55cb6d9bf00473..fa0ef2e9bf810e1c07a1c5ae57bdfc43d975be37 100644 (file)
@@ -37,6 +37,12 @@ const data = {
     }
     return null;
   },
+  getAny(element) {
+    if (elementMap.has(element)) {
+      return elementMap.get(element).values().next().value || null;
+    }
+    return null;
+  },
   remove(element, key) {
     if (!elementMap.has(element)) {
       return;
index d61f652b1a490c2141f61f7fe65a60d95693b4ec..89d4c880786d30d0ec136a3554f05728a2471126 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAMA,UAAU,GAAG,IAAIC,GAAG,EAAE;AAE5B,aAAe;AACbC,EAAAA,GAAGA,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAE;AAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;MAC5BH,UAAU,CAACE,GAAG,CAACC,OAAO,EAAE,IAAIF,GAAG,EAAE,CAAC;AACpC,IAAA;AAEA,IAAA,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;;AAE3C;AACA;AACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAG,CAACF,GAAG,CAAC,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AACnD;AACAC,MAAAA,OAAO,CAACC,KAAK,CAAC,+EAA+EC,KAAK,CAACC,IAAI,CAACN,WAAW,CAACO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClI,MAAA;AACF,IAAA;AAEAP,IAAAA,WAAW,CAACL,GAAG,CAACE,GAAG,EAAEC,QAAQ,CAAC;EAChC,CAAC;AAEDG,EAAAA,GAAGA,CAACL,OAAO,EAAEC,GAAG,EAAE;AAChB,IAAA,IAAIJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACK,GAAG,CAACJ,GAAG,CAAC,IAAI,IAAI;AACjD,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;AAEDW,EAAAA,MAAMA,CAACZ,OAAO,EAAEC,GAAG,EAAE;AACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA;AACF,IAAA;AAEA,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;AAE3CI,IAAAA,WAAW,CAACS,MAAM,CAACZ,GAAG,CAAC;;AAEvB;AACA,IAAA,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AAC1BT,MAAAA,UAAU,CAACgB,MAAM,CAACb,OAAO,CAAC;AAC5B,IAAA;AACF,EAAA;AACF,CAAC;;;;"}
\ No newline at end of file
+{"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  getAny(element) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).values().next().value || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","getAny","values","next","value","remove","delete"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAMA,UAAU,GAAG,IAAIC,GAAG,EAAE;AAE5B,aAAe;AACbC,EAAAA,GAAGA,CAACC,OAAO,EAAEC,GAAG,EAAEC,QAAQ,EAAE;AAC1B,IAAA,IAAI,CAACL,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;MAC5BH,UAAU,CAACE,GAAG,CAACC,OAAO,EAAE,IAAIF,GAAG,EAAE,CAAC;AACpC,IAAA;AAEA,IAAA,MAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;;AAE3C;AACA;AACA,IAAA,IAAI,CAACI,WAAW,CAACD,GAAG,CAACF,GAAG,CAAC,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AACnD;AACAC,MAAAA,OAAO,CAACC,KAAK,CAAC,+EAA+EC,KAAK,CAACC,IAAI,CAACN,WAAW,CAACO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClI,MAAA;AACF,IAAA;AAEAP,IAAAA,WAAW,CAACL,GAAG,CAACE,GAAG,EAAEC,QAAQ,CAAC;EAChC,CAAC;AAEDG,EAAAA,GAAGA,CAACL,OAAO,EAAEC,GAAG,EAAE;AAChB,IAAA,IAAIJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACK,GAAG,CAACJ,GAAG,CAAC,IAAI,IAAI;AACjD,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;EAEDW,MAAMA,CAACZ,OAAO,EAAE;AACd,IAAA,IAAIH,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC3B,MAAA,OAAOH,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC,CAACa,MAAM,EAAE,CAACC,IAAI,EAAE,CAACC,KAAK,IAAI,IAAI;AAC9D,IAAA;AAEA,IAAA,OAAO,IAAI;EACb,CAAC;AAEDC,EAAAA,MAAMA,CAAChB,OAAO,EAAEC,GAAG,EAAE;AACnB,IAAA,IAAI,CAACJ,UAAU,CAACM,GAAG,CAACH,OAAO,CAAC,EAAE;AAC5B,MAAA;AACF,IAAA;AAEA,IAAA,MAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAG,CAACL,OAAO,CAAC;AAE3CI,IAAAA,WAAW,CAACa,MAAM,CAAChB,GAAG,CAAC;;AAEvB;AACA,IAAA,IAAIG,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;AAC1BT,MAAAA,UAAU,CAACoB,MAAM,CAACjB,OAAO,CAAC;AAC5B,IAAA;AACF,EAAA;AACF,CAAC;;;;"}
\ No newline at end of file
diff --git a/js/dist/drawer.js b/js/dist/drawer.js
new file mode 100644 (file)
index 0000000..6ece809
--- /dev/null
@@ -0,0 +1,166 @@
+/*!
+  * Bootstrap drawer.js v6.0.0-alpha1 (https://getbootstrap.com/)
+  * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+import DialogBase from './dialog-base.js';
+import EventHandler from './dom/event-handler.js';
+import SelectorEngine from './dom/selector-engine.js';
+import Swipe from './util/swipe.js';
+import { enableDismissTrigger } from './util/component-functions.js';
+import { isDisabled, isVisible, isRTL } from './util/index.js';
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap drawer.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME = 'drawer';
+const DATA_KEY = 'bs.drawer';
+const EVENT_KEY = `.${DATA_KEY}`;
+const DATA_API_KEY = '.data-api';
+const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
+const EVENT_RESIZE = `resize${EVENT_KEY}`;
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
+const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="drawer"]';
+const Default = {
+  backdrop: true,
+  keyboard: true,
+  scroll: false
+};
+const DefaultType = {
+  backdrop: '(boolean|string)',
+  keyboard: 'boolean',
+  scroll: 'boolean'
+};
+
+/**
+ * Class definition
+ */
+
+class Drawer extends DialogBase {
+  constructor(element, config) {
+    super(element, config);
+    this._swipeHelper = null;
+  }
+
+  // Getters
+  static get Default() {
+    return Default;
+  }
+  static get DefaultType() {
+    return DefaultType;
+  }
+  static get NAME() {
+    return NAME;
+  }
+
+  // Public
+  dispose() {
+    if (this._swipeHelper) {
+      this._swipeHelper.dispose();
+    }
+    super.dispose();
+  }
+
+  // Protected — hook overrides
+
+  _getShowOptions() {
+    const useModal = Boolean(this._config.backdrop) || !this._config.scroll;
+    return {
+      modal: useModal,
+      preventBodyScroll: !this._config.scroll
+    };
+  }
+  _onBeforeShow() {
+    this._initSwipe();
+  }
+  _getInstantClassName() {
+    return 'drawer-instant';
+  }
+  _getStaticClassName() {
+    return 'drawer-static';
+  }
+
+  // Private
+
+  _initSwipe() {
+    if (this._swipeHelper || !Swipe.isSupported()) {
+      return;
+    }
+
+    // Determine which swipe direction dismisses based on placement
+    const swipeConfig = {};
+    const element = this._element;
+    if (element.classList.contains('drawer-bottom')) {
+      swipeConfig.downCallback = () => this.hide();
+    } else if (element.classList.contains('drawer-top')) {
+      swipeConfig.upCallback = () => this.hide();
+    } else if (element.classList.contains('drawer-end')) {
+      // RTL: swipe left to dismiss end drawer
+      if (isRTL()) {
+        swipeConfig.leftCallback = () => this.hide();
+      } else {
+        swipeConfig.rightCallback = () => this.hide();
+      }
+    } else if (isRTL()) {
+      // drawer-start (default): swipe right to dismiss in RTL
+      swipeConfig.rightCallback = () => this.hide();
+    } else {
+      // drawer-start (default): swipe left to dismiss in LTR
+      swipeConfig.leftCallback = () => this.hide();
+    }
+    this._swipeHelper = new Swipe(element, swipeConfig);
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+  const target = SelectorEngine.getElementFromSelector(this);
+  if (['A', 'AREA'].includes(this.tagName)) {
+    event.preventDefault();
+  }
+  if (isDisabled(this)) {
+    return;
+  }
+  EventHandler.one(target, EVENT_HIDDEN, () => {
+    if (isVisible(this)) {
+      this.focus();
+    }
+  });
+
+  // Avoid conflict when clicking a toggler of a drawer, while another is open
+  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]');
+  if (alreadyOpen && alreadyOpen !== target) {
+    Drawer.getInstance(alreadyOpen).hide();
+  }
+  const data = Drawer.getOrCreateInstance(target);
+  data.toggle(this);
+});
+EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
+  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {
+    Drawer.getOrCreateInstance(selector).show();
+  }
+});
+EventHandler.on(window, EVENT_RESIZE, () => {
+  for (const element of SelectorEngine.find('dialog[open][class*="\\:drawer"]')) {
+    if (getComputedStyle(element).position !== 'fixed') {
+      Drawer.getOrCreateInstance(element).hide();
+    }
+  }
+});
+enableDismissTrigger(Drawer);
+
+export { Drawer as default };
+//# sourceMappingURL=drawer.js.map
diff --git a/js/dist/drawer.js.map b/js/dist/drawer.js.map
new file mode 100644 (file)
index 0000000..dc92a7b
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"drawer.js","sources":["../src/drawer.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap drawer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport DialogBase from './dialog-base.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Swipe from './util/swipe.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport {\n  isDisabled,\n  isRTL,\n  isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'drawer'\nconst DATA_KEY = 'bs.drawer'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"drawer\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Drawer extends DialogBase {\n  constructor(element, config) {\n    super(element, config)\n    this._swipeHelper = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Protected — hook overrides\n\n  _getShowOptions() {\n    const useModal = Boolean(this._config.backdrop) || !this._config.scroll\n    return {\n      modal: useModal,\n      preventBodyScroll: !this._config.scroll\n    }\n  }\n\n  _onBeforeShow() {\n    this._initSwipe()\n  }\n\n  _getInstantClassName() {\n    return 'drawer-instant'\n  }\n\n  _getStaticClassName() {\n    return 'drawer-static'\n  }\n\n  // Private\n\n  _initSwipe() {\n    if (this._swipeHelper || !Swipe.isSupported()) {\n      return\n    }\n\n    // Determine which swipe direction dismisses based on placement\n    const swipeConfig = {}\n    const element = this._element\n\n    if (element.classList.contains('drawer-bottom')) {\n      swipeConfig.downCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-top')) {\n      swipeConfig.upCallback = () => this.hide()\n    } else if (element.classList.contains('drawer-end')) {\n      // RTL: swipe left to dismiss end drawer\n      if (isRTL()) {\n        swipeConfig.leftCallback = () => this.hide()\n      } else {\n        swipeConfig.rightCallback = () => this.hide()\n      }\n    } else if (isRTL()) {\n      // drawer-start (default): swipe right to dismiss in RTL\n      swipeConfig.rightCallback = () => this.hide()\n    } else {\n      // drawer-start (default): swipe left to dismiss in LTR\n      swipeConfig.leftCallback = () => this.hide()\n    }\n\n    this._swipeHelper = new Swipe(element, swipeConfig)\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // Avoid conflict when clicking a toggler of a drawer, while another is open\n  const alreadyOpen = SelectorEngine.findOne('dialog.drawer[open]')\n  if (alreadyOpen && alreadyOpen !== target) {\n    Drawer.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Drawer.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find('dialog.drawer[open]')) {\n    Drawer.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('dialog[open][class*=\"\\\\:drawer\"]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Drawer.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Drawer)\n\nexport default Drawer\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_LOAD_DATA_API","EVENT_HIDDEN","EVENT_RESIZE","EVENT_CLICK_DATA_API","SELECTOR_DATA_TOGGLE","Default","backdrop","keyboard","scroll","DefaultType","Drawer","DialogBase","constructor","element","config","_swipeHelper","dispose","_getShowOptions","useModal","Boolean","_config","modal","preventBodyScroll","_onBeforeShow","_initSwipe","_getInstantClassName","_getStaticClassName","Swipe","isSupported","swipeConfig","_element","classList","contains","downCallback","hide","upCallback","isRTL","leftCallback","rightCallback","EventHandler","on","document","event","target","SelectorEngine","getElementFromSelector","includes","tagName","preventDefault","isDisabled","one","isVisible","focus","alreadyOpen","findOne","getInstance","data","getOrCreateInstance","toggle","window","selector","find","show","getComputedStyle","position","enableDismissTrigger"],"mappings":"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"}
\ No newline at end of file
index 3106f9a5095ec76b208c1e7a3626a8eade5f3e66..605c0eccdeb016e651c39fe38d4a6f61a18f3fa2 100644 (file)
@@ -31,13 +31,20 @@ const SELECTOR_NAV_ITEM = '.nav-item';
 const SELECTOR_NAV_LINK = '.nav-link';
 const SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle';
 const SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu';
+const SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]';
 const CLASS_NAME_KEEP = 'nav-overflow-keep';
 const Default = {
+  collapseBelow: 0,
+  iconPlacement: 'start',
+  menuPlacement: 'bottom-end',
   moreText: 'More',
   moreIcon: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',
   threshold: 0 // Minimum items to keep visible before showing overflow
 };
 const DefaultType = {
+  collapseBelow: '(number|string)',
+  iconPlacement: 'string',
+  menuPlacement: 'string',
   moreText: 'string',
   moreIcon: 'string',
   threshold: 'number'
@@ -55,6 +62,7 @@ class NavOverflow extends BaseComponent {
     this._overflowMenu = null;
     this._overflowToggle = null;
     this._resizeObserver = null;
+    this._collapseBelow = 0;
     this._isInitialized = false;
     this._init();
   }
@@ -103,6 +111,9 @@ class NavOverflow extends BaseComponent {
       item.dataset.bsNavOrder = index;
     }
 
+    // Resolve collapseBelow threshold once
+    this._collapseBelow = this._resolveCollapseBelow();
+
     // Create overflow menu if it doesn't exist
     this._createOverflowMenu();
 
@@ -120,12 +131,15 @@ class NavOverflow extends BaseComponent {
       this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element);
       return;
     }
+    const iconHtml = this._resolveIcon();
+    const iconSpan = `<span class="nav-overflow-icon">${iconHtml}</span>`;
+    const textSpan = `<span class="nav-overflow-text">${this._config.moreText}</span>`;
+    const toggleContent = this._config.iconPlacement === 'end' ? `${textSpan}${iconSpan}` : `${iconSpan}${textSpan}`;
     const overflowItem = document.createElement('li');
     overflowItem.className = 'nav-item nav-overflow-item';
     overflowItem.innerHTML = `
-      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">
-        <span class="nav-overflow-icon">${this._config.moreIcon}</span>
-        <span class="nav-overflow-text">${this._config.moreText}</span>
+      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="${this._config.menuPlacement}" aria-expanded="false">
+        ${toggleContent}
       </button>
       <div class="${CLASS_NAME_OVERFLOW_MENU} menu"></div>
     `;
@@ -133,6 +147,28 @@ class NavOverflow extends BaseComponent {
     this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE);
     this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU);
   }
+  _resolveIcon() {
+    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element);
+    if (!customIconElement) {
+      return this._config.moreIcon;
+    }
+    const iconClone = customIconElement.cloneNode(true);
+    iconClone.removeAttribute('data-bs-overflow-icon');
+    const iconHtml = iconClone.outerHTML;
+    customIconElement.remove();
+    return iconHtml;
+  }
+  _resolveCollapseBelow() {
+    const value = this._config.collapseBelow;
+    if (typeof value === 'number') {
+      return value;
+    }
+    if (typeof value === 'string' && value !== '') {
+      const cssValue = getComputedStyle(document.documentElement).getPropertyValue(`--bs-breakpoint-${value}`);
+      return Number.parseFloat(cssValue) || 0;
+    }
+    return 0;
+  }
   _setupResizeObserver() {
     if (typeof ResizeObserver === 'undefined') {
       // Fallback for older browsers
@@ -149,6 +185,26 @@ class NavOverflow extends BaseComponent {
     this._restoreItems();
     const navWidth = this._element.offsetWidth;
     const overflowItem = this._overflowToggle?.closest('.nav-item');
+
+    // When below the collapseBelow threshold, force all items into overflow
+    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {
+      const itemsToOverflow = this._items.filter(item => !item.classList.contains(CLASS_NAME_KEEP));
+      this._moveToOverflow(itemsToOverflow);
+      if (overflowItem) {
+        if (itemsToOverflow.length > 0) {
+          overflowItem.classList.remove(CLASS_NAME_HIDDEN);
+        } else {
+          overflowItem.classList.add(CLASS_NAME_HIDDEN);
+        }
+      }
+      if (itemsToOverflow.length > 0) {
+        EventHandler.trigger(this._element, EVENT_OVERFLOW, {
+          overflowCount: itemsToOverflow.length,
+          visibleCount: this._items.length - itemsToOverflow.length
+        });
+      }
+      return;
+    }
     const overflowWidth = overflowItem?.offsetWidth || 0;
     let usedWidth = 0;
     const itemsToOverflow = [];
index b0d3689e646a5c0bc1faa756a3b7f25cf1cbed47..321af18d703d81c14613cc6992d9ceb98a464bf1 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"nav-overflow.js","sources":["../src/nav-overflow.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"bottom-end\" aria-expanded=\"false\">\n        <span class=\"nav-overflow-icon\">${this._config.moreIcon}</span>\n        <span class=\"nav-overflow-text\">${this._config.moreText}</span>\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","CLASS_NAME_KEEP","Default","moreText","moreIcon","threshold","DefaultType","NavOverflow","BaseComponent","constructor","element","config","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_isInitialized","_init","update","_calculateOverflow","EventHandler","trigger","_element","dispose","disconnect","_restoreItems","parentElement","remove","classList","add","SelectorEngine","find","index","item","entries","dataset","bsNavOrder","_createOverflowMenu","_setupResizeObserver","findOne","overflowItem","document","createElement","className","innerHTML","_config","append","querySelector","ResizeObserver","on","window","observe","navWidth","offsetWidth","closest","overflowWidth","usedWidth","itemsToOverflow","overflowThreshold","itemWidth","contains","push","visibleCount","length","toMove","slice","filter","_moveToOverflow","overflowCount","items","link","clonedLink","cloneNode","hasAttribute","bsNavOverflow","getOrCreateInstance"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"nav-overflow.js","sources":["../src/nav-overflow.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap nav-overflow.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'navoverflow'\nconst DATA_KEY = 'bs.navoverflow'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_UPDATE = `update${EVENT_KEY}`\nconst EVENT_OVERFLOW = `overflow${EVENT_KEY}`\n\nconst CLASS_NAME_OVERFLOW = 'nav-overflow'\nconst CLASS_NAME_OVERFLOW_MENU = 'nav-overflow-menu'\nconst CLASS_NAME_HIDDEN = 'd-none'\n\nconst SELECTOR_NAV_ITEM = '.nav-item'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'\nconst SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'\nconst SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]'\nconst CLASS_NAME_KEEP = 'nav-overflow-keep'\n\nconst Default = {\n  collapseBelow: 0,\n  iconPlacement: 'start',\n  menuPlacement: 'bottom-end',\n  moreText: 'More',\n  moreIcon: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\"><path d=\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3\"/></svg>',\n  threshold: 0 // Minimum items to keep visible before showing overflow\n}\n\nconst DefaultType = {\n  collapseBelow: '(number|string)',\n  iconPlacement: 'string',\n  menuPlacement: 'string',\n  moreText: 'string',\n  moreIcon: 'string',\n  threshold: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass NavOverflow extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._items = []\n    this._overflowItems = []\n    this._overflowMenu = null\n    this._overflowToggle = null\n    this._resizeObserver = null\n    this._collapseBelow = 0\n    this._isInitialized = false\n\n    this._init()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  update() {\n    this._calculateOverflow()\n    EventHandler.trigger(this._element, EVENT_UPDATE)\n  }\n\n  dispose() {\n    if (this._resizeObserver) {\n      this._resizeObserver.disconnect()\n    }\n\n    // Move items back to original positions\n    this._restoreItems()\n\n    // Remove overflow menu\n    if (this._overflowToggle && this._overflowToggle.parentElement) {\n      this._overflowToggle.parentElement.remove()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _init() {\n    // Add overflow class to nav\n    this._element.classList.add(CLASS_NAME_OVERFLOW)\n\n    // Get all nav items\n    this._items = [...SelectorEngine.find(SELECTOR_NAV_ITEM, this._element)]\n\n    // Store original order data\n    for (const [index, item] of this._items.entries()) {\n      item.dataset.bsNavOrder = index\n    }\n\n    // Resolve collapseBelow threshold once\n    this._collapseBelow = this._resolveCollapseBelow()\n\n    // Create overflow menu if it doesn't exist\n    this._createOverflowMenu()\n\n    // Setup resize observer\n    this._setupResizeObserver()\n\n    // Initial calculation\n    this._calculateOverflow()\n\n    this._isInitialized = true\n  }\n\n  _createOverflowMenu() {\n    // Check if overflow menu already exists\n    this._overflowToggle = SelectorEngine.findOne(SELECTOR_OVERFLOW_TOGGLE, this._element)\n\n    if (this._overflowToggle) {\n      this._overflowMenu = SelectorEngine.findOne(SELECTOR_OVERFLOW_MENU, this._element)\n      return\n    }\n\n    const iconHtml = this._resolveIcon()\n    const iconSpan = `<span class=\"nav-overflow-icon\">${iconHtml}</span>`\n    const textSpan = `<span class=\"nav-overflow-text\">${this._config.moreText}</span>`\n    const toggleContent = this._config.iconPlacement === 'end' ?\n      `${textSpan}${iconSpan}` :\n      `${iconSpan}${textSpan}`\n\n    const overflowItem = document.createElement('li')\n    overflowItem.className = 'nav-item nav-overflow-item'\n    overflowItem.innerHTML = `\n      <button class=\"nav-link nav-overflow-toggle\" type=\"button\" data-bs-toggle=\"menu\" data-bs-placement=\"${this._config.menuPlacement}\" aria-expanded=\"false\">\n        ${toggleContent}\n      </button>\n      <div class=\"${CLASS_NAME_OVERFLOW_MENU} menu\"></div>\n    `\n\n    this._element.append(overflowItem)\n    this._overflowToggle = overflowItem.querySelector(SELECTOR_OVERFLOW_TOGGLE)\n    this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)\n  }\n\n  _resolveIcon() {\n    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element)\n\n    if (!customIconElement) {\n      return this._config.moreIcon\n    }\n\n    const iconClone = customIconElement.cloneNode(true)\n    iconClone.removeAttribute('data-bs-overflow-icon')\n    const iconHtml = iconClone.outerHTML\n\n    customIconElement.remove()\n\n    return iconHtml\n  }\n\n  _resolveCollapseBelow() {\n    const value = this._config.collapseBelow\n\n    if (typeof value === 'number') {\n      return value\n    }\n\n    if (typeof value === 'string' && value !== '') {\n      const cssValue = getComputedStyle(document.documentElement)\n        .getPropertyValue(`--bs-breakpoint-${value}`)\n      return Number.parseFloat(cssValue) || 0\n    }\n\n    return 0\n  }\n\n  _setupResizeObserver() {\n    if (typeof ResizeObserver === 'undefined') {\n      // Fallback for older browsers\n      EventHandler.on(window, 'resize', () => this._calculateOverflow())\n      return\n    }\n\n    this._resizeObserver = new ResizeObserver(() => {\n      this._calculateOverflow()\n    })\n\n    this._resizeObserver.observe(this._element)\n  }\n\n  _calculateOverflow() {\n    // First, restore all items to measure properly\n    this._restoreItems()\n\n    const navWidth = this._element.offsetWidth\n    const overflowItem = this._overflowToggle?.closest('.nav-item')\n\n    // When below the collapseBelow threshold, force all items into overflow\n    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {\n      const itemsToOverflow = this._items.filter(\n        item => !item.classList.contains(CLASS_NAME_KEEP)\n      )\n\n      this._moveToOverflow(itemsToOverflow)\n\n      if (overflowItem) {\n        if (itemsToOverflow.length > 0) {\n          overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n        } else {\n          overflowItem.classList.add(CLASS_NAME_HIDDEN)\n        }\n      }\n\n      if (itemsToOverflow.length > 0) {\n        EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n          overflowCount: itemsToOverflow.length,\n          visibleCount: this._items.length - itemsToOverflow.length\n        })\n      }\n\n      return\n    }\n\n    const overflowWidth = overflowItem?.offsetWidth || 0\n\n    let usedWidth = 0\n    const itemsToOverflow = []\n    const overflowThreshold = navWidth - overflowWidth - 10 // 10px buffer\n\n    // Calculate which items need to overflow (skip items with keep class)\n    for (const item of this._items) {\n      const itemWidth = item.offsetWidth\n      usedWidth += itemWidth\n\n      // Never overflow items with the keep class\n      if (item.classList.contains(CLASS_NAME_KEEP)) {\n        continue\n      }\n\n      if (usedWidth > overflowThreshold) {\n        itemsToOverflow.push(item)\n      }\n    }\n\n    // Check if we need threshold minimum visible\n    const visibleCount = this._items.length - itemsToOverflow.length\n    if (visibleCount < this._config.threshold && this._items.length > this._config.threshold) {\n      // Add more items to overflow until we reach threshold (but not keep items)\n      const toMove = this._items.slice(this._config.threshold).filter(item => !item.classList.contains(CLASS_NAME_KEEP))\n      itemsToOverflow.length = 0\n      itemsToOverflow.push(...toMove)\n    }\n\n    // Move items to overflow menu\n    this._moveToOverflow(itemsToOverflow)\n\n    // Show/hide overflow toggle\n    if (overflowItem) {\n      if (itemsToOverflow.length > 0) {\n        overflowItem.classList.remove(CLASS_NAME_HIDDEN)\n      } else {\n        overflowItem.classList.add(CLASS_NAME_HIDDEN)\n      }\n    }\n\n    // Trigger overflow event if items changed\n    if (itemsToOverflow.length > 0) {\n      EventHandler.trigger(this._element, EVENT_OVERFLOW, {\n        overflowCount: itemsToOverflow.length,\n        visibleCount: this._items.length - itemsToOverflow.length\n      })\n    }\n  }\n\n  _moveToOverflow(items) {\n    if (!this._overflowMenu) {\n      return\n    }\n\n    // Clear existing overflow items\n    this._overflowMenu.innerHTML = ''\n    this._overflowItems = []\n\n    for (const item of items) {\n      const link = SelectorEngine.findOne(SELECTOR_NAV_LINK, item)\n      if (!link) {\n        continue\n      }\n\n      const clonedLink = link.cloneNode(true)\n      clonedLink.className = 'menu-item'\n\n      if (link.classList.contains('active')) {\n        clonedLink.classList.add('active')\n      }\n\n      if (link.classList.contains('disabled') || link.hasAttribute('disabled')) {\n        clonedLink.classList.add('disabled')\n      }\n\n      this._overflowMenu.append(clonedLink)\n\n      // Hide original item\n      item.classList.add(CLASS_NAME_HIDDEN)\n      item.dataset.bsNavOverflow = 'true'\n\n      this._overflowItems.push(item)\n    }\n  }\n\n  _restoreItems() {\n    for (const item of this._items) {\n      item.classList.remove(CLASS_NAME_HIDDEN)\n      delete item.dataset.bsNavOverflow\n    }\n\n    if (this._overflowMenu) {\n      this._overflowMenu.innerHTML = ''\n    }\n\n    this._overflowItems = []\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, 'DOMContentLoaded', () => {\n  for (const element of SelectorEngine.find('[data-bs-toggle=\"nav-overflow\"]')) {\n    NavOverflow.getOrCreateInstance(element)\n  }\n})\n\nexport default NavOverflow\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_UPDATE","EVENT_OVERFLOW","CLASS_NAME_OVERFLOW","CLASS_NAME_OVERFLOW_MENU","CLASS_NAME_HIDDEN","SELECTOR_NAV_ITEM","SELECTOR_NAV_LINK","SELECTOR_OVERFLOW_TOGGLE","SELECTOR_OVERFLOW_MENU","SELECTOR_CUSTOM_ICON","CLASS_NAME_KEEP","Default","collapseBelow","iconPlacement","menuPlacement","moreText","moreIcon","threshold","DefaultType","NavOverflow","BaseComponent","constructor","element","config","_items","_overflowItems","_overflowMenu","_overflowToggle","_resizeObserver","_collapseBelow","_isInitialized","_init","update","_calculateOverflow","EventHandler","trigger","_element","dispose","disconnect","_restoreItems","parentElement","remove","classList","add","SelectorEngine","find","index","item","entries","dataset","bsNavOrder","_resolveCollapseBelow","_createOverflowMenu","_setupResizeObserver","findOne","iconHtml","_resolveIcon","iconSpan","textSpan","_config","toggleContent","overflowItem","document","createElement","className","innerHTML","append","querySelector","customIconElement","iconClone","cloneNode","removeAttribute","outerHTML","value","cssValue","getComputedStyle","documentElement","getPropertyValue","Number","parseFloat","ResizeObserver","on","window","observe","navWidth","offsetWidth","closest","itemsToOverflow","filter","contains","_moveToOverflow","length","overflowCount","visibleCount","overflowWidth","usedWidth","overflowThreshold","itemWidth","push","toMove","slice","items","link","clonedLink","hasAttribute","bsNavOverflow","getOrCreateInstance"],"mappings":"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"}
\ No newline at end of file
index 83292110b8d76ca41fc7b706dc1064392e8cfa88..17b4f49e0a846919dd7fba23916f8cd85f455451 100644 (file)
@@ -33,12 +33,16 @@ const SWIPE_THRESHOLD = 40;
 const Default = {
   endCallback: null,
   leftCallback: null,
-  rightCallback: null
+  rightCallback: null,
+  upCallback: null,
+  downCallback: null
 };
 const DefaultType = {
   endCallback: '(function|null)',
   leftCallback: '(function|null)',
-  rightCallback: '(function|null)'
+  rightCallback: '(function|null)',
+  upCallback: '(function|null)',
+  downCallback: '(function|null)'
 };
 
 /**
@@ -54,6 +58,7 @@ class Swipe extends Config {
     }
     this._config = this._getConfig(config);
     this._deltaX = 0;
+    this._deltaY = 0;
     this._supportPointerEvents = Boolean(window.PointerEvent);
     this._initEvents();
   }
@@ -78,33 +83,57 @@ class Swipe extends Config {
   _start(event) {
     if (!this._supportPointerEvents) {
       this._deltaX = event.touches[0].clientX;
+      this._deltaY = event.touches[0].clientY;
       return;
     }
     if (this._eventIsPointerPenTouch(event)) {
       this._deltaX = event.clientX;
+      this._deltaY = event.clientY;
     }
   }
   _end(event) {
     if (this._eventIsPointerPenTouch(event)) {
       this._deltaX = event.clientX - this._deltaX;
+      this._deltaY = event.clientY - this._deltaY;
     }
     this._handleSwipe();
     execute(this._config.endCallback);
   }
   _move(event) {
-    this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
+    if (event.touches && event.touches.length > 1) {
+      this._deltaX = 0;
+      this._deltaY = 0;
+      return;
+    }
+    this._deltaX = event.touches[0].clientX - this._deltaX;
+    this._deltaY = event.touches[0].clientY - this._deltaY;
   }
   _handleSwipe() {
     const absDeltaX = Math.abs(this._deltaX);
-    if (absDeltaX <= SWIPE_THRESHOLD) {
+    const absDeltaY = Math.abs(this._deltaY);
+
+    // Determine primary axis: whichever has greater movement wins
+    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {
+      // Vertical swipe
+      const direction = this._deltaY > 0 ? 'down' : 'up';
+      this._deltaX = 0;
+      this._deltaY = 0;
+      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback);
       return;
     }
-    const direction = absDeltaX / this._deltaX;
-    this._deltaX = 0;
-    if (!direction) {
+    if (absDeltaX > SWIPE_THRESHOLD) {
+      // Horizontal swipe
+      const direction = absDeltaX / this._deltaX;
+      this._deltaX = 0;
+      this._deltaY = 0;
+      if (!direction) {
+        return;
+      }
+      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
       return;
     }
-    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
+    this._deltaX = 0;
+    this._deltaY = 0;
   }
   _initEvents() {
     if (this._supportPointerEvents) {
index e80936fbe694787b2b5eb7f21b6d99e100993b89..de1f35d3cff171ac777233317ffc1244f96cd32f 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"swipe.js","sources":["../../src/util/swipe.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n"],"names":["NAME","EVENT_KEY","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default","endCallback","leftCallback","rightCallback","DefaultType","Swipe","Config","constructor","element","config","_element","isSupported","_config","_getConfig","_deltaX","_supportPointerEvents","Boolean","window","PointerEvent","_initEvents","dispose","EventHandler","off","_start","event","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","execute","_move","length","absDeltaX","Math","abs","direction","on","classList","add","pointerType","document","documentElement","navigator","maxTouchPoints"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"swipe.js","sources":["../../src/util/swipe.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null,\n  upCallback: null,\n  downCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)',\n  upCallback: '(function|null)',\n  downCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._deltaY = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n      this._deltaY = event.touches[0].clientY\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n      this._deltaY = event.clientY\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n      this._deltaY = event.clientY - this._deltaY\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    if (event.touches && event.touches.length > 1) {\n      this._deltaX = 0\n      this._deltaY = 0\n      return\n    }\n\n    this._deltaX = event.touches[0].clientX - this._deltaX\n    this._deltaY = event.touches[0].clientY - this._deltaY\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n    const absDeltaY = Math.abs(this._deltaY)\n\n    // Determine primary axis: whichever has greater movement wins\n    if (absDeltaY > absDeltaX && absDeltaY > SWIPE_THRESHOLD) {\n      // Vertical swipe\n      const direction = this._deltaY > 0 ? 'down' : 'up'\n      this._deltaX = 0\n      this._deltaY = 0\n      execute(direction === 'down' ? this._config.downCallback : this._config.upCallback)\n      return\n    }\n\n    if (absDeltaX > SWIPE_THRESHOLD) {\n      // Horizontal swipe\n      const direction = absDeltaX / this._deltaX\n      this._deltaX = 0\n      this._deltaY = 0\n\n      if (!direction) {\n        return\n      }\n\n      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n      return\n    }\n\n    this._deltaX = 0\n    this._deltaY = 0\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n"],"names":["NAME","EVENT_KEY","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default","endCallback","leftCallback","rightCallback","upCallback","downCallback","DefaultType","Swipe","Config","constructor","element","config","_element","isSupported","_config","_getConfig","_deltaX","_deltaY","_supportPointerEvents","Boolean","window","PointerEvent","_initEvents","dispose","EventHandler","off","_start","event","touches","clientX","clientY","_eventIsPointerPenTouch","_end","_handleSwipe","execute","_move","length","absDeltaX","Math","abs","absDeltaY","direction","on","classList","add","pointerType","document","documentElement","navigator","maxTouchPoints"],"mappings":"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"}
\ No newline at end of file
index a6dd37021aca530d7bfd070df34568d70e6c6759..a443c2007b932b35b6d5f7603fb591c5c60df417 100644 (file)
@@ -28,15 +28,22 @@ const SELECTOR_NAV_ITEM = '.nav-item'
 const SELECTOR_NAV_LINK = '.nav-link'
 const SELECTOR_OVERFLOW_TOGGLE = '.nav-overflow-toggle'
 const SELECTOR_OVERFLOW_MENU = '.nav-overflow-menu'
+const SELECTOR_CUSTOM_ICON = '[data-bs-overflow-icon]'
 const CLASS_NAME_KEEP = 'nav-overflow-keep'
 
 const Default = {
+  collapseBelow: 0,
+  iconPlacement: 'start',
+  menuPlacement: 'bottom-end',
   moreText: 'More',
   moreIcon: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',
   threshold: 0 // Minimum items to keep visible before showing overflow
 }
 
 const DefaultType = {
+  collapseBelow: '(number|string)',
+  iconPlacement: 'string',
+  menuPlacement: 'string',
   moreText: 'string',
   moreIcon: 'string',
   threshold: 'number'
@@ -55,6 +62,7 @@ class NavOverflow extends BaseComponent {
     this._overflowMenu = null
     this._overflowToggle = null
     this._resizeObserver = null
+    this._collapseBelow = 0
     this._isInitialized = false
 
     this._init()
@@ -108,6 +116,9 @@ class NavOverflow extends BaseComponent {
       item.dataset.bsNavOrder = index
     }
 
+    // Resolve collapseBelow threshold once
+    this._collapseBelow = this._resolveCollapseBelow()
+
     // Create overflow menu if it doesn't exist
     this._createOverflowMenu()
 
@@ -129,12 +140,18 @@ class NavOverflow extends BaseComponent {
       return
     }
 
+    const iconHtml = this._resolveIcon()
+    const iconSpan = `<span class="nav-overflow-icon">${iconHtml}</span>`
+    const textSpan = `<span class="nav-overflow-text">${this._config.moreText}</span>`
+    const toggleContent = this._config.iconPlacement === 'end' ?
+      `${textSpan}${iconSpan}` :
+      `${iconSpan}${textSpan}`
+
     const overflowItem = document.createElement('li')
     overflowItem.className = 'nav-item nav-overflow-item'
     overflowItem.innerHTML = `
-      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="bottom-end" aria-expanded="false">
-        <span class="nav-overflow-icon">${this._config.moreIcon}</span>
-        <span class="nav-overflow-text">${this._config.moreText}</span>
+      <button class="nav-link nav-overflow-toggle" type="button" data-bs-toggle="menu" data-bs-placement="${this._config.menuPlacement}" aria-expanded="false">
+        ${toggleContent}
       </button>
       <div class="${CLASS_NAME_OVERFLOW_MENU} menu"></div>
     `
@@ -144,6 +161,38 @@ class NavOverflow extends BaseComponent {
     this._overflowMenu = overflowItem.querySelector(SELECTOR_OVERFLOW_MENU)
   }
 
+  _resolveIcon() {
+    const customIconElement = SelectorEngine.findOne(SELECTOR_CUSTOM_ICON, this._element)
+
+    if (!customIconElement) {
+      return this._config.moreIcon
+    }
+
+    const iconClone = customIconElement.cloneNode(true)
+    iconClone.removeAttribute('data-bs-overflow-icon')
+    const iconHtml = iconClone.outerHTML
+
+    customIconElement.remove()
+
+    return iconHtml
+  }
+
+  _resolveCollapseBelow() {
+    const value = this._config.collapseBelow
+
+    if (typeof value === 'number') {
+      return value
+    }
+
+    if (typeof value === 'string' && value !== '') {
+      const cssValue = getComputedStyle(document.documentElement)
+        .getPropertyValue(`--bs-breakpoint-${value}`)
+      return Number.parseFloat(cssValue) || 0
+    }
+
+    return 0
+  }
+
   _setupResizeObserver() {
     if (typeof ResizeObserver === 'undefined') {
       // Fallback for older browsers
@@ -164,6 +213,33 @@ class NavOverflow extends BaseComponent {
 
     const navWidth = this._element.offsetWidth
     const overflowItem = this._overflowToggle?.closest('.nav-item')
+
+    // When below the collapseBelow threshold, force all items into overflow
+    if (this._collapseBelow > 0 && navWidth < this._collapseBelow) {
+      const itemsToOverflow = this._items.filter(
+        item => !item.classList.contains(CLASS_NAME_KEEP)
+      )
+
+      this._moveToOverflow(itemsToOverflow)
+
+      if (overflowItem) {
+        if (itemsToOverflow.length > 0) {
+          overflowItem.classList.remove(CLASS_NAME_HIDDEN)
+        } else {
+          overflowItem.classList.add(CLASS_NAME_HIDDEN)
+        }
+      }
+
+      if (itemsToOverflow.length > 0) {
+        EventHandler.trigger(this._element, EVENT_OVERFLOW, {
+          overflowCount: itemsToOverflow.length,
+          visibleCount: this._items.length - itemsToOverflow.length
+        })
+      }
+
+      return
+    }
+
     const overflowWidth = overflowItem?.offsetWidth || 0
 
     let usedWidth = 0
index 74b3973a827b121dd88aac8d494a23cdd07c1d54..2f8fc6321b62f57787a89f1f85aeef9a70323848 100644 (file)
@@ -514,11 +514,223 @@ describe('NavOverflow', () => {
 
     it('should have correct DefaultType', () => {
       expect(NavOverflow.DefaultType).toEqual(jasmine.objectContaining({
+        collapseBelow: '(number|string)',
+        iconPlacement: 'string',
+        menuPlacement: 'string',
         moreText: 'string',
         moreIcon: 'string',
         threshold: 'number'
       }))
     })
+
+    it('should respect custom menuPlacement option', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        menuPlacement: 'bottom-start'
+      })
+
+      const toggle = navEl.querySelector('.nav-overflow-toggle')
+      expect(toggle.getAttribute('data-bs-placement')).toEqual('bottom-start')
+
+      navOverflow.dispose()
+    })
+
+    it('should use a child element with [data-bs-overflow-icon] as the icon', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>',
+        '  <svg data-bs-overflow-icon class="bi-chevron" width="16" height="16"><circle cx="8" cy="8" r="8"/></svg>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl)
+
+      const iconContainer = navEl.querySelector('.nav-overflow-icon')
+      const svg = iconContainer.querySelector('svg')
+      expect(svg).not.toBeNull()
+      expect(svg).toHaveClass('bi-chevron')
+      expect(svg.hasAttribute('data-bs-overflow-icon')).toBeFalse()
+
+      // Original element should be removed from the nav
+      expect(navEl.querySelector('[data-bs-overflow-icon]')).toBeNull()
+
+      navOverflow.dispose()
+    })
+
+    it('should prefer child [data-bs-overflow-icon] over moreIcon config', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>',
+        '  <svg data-bs-overflow-icon class="from-markup" width="16" height="16"><circle cx="8" cy="8" r="8"/></svg>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        moreIcon: '<span class="from-config">X</span>'
+      })
+
+      const iconContainer = navEl.querySelector('.nav-overflow-icon')
+      expect(iconContainer.querySelector('.from-markup')).not.toBeNull()
+      expect(iconContainer.querySelector('.from-config')).toBeNull()
+
+      navOverflow.dispose()
+    })
+
+    it('should place icon after text when iconPlacement is "end"', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        iconPlacement: 'end'
+      })
+
+      const toggle = navEl.querySelector('.nav-overflow-toggle')
+      const children = [...toggle.children]
+      const textIndex = children.findIndex(el => el.classList.contains('nav-overflow-text'))
+      const iconIndex = children.findIndex(el => el.classList.contains('nav-overflow-icon'))
+
+      expect(textIndex).toBeLessThan(iconIndex)
+
+      navOverflow.dispose()
+    })
+
+    it('should place icon before text by default (iconPlacement "start")', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl)
+
+      const toggle = navEl.querySelector('.nav-overflow-toggle')
+      const children = [...toggle.children]
+      const textIndex = children.findIndex(el => el.classList.contains('nav-overflow-text'))
+      const iconIndex = children.findIndex(el => el.classList.contains('nav-overflow-icon'))
+
+      expect(iconIndex).toBeLessThan(textIndex)
+
+      navOverflow.dispose()
+    })
+  })
+
+  describe('collapseBelow', () => {
+    it('should collapse all items when nav width is below collapseBelow (number)', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" style="display: flex; width: 400px;" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 1</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 2</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 3</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        collapseBelow: 500
+      })
+
+      const hiddenItems = navEl.querySelectorAll('.nav-item[data-bs-nav-overflow="true"]')
+      expect(hiddenItems.length).toEqual(3)
+
+      navOverflow.dispose()
+    })
+
+    it('should not collapse items when nav width is above collapseBelow (number)', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" style="display: flex; width: 5000px;" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 1</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 2</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 3</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        collapseBelow: 500
+      })
+
+      const hiddenItems = navEl.querySelectorAll('.nav-item[data-bs-nav-overflow="true"]')
+      expect(hiddenItems.length).toEqual(0)
+
+      navOverflow.dispose()
+    })
+
+    it('should resolve a breakpoint string via --bs-breakpoint-{name} CSS variable', () => {
+      document.documentElement.style.setProperty('--bs-breakpoint-md', '768px')
+
+      fixtureEl.innerHTML = [
+        '<ul class="nav" style="display: flex; width: 400px;" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 1</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 2</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        collapseBelow: 'md'
+      })
+
+      const hiddenItems = navEl.querySelectorAll('.nav-item[data-bs-nav-overflow="true"]')
+      expect(hiddenItems.length).toEqual(2)
+
+      navOverflow.dispose()
+      document.documentElement.style.removeProperty('--bs-breakpoint-md')
+    })
+
+    it('should respect nav-overflow-keep items when collapsing all', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" style="display: flex; width: 400px;" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item nav-overflow-keep" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Keep</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 2</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 3</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl, {
+        collapseBelow: 500
+      })
+
+      const keepItem = navEl.querySelector('.nav-overflow-keep')
+      expect(keepItem).not.toHaveClass('d-none')
+
+      const hiddenItems = navEl.querySelectorAll('.nav-item[data-bs-nav-overflow="true"]')
+      expect(hiddenItems.length).toEqual(2)
+
+      navOverflow.dispose()
+    })
+
+    it('should be disabled by default (collapseBelow: 0)', () => {
+      fixtureEl.innerHTML = [
+        '<ul class="nav" style="display: flex; width: 5000px;" data-bs-toggle="nav-overflow">',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 1</a></li>',
+        '  <li class="nav-item" style="flex: 0 0 50px; width: 50px;"><a class="nav-link" href="#">Link 2</a></li>',
+        '</ul>'
+      ].join('')
+
+      const navEl = fixtureEl.querySelector('[data-bs-toggle="nav-overflow"]')
+      const navOverflow = new NavOverflow(navEl)
+
+      expect(navOverflow._collapseBelow).toEqual(0)
+
+      const overflowItem = navEl.querySelector('.nav-overflow-item')
+      expect(overflowItem).toHaveClass('d-none')
+
+      navOverflow.dispose()
+    })
   })
 
   describe('dispose', () => {
index ef6917ec5c54dcbc2624c22ee36052298be4525f..f46b1cca57c81f11a5df524cc967ee7f0353bd7d 100644 (file)
@@ -53,6 +53,7 @@
   "scripts": {
     "start": "npm-run-all --parallel watch docs-serve",
     "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
+    "bundlewatch:fix": "node build/bundlewatch-fix.mjs",
     "bundlewatch:table": "node build/bundlewatch-table.mjs",
     "css": "npm-run-all css-compile css-prefix css-minify css-docs",
     "css-compile": "sass --style expanded --source-map --embed-sources --no-error-css scss/bootstrap.scss:dist/css/bootstrap.css scss/bootstrap-grid.scss:dist/css/bootstrap-grid.css scss/bootstrap-reboot.scss:dist/css/bootstrap-reboot.css scss/bootstrap-utilities.scss:dist/css/bootstrap-utilities.css",
     "watch-css-test": "nodemon --watch scss/ --ext scss,js --exec \"npm run css-test\"",
     "watch-js-main": "nodemon --watch js/src/ --ext js --exec \"npm-run-all js-lint js-compile\"",
     "watch-js-docs": "nodemon --watch site/src/assets/ --ext js --exec \"npm run js-lint\"",
+    "astro-clean": "rm -rf site/.astro site/node_modules/.astro",
     "astro-dev": "astro dev --root site --port 9001",
     "astro-build": "astro build --root site && rm -rf _site && cp -r site/dist _site",
     "astro-preview": "astro preview --root site --port 9001",
index f545c83062e22ae5832b48e794f3176b33420cd8..7d54c3e8e7d0018c7b0a312ab28fd6ac563c41fd 100644 (file)
@@ -28,7 +28,7 @@
 $enable-caret:                true !default;
 $enable-rounded:              true !default;
 $enable-shadows:              true !default;
-$enable-gradients:            false !default;
+$enable-gradients:            true !default;
 $enable-transitions:          true !default;
 $enable-reduced-motion:       true !default;
 $enable-smooth-scroll:        true !default;
@@ -53,9 +53,13 @@ $spacers: (
   0: 0,
   1: $spacer * .25,
   2: $spacer * .5,
-  3: $spacer,
-  4: $spacer * 1.5,
-  5: $spacer * 3,
+  3: $spacer * .75,
+  4: $spacer,
+  5: $spacer * 1.25,
+  6: $spacer * 1.5,
+  7: $spacer * 2,
+  8: $spacer * 2.5,
+  9: $spacer * 3,
 ) !default;
 
 $negative-spacers: (
index 3f034dafd585d281c51716d5b0eb64dcfd875b12..7849495514207aa946398ecaf90a92a00526baf2 100644 (file)
@@ -52,9 +52,9 @@ $datepicker-tokens: defaults(
     color-scheme: light dark;
     background-color: var(--datepicker-bg);
     border: var(--datepicker-border-width) solid var(--datepicker-border-color);
-    @include border-radius(var(--datepicker-border-radius));
     box-shadow: var(--datepicker-box-shadow);
     opacity: 1;
+    @include border-radius(var(--datepicker-border-radius));
 
     // Respond to Bootstrap's color mode system
     &[data-bs-theme="light"] {
index e64a5998b09d3ce6fa82c666094e159f1a08616d..3e491f822e10a274cda943290ccc3fe4848870b2 100644 (file)
@@ -28,6 +28,8 @@ $dialog-tokens: defaults(
     --dialog-border-width: var(--border-width),
     --dialog-border-radius: var(--border-radius-lg),
     --dialog-box-shadow: var(--box-shadow-lg),
+    --dialog-transition-duration: .3s,
+    --dialog-transition-timing: cubic-bezier(.22, 1, .36, 1),
     --dialog-backdrop-bg: rgb(0 0 0 / 50%),
     --dialog-backdrop-blur: 8px,
     --dialog-header-padding: 1rem,
index 63246661b8f64739d435e97c582c293694f7b046..4fc813b4125eaa8b00f8457cd3d60312e47894f3 100644 (file)
@@ -204,7 +204,6 @@ $drawer-backdrop-tokens: defaults(
             display: flex;
             flex-grow: 0;
             flex-direction: row;
-            align-items: center;
             width: 100%;
             padding: 0;
             overflow-y: visible;
index c2c9b78dbf89b6f38928deb5147b3ef5287b6f1b..3b4432a87aa20cd11572bd0dc38aa052a34703b9 100644 (file)
@@ -2,8 +2,8 @@
 @use "functions" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
-@use "mixins/gradients" as *;
 @use "mixins/tokens" as *;
+@use "mixins/transition" as *;
 
 // stylelint-disable scss/dollar-variable-default, custom-property-no-missing-var-function
 $menu-tokens: () !default;
@@ -45,6 +45,8 @@ $menu-tokens: defaults(
     --menu-header-color: var(--fg-3),
     --menu-header-padding-x: .75rem,
     --menu-header-padding-y: .25rem,
+    --menu-transition-duration: .15s,
+    --menu-transition-timing: cubic-bezier(.22, 1, .36, 1),
   ),
   $menu-tokens
 );
@@ -76,9 +78,43 @@ $menu-tokens: defaults(
     border: var(--menu-border-width, var(--border-width)) solid var(--menu-border-color, var(--border-color-translucent));
     @include border-radius(var(--menu-border-radius, var(--border-radius-lg)));
     @include box-shadow(var(--menu-box-shadow));
+    opacity: 0;
+    transform: scale(.95);
+    transform-origin: top start;
+
+    &[data-bs-placement^="top"] {
+      transform-origin: bottom start;
+    }
+
+    &[data-bs-placement="bottom-end"] {
+      transform-origin: top end;
+    }
+
+    &[data-bs-placement="top-end"] {
+      transform-origin: bottom end;
+    }
+
+    &[data-bs-placement^="left"] {
+      transform-origin: top end;
+    }
+
+    @include transition(
+      opacity var(--menu-transition-duration) var(--menu-transition-timing),
+      transform var(--menu-transition-duration) var(--menu-transition-timing),
+      display var(--menu-transition-duration) allow-discrete
+    );
 
     &.show {
       display: flex;
+      opacity: 1;
+      transform: none;
+    }
+  }
+
+  @starting-style {
+    .menu.show {
+      opacity: 0;
+      transform: scale(.95);
     }
   }
 
@@ -128,14 +164,16 @@ $menu-tokens: defaults(
 
     &:hover,
     &:focus {
-      color: var(--theme-text, var(--menu-item-hover-color));
-      @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));
+      color: var(--theme-text-emphasis, var(--menu-item-hover-color));
+      background-color: var(--theme-bg-subtle, var(--menu-item-hover-bg));
+      // @include gradient-bg(var(--theme-bg-subtle, var(--menu-item-hover-bg)));
     }
 
     &.active,
     &:active {
       color: var(--theme-contrast, var(--menu-item-active-color));
-      @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));
+      background-color: var(--theme-bg, var(--menu-item-active-bg));
+      // @include gradient-bg(var(--theme-bg, var(--menu-item-active-bg)));
 
       .menu-item-icon {
         color: inherit !important; // stylelint-disable-line declaration-no-important
index 64459ef480d32070cdd57a3e568fcdb04d3a8a87..8958d20202f3501ea28c6ed3dce79fe4b08552d6 100644 (file)
@@ -57,6 +57,8 @@ $nav-pills-tokens: () !default;
 // stylelint-disable-next-line scss/dollar-variable-default
 $nav-pills-tokens: defaults(
   (
+    --nav-pills-bg: var(--bg-1),
+    --nav-pills-padding: .25rem,
     --nav-pills-link-active-color: var(--primary-contrast),
     --nav-pills-link-active-bg: var(--primary-bg),
   ),
@@ -185,9 +187,16 @@ $nav-underline-tokens: defaults(
   //
 
   .nav-pills {
-    // scss-docs-start nav-pills-css-vars
     @include tokens($nav-pills-tokens);
-    // scss-docs-end nav-pills-css-vars
+
+    display: inline-flex;
+    padding: var(--nav-pills-padding);
+    background-color: var(--nav-pills-bg);
+    @include border-radius(var(--border-radius-pill));
+
+    .nav-link {
+      @include border-radius(var(--border-radius-pill));
+    }
 
     .nav-link.active,
     .show > .nav-link {
index 6cebf5f92b91c01373addd97101de302e6965fad..95859f8be097aa690e0e9287e5302951a90c3a2f 100644 (file)
@@ -2,7 +2,6 @@
 @use "functions" as *;
 @use "layout/breakpoints" as *;
 @use "mixins/box-shadow" as *;
-@use "mixins/gradients" as *;
 @use "mixins/tokens" as *;
 @use "mixins/transition" as *;
 
@@ -97,7 +96,8 @@ $navbar-nav-tokens: defaults(
     padding: var(--navbar-padding-y) var(--navbar-padding-x);
     @include set-container();
     color: var(--navbar-color, var(--fg-body));
-    @include gradient-bg(var(--navbar-bg, var(--bg-body)));
+    background-color: var(--navbar-bg, var(--bg-body));
+    // @include gradient-bg(var(--navbar-bg, var(--bg-body)));
 
     // Container properties for nested containers
     %container-flex-properties {
index 3562eed064fde6cce233b2fda45e0903eb9c17e5..fae29c335554a0f6c3518e87d91d51c5511067d3 100644 (file)
@@ -439,6 +439,7 @@ $utilities: map.merge(
       property: grid-template-columns,
       class: grid-cols,
       values: (
+        "1": 1fr,
         "2": repeat(2, 1fr),
         "3": repeat(3, 1fr),
         "4": repeat(4, 1fr),
index 56fcf61ef31fb17de758276001b8b961ff61b9c9..cda6190cfa2af6f0b3764c351455914e3e41987d 100644 (file)
@@ -21,13 +21,13 @@ $table-tokens: defaults(
     --table-border-color: var(--border-color),
     --table-group-separator-color: currentcolor,
     --table-striped-color: var(--table-color),
-    --table-striped-bg-factor: .05,
+    --table-striped-bg-factor: 5%,
     --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),
     --table-active-color: var(--table-color),
-    --table-active-bg-factor: .1,
+    --table-active-bg-factor: 10%,
     --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),
     --table-hover-color: var(--table-color),
-    --table-hover-bg-factor: .075,
+    --table-hover-bg-factor: 7.5%,
     --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),
   ),
   $table-tokens
@@ -178,17 +178,78 @@ $table-striped-columns-order: even !default;
 
   // Responsive tables
   //
-  // Generate series of responsive `.table-responsive` classes for configuring
-  // the screen size of where your table will overflow.
+  // Generate `.table-responsive` classes that act as container query contexts
+  // and enable horizontal scrolling when table content overflows.
 
   @each $breakpoint in map.keys($breakpoints) {
     $prefix: breakpoint-prefix($breakpoint, $breakpoints);
 
-    @include media-breakpoint-down($breakpoint) {
-      .#{$prefix}table-responsive {
+    .#{$prefix}table-responsive {
+      container-type: inline-size;
+
+      @include media-breakpoint-down($breakpoint) {
         overflow-x: auto;
         -webkit-overflow-scrolling: touch;
       }
     }
   }
+
+  // Stacked tables
+  //
+  // Generate `.table-stacked` classes that convert table rows into stacked
+  // blocks using container queries. Requires a `.table-responsive` ancestor
+  // and `data-cell` attributes on `<td>` elements for column labels.
+
+  @each $breakpoint in map.keys($breakpoints) {
+    $prefix: breakpoint-prefix($breakpoint, $breakpoints);
+
+    @include container-breakpoint-down($breakpoint) {
+      .#{$prefix}table-stacked {
+        > thead {
+          position: absolute;
+          width: 1px;
+          height: 1px;
+          padding: 0;
+          margin: -1px;
+          overflow: hidden;
+          clip: rect(0, 0, 0, 0);
+          white-space: nowrap;
+          border: 0;
+        }
+
+        > tbody > tr {
+          display: block;
+          padding-block: var(--table-cell-padding-y);
+
+          + tr {
+            border-block-start: var(--table-border-width) solid var(--table-border-color);
+          }
+
+          > td {
+            display: block;
+            padding: calc(var(--table-cell-padding-y) * .25) calc(var(--table-cell-padding-x) * 2);
+            border: 0;
+
+            &:first-child {
+              font-weight: var(--font-weight-bold);
+            }
+
+            // + td::before {
+            //   margin-block-start: .25rem;
+            // }
+
+            &[data-cell]:not(:first-child)::before {
+              display: block;
+              font-weight: var(--font-weight-semibold);
+              content: attr(data-cell);
+            }
+          }
+
+          > td:not(:first-child) + td::before {
+            margin-block-start: .25rem;
+          }
+        }
+      }
+    }
+  }
 }
index 19a1b5c5a61b642abd06a72f1f0dce67fa246f27..a784b0dd2a46cc41de99ce230914e47b97a13692 100644 (file)
@@ -1,4 +1,3 @@
-@use "../colors" as *;
 @use "../functions" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
@@ -22,9 +21,9 @@ $range-tokens: defaults(
     --range-thumb-width: 1rem,
     --range-thumb-height: var(--range-thumb-width),
     --range-thumb-bg: var(--primary-base),
-    --range-thumb-border: 0,
+    --range-thumb-border: var(--range-thumb-bg) solid var(--border-color),
     --range-thumb-border-radius: 1rem,
-    --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),
+    --range-thumb-box-shadow: "0 1px 2px rgb(0 0 0 / 7.5%), 0 2px 4px rgb(0 0 0 / 7.5%)",
     --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),
     --range-thumb-disabled-bg: var(--fg-3),
     --range-thumb-transition-property: "background-color, border-color, box-shadow",
@@ -73,17 +72,26 @@ $range-tokens: defaults(
     appearance: none;
     background-color: transparent;
 
-    &:focus {
+    &:hover {
+      &::-webkit-slider-thumb {
+        @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));
+      }
+      &::-moz-range-thumb     {
+        @include focus-ring(false, color-mix(in oklch, var(--primary-focus-ring), transparent));
+      }
+    }
+
+    &:focus-visible {
       outline: 0;
 
       // Pseudo-elements must be split across multiple rulesets to have an effect.
       &::-webkit-slider-thumb {
         @include focus-ring(true);
-        --focus-ring-offset: 1px;
+        --focus-ring-offset: 0;
       }
       &::-moz-range-thumb     {
         @include focus-ring(true);
-        --focus-ring-offset: 1px;
+        --focus-ring-offset: 0;
       }
     }
 
index 6928f69d7edf5eba63e877b6ea4ba7c34f6043df..4898df5a2c2f302b754e5c3963281ffedeba543f 100644 (file)
@@ -58,6 +58,9 @@ export default defineConfig({
       ]
     }
   },
+  devToolbar: {
+    enabled: false
+  },
   site,
   vite: {
     plugins: [algoliaPlugin(), stackblitzPlugin()]
index ec28d59c4cfedbe5a2f54a7436cff99dfe625fbc..44d76293215aa0720f5e537b935e00d5f9d6f724 100644 (file)
@@ -1,18 +1,21 @@
 # This file holds all sidebar menu's entries.
-# The logic for the sidebar generation is in "site/layouts/partials/docs-sidebar.html".
+# Each group has a `section` field that determines which sub-navbar tab it belongs to.
 
 - title: Getting started
+  section: Getting Started
   icon: book-half
   icon_color: indigo
   pages:
     - title: Install
     # - title: Introduction
     - title: Approach
+    - title: CSS variables
     - title: JavaScript
     - title: Accessibility
     # - title: Community
 
 - title: Guides
+  section: Guides
   icon: map
   icon_color: green
   pages:
@@ -24,6 +27,7 @@
     - title: Contribute
 
 - title: Customize
+  section: Guides
   icon: palette2
   icon_color: pink
   pages:
     - title: Theme
     - title: Color modes
     - title: Components
-    - title: CSS variables
     - title: RTL
     - title: Optimize
 
 - title: Layout
+  section: Base
   icon: grid-fill
   icon_color: teal
   pages:
@@ -52,6 +56,7 @@
     - title: CSS Grid
 
 - title: Content
+  section: Base
   icon: file-earmark-richtext
   icon_color: gray
   pages:
@@ -62,6 +67,7 @@
     - title: Prose
 
 - title: Forms
+  section: Forms
   icon: ui-radios
   icon_color: blue
   pages:
@@ -73,6 +79,7 @@
     - title: Range
     - title: Input group
     - title: Floating labels
+    - title: Combobox
     - title: Datepicker
     - title: OTP input
     - title: Password strength
     - title: Validation
 
 - title: Components
+  section: Components
   icon: menu-button-wide-fill
   icon_color: cyan
   pages:
+    - group: Buttons
+      pages:
+        - title: Buttons
+        - title: Button group
+        - title: Close button
     - group: Feedback
       pages:
         - title: Alert
         - title: Badge
         - title: Placeholder
         - title: Progress
-        - title: Scrollspy
         - title: Spinner
-        - title: Toasts
     - group: Overlays
       pages:
+        - title: Menu
         - title: Dialog
         - title: Drawer
         - title: Popover
+        - title: Toasts
         - title: Tooltip
-    - group: Buttons
-      pages:
-        - title: Buttons
-        - title: Button group
-        - title: Close button
     - group: Navigation
       pages:
         - title: Breadcrumb
-        - title: Menu
         - title: Nav
         - title: Tab
         - title: Nav overflow
         - title: Accordion
         - title: Carousel
         - title: Collapse
+        - title: Scrollspy
         - title: Toggler
     - group: Miscellaneous
       pages:
         - title: Avatar
 
 - title: Helpers
+  section: Helpers
   icon: magic
   icon_color: orange
   pages:
     - title: Visually hidden
 
 - title: Utilities
+  section: Utilities
   icon: braces-asterisk
   icon_color: red
   pages:
         - title: Opacity
         - title: Shadows
 
-- title: About
-  icon: globe2
-  icon_color: indigo
-  pages:
-    - title: Overview
-    - title: Team
-    - title: Brand
-    - title: License
-    - title: Translations
+# - title: About
+#   section: About
+#   icon: globe2
+#   icon_color: indigo
+#   pages:
+#     - title: Overview
+#     - title: Team
+#     - title: Brand
+#     - title: License
+#     - title: Translations
 
 - title: Migration
+  href: migration/
index 0d8321f42db19ba746c42417ab836575a84dc63d..98ee50fd9326f63b676efd2a713c0e1252bec6d4 100644 (file)
@@ -12,7 +12,9 @@
 import sidebarScroll from './partials/sidebar.js'
 import snippets from './partials/snippets.js'
 import stickyNav from './partials/sticky.js'
+import tocDrawer from './partials/toc.js'
 
 sidebarScroll()
 snippets()
 stickyNav()
+tocDrawer()
index 7121e7c7b6fa0e7989843614ea79d1f9a2c88781..ca90442da471e95afb5081fa34591e05a6384396 100644 (file)
@@ -27,4 +27,28 @@ export default () => {
   if (sidenav.scrollTop > viewportTop || sidenav.scrollTop < viewportBottom) {
     sidenav.scrollTop = viewportTop - (sidenavHeight / 2) + (sidenavActiveLinkHeight / 2)
   }
+
+  // Scroll the drawer body to the active link when the sidebar drawer opens.
+  // Uses `show` + requestAnimationFrame so the scroll is set before the
+  // slide-in transition renders, avoiding a visible jump.
+  const bdSidebar = document.querySelector('#bdSidebar')
+
+  if (bdSidebar) {
+    bdSidebar.addEventListener('show.bs.drawer', () => {
+      requestAnimationFrame(() => {
+        const drawerBody = bdSidebar.querySelector('.drawer-body')
+        const activeLink = bdSidebar.querySelector('.bd-links-nav .active')
+
+        if (!drawerBody || !activeLink) {
+          return
+        }
+
+        const activeLinkTop = activeLink.getBoundingClientRect().top - drawerBody.getBoundingClientRect().top + drawerBody.scrollTop
+        const drawerBodyHeight = drawerBody.clientHeight
+        const activeLinkHeight = activeLink.clientHeight
+
+        drawerBody.scrollTop = activeLinkTop - (drawerBodyHeight / 2) + (activeLinkHeight / 2)
+      })
+    })
+  }
 }
diff --git a/site/src/assets/partials/toc.js b/site/src/assets/partials/toc.js
new file mode 100644 (file)
index 0000000..5198fbe
--- /dev/null
@@ -0,0 +1,26 @@
+// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
+// IT'S ALL JUST JUNK FOR OUR DOCS!
+// ++++++++++++++++++++++++++++++++++++++++++
+
+/*
+ * JavaScript for Bootstrap's docs (https://getbootstrap.com/)
+ * Copyright 2011-2026 The Bootstrap Authors
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
+ */
+
+import { Drawer } from '../../../../dist/js/bootstrap.bundle.js'
+
+export default () => {
+  const tocSidebar = document.querySelector('#bdTocSidebar')
+
+  if (!tocSidebar) {
+    return
+  }
+
+  tocSidebar.addEventListener('click', event => {
+    if (event.target.closest('.nav-link')) {
+      Drawer.getInstance('#bdTocSidebar')?.hide()
+    }
+  })
+}
index 2a53c0a615f5b34ffbe71b3a8dc733abdb31b812..e7e87e2cffbb57092a776939f719405325c2d29f 100644 (file)
@@ -4,6 +4,6 @@
 <script
   is:inline
   async
-  src="https://cdn.carbonads.com/carbon.js?serve=CKYIKKJL&placement=getbootstrapcom"
+  src="https://cdn.carbonads.com/carbon.js?serve=CKYIKKJL&placement=getbootstrapcom&format=responsive"
   id="_carbonads_js"
 ></script>
diff --git a/site/src/components/PageMeta.astro b/site/src/components/PageMeta.astro
new file mode 100644 (file)
index 0000000..d96d544
--- /dev/null
@@ -0,0 +1,115 @@
+---
+import type { CollectionEntry } from 'astro:content'
+import { getConfig } from '@libs/config'
+import { getVersionedDocsPath } from '@libs/path'
+import { getSlug } from '@libs/utils'
+import GitHubIcon from '@components/icons/GitHubIcon.astro'
+import MdnIcon from '@components/icons/MdnIcon.astro'
+import CssTricksIcon from '@components/icons/CssTricksIcon.astro'
+
+interface Props {
+  frontmatter: CollectionEntry<'docs'>['data']
+  id: CollectionEntry<'docs'>['id']
+  parentDirectory: string
+}
+
+const { frontmatter, id, parentDirectory } = Astro.props
+
+const layerLabels: Record<string, string> = {
+  reboot: 'Reboot',
+  layout: 'Layout',
+  content: 'Content',
+  forms: 'Forms',
+  components: 'Components',
+  helpers: 'Helpers',
+  utilities: 'Utilities'
+}
+
+const layerTooltips: Record<string, string> = {
+  reboot: 'Scoped to the Reboot CSS layer',
+  layout: 'Scoped to the Layout CSS layer',
+  content: 'Scoped to the Content CSS layer',
+  forms: 'Scoped to the Forms CSS layer',
+  components: 'Scoped to the Components CSS layer',
+  helpers: 'Scoped to the Helpers CSS layer',
+  utilities: 'Scoped to the Utilities CSS layer'
+}
+
+const deps = frontmatter.deps ?? []
+const depsCount = deps.length
+---
+
+<div class="bd-page-meta w-100 d-grid md:grid-cols-2 lg:d-flex gap-5 row-gap-2 px-4 py-3 bg-1 fg-2 fs-sm rounded-3">
+  {frontmatter.js === 'required' && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi fg-warning" aria-hidden="true"><use href="#filetype-js" /></svg>
+      Requires JavaScript
+    </div>
+  )}
+  {frontmatter.js === 'optional' && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi fg-warning opacity-50" aria-hidden="true"><use href="#filetype-js" /></svg>
+      JavaScript is optional
+    </div>
+  )}
+  {frontmatter.css_layer && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi fg-accent" aria-hidden="true"><use href="#css" /></svg>
+      <span>In <code class="fg-body">{frontmatter.css_layer}</code> layer</span>
+    </div>
+  )}
+  {frontmatter.css_media === 'container' && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi" aria-hidden="true" style="color: var(--bs-pink-500);"><use href="#bounding-box-fill" /></svg>
+      Container queries
+    </div>
+  )}
+  {frontmatter.css_media === 'viewport' && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi" aria-hidden="true" style="color: var(--bs-purple-500);"><use href="#aspect-ratio-fill" /></svg>
+      Viewport queries
+    </div>
+  )}
+  {depsCount > 0 && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi fg-2" aria-hidden="true"><use href="#box-seam-fill" /></svg>
+      <div>
+        Depends on
+        {deps.map((dep, i) => (
+          <Fragment>{i > 0 && ', '}{dep.url?.startsWith('http') ? (
+              <a class="fg-2 text-decoration-none" href={dep.url} target="_blank" rel="noopener">{dep.title}</a>
+            ) : dep.url ? (
+              <a class="fg-2 text-decoration-none" href={dep.url}>{dep.title}</a>
+            ) : (
+              <a class="fg-2 text-decoration-none" href={getVersionedDocsPath(`components/${getSlug(dep.title)}/`)}>{dep.title}</a>
+            )}</Fragment>
+        ))}
+      </div>
+    </div>
+  )}
+  {frontmatter.added &&
+    ((frontmatter.added.show_badge === undefined || frontmatter.added.show_badge === true)) && (
+    <div class="d-flex align-items-center gap-2">
+      <svg class="bi fg-success" aria-hidden="true"><use href="#plus" /></svg>
+      Added in v{frontmatter.added.version}
+    </div>
+  )}
+  {frontmatter.mdn && (
+    <div class="d-flex align-items-center gap-2">
+      <MdnIcon height={16} width={16} class="bi fg-2" />
+      <a class="fg-2 text-decoration-none" href={frontmatter.mdn} target="_blank" rel="noopener">MDN Reference</a>
+    </div>
+  )}
+  {frontmatter.csstricks && (
+    <div class="d-flex align-items-center gap-2">
+      <CssTricksIcon height={16} width={16} class="bi fg-2" />
+      <a class="fg-2 text-decoration-none" href={typeof frontmatter.csstricks === 'string' ? frontmatter.csstricks : frontmatter.csstricks.url} target="_blank" rel="noopener">
+        {typeof frontmatter.csstricks === 'string' ? 'CSS-Tricks' : (frontmatter.csstricks.label || 'CSS-Tricks')}
+      </a>
+    </div>
+  )}
+  <div class="d-flex align-items-center gap-2">
+    <svg class="bi fg-2" aria-hidden="true"><use href="#github" /></svg>
+    <a class="fg-2 text-decoration-none" href={`${getConfig().repo}/blob/v${getConfig().current_version}/site/src/content/docs/${id}`} target="_blank" rel="noopener">View & Edit</a>
+  </div>
+</div>
index 9045e30e2b7d688a06825d932867353337a7981c..ed5dd2e169e4dd4c6658552d1af5e435d53fe7fa 100644 (file)
@@ -13,10 +13,10 @@ const { active, class: className, track, ...props } = Astro.props
 const content = await Astro.slots.render('default')
 ---
 
-<li class="nav-item col-6 lg:col-auto">
+<li class="nav-item">
   <a
     aria-current={active ? true : undefined}
-    class:list={['nav-link py-2 px-0 lg:px-2', className, { active }]}
+    class:list={['nav-link px-2', className, { active }]}
     {...props}
   >
     <slot />
index ec2651fdde89087e5edfacc7eec0917855218714..43e3ef1e2d6a14cf5bf1608846bcf81a9dfac9d0 100644 (file)
@@ -20,99 +20,112 @@ interface Props {
 }
 
 const { addedIn, layout, title } = Astro.props
+
+const activeSection = !layout ? 'Home' : title === 'Examples' ? 'Examples' : 'Docs'
 ---
 
-<header class="navbar navbar-translucent lg:navbar-expand bd-navbar border-bottom sticky-top bd-sticky-navbar">
-  <nav class="2xl:container bd-gutter flex-wrap lg:flex-nowrap" aria-label="Main navigation">
-    {/* Docs sidebar toggle - only shown on docs pages */}
+<header class="navbar lg:navbar-expand bd-navbar border-bottom">
+  <nav class="2xl:container bd-gutter flex-wrap lg:flex-nowrap justify-content-start" aria-label="Main navigation">
+    <div class="d-flex align-items-center gap-2 lg:gap-1">
+      <a class="navbar-brand p-0 me-0 lg:me-2" href="/" aria-label="Bootstrap" style="color: var(--bs-indigo-500);">
+        <BootstrapWhiteFillIcon class="d-block my-1" height={32} width={40} />
+      </a>
+
+      <span class="lg:d-none fg-4">/</span>
+
+      {/* Mobile breadcrumb dropdown - visible below lg */}
+      <div class="nav-item lg:d-none">
+        <button
+          class="nav-link fs-5 fw-medium d-inline-flex align-items-center gap-1 px-0"
+          type="button"
+          data-bs-toggle="menu"
+          aria-expanded="false"
+        >
+          {activeSection}
+          <svg class="bi bi-sm" aria-hidden="true"><use href="#chevron-expand"></use></svg>
+        </button>
+        <div class="menu">
+          <a class:list={['menu-item', { active: !layout }]} href="/">
+            Home
+            {!layout && <svg class="bi ms-auto" aria-hidden="true"><use href="#check2"></use></svg>}
+          </a>
+          <a
+            class:list={['menu-item', { active: layout === 'docs' }]}
+            href={getVersionedDocsPath('getting-started/install/')}
+          >
+            Docs
+            {layout === 'docs' && <svg class="bi ms-auto" aria-hidden="true"><use href="#check2"></use></svg>}
+          </a>
+          <a
+            class:list={['menu-item', { active: title === 'Examples' }]}
+            href={getVersionedDocsPath('examples/')}
+          >
+            Examples
+            {title === 'Examples' && <svg class="bi ms-auto" aria-hidden="true"><use href="#check2"></use></svg>}
+          </a>
+          <a class="menu-item" href={getConfig().icons} target="_blank" rel="noopener">
+            Icons
+            <svg class="bi bi-sm ms-auto" aria-hidden="true"><use href="#box-arrow-up-right"></use></svg>
+          </a>
+          <a class="menu-item" href={getConfig().blog} target="_blank" rel="noopener">
+            Blog
+            <svg class="bi bi-sm ms-auto" aria-hidden="true"><use href="#box-arrow-up-right"></use></svg>
+          </a>
+          <hr class="menu-divider" />
+          <a class="menu-item" href={getConfig().github_org} target="_blank" rel="noopener">
+            GitHub
+            <svg class="bi bi-sm ms-auto" aria-hidden="true"><use href="#box-arrow-up-right"></use></svg>
+          </a>
+          <a class="menu-item" href={getConfig().opencollective} target="_blank" rel="noopener">
+            OpenCollective
+            <svg class="bi bi-sm ms-auto" aria-hidden="true"><use href="#box-arrow-up-right"></use></svg>
+          </a>
+          <a class="menu-item" href={`https://x.com/${getConfig().x}`} target="_blank" rel="noopener">
+            Twitter/X
+            <svg class="bi bi-sm ms-auto" aria-hidden="true"><use href="#box-arrow-up-right"></use></svg>
+          </a>
+        </div>
+      </div>
+
+      {/* Desktop nav links - visible at lg+ */}
+      <ul class="nav navbar-nav flex-row d-none lg:d-flex bd-navbar-nav">
+        <LinkItem active={layout === 'docs'} href={getVersionedDocsPath('getting-started/install/')} track>
+          Docs
+        </LinkItem>
+        <LinkItem active={title === 'Examples'} href={getVersionedDocsPath('examples/')} track>Examples</LinkItem>
+        <LinkItem href={getConfig().icons} target="_blank" rel="noopener" track>Icons</LinkItem>
+        <LinkItem href={getConfig().blog} target="_blank" rel="noopener" track>Blog</LinkItem>
+      </ul>
+    </div>
+
+    <ul class="nav navbar-nav flex-row ms-auto">
+      <li class="nav-item nav-link px-1" id="docsearch" data-bd-docs-version={getConfig().docs_version}></li>
+
+      <Versions layout={layout} addedIn={addedIn} />
+
+      <LinkItem class="px-1 d-none lg:d-flex" href={getConfig().github_org} target="_blank" rel="noopener">
+        <GitHubIcon class="navbar-nav-svg" height={16} width={16} />
+      </LinkItem>
+
+      <li class="nav-item">
+        <ThemeToggler layout={layout} />
+      </li>
+    </ul>
+
     {
       layout === 'docs' && (
         <button
-          class="btn-icon navbar-btn-icon lg:d-none ms--2"
+          class="btn-icon btn-sm navbar-btn-icon lg:d-none ms-2"
           type="button"
           data-bs-toggle="drawer"
           data-bs-target="#bdSidebar"
           aria-controls="bdSidebar"
           aria-label="Toggle docs navigation"
         >
-          <HamburgerIcon class="navbar-toggler-icon" height={20} width={20} />
+          <HamburgerIcon class="navbar-toggler-icon" height={16} width={16} />
           <span class="d-none fs-6 pe-1">Browse</span>
         </button>
       )
     }
-    {layout !== 'docs' && <div class="lg:d-none" style="width: 4.25rem;" />}
-
-    <a class="navbar-brand p-0 me-0 lg:me-2" href="/" aria-label="Bootstrap" style="color: var(--bs-indigo-500);">
-      <BootstrapWhiteFillIcon class="d-block my-1" height={32} width={40} />
-    </a>
-
-    {/* Search and main nav toggle */}
-    <div class="d-flex">
-      <div class="bd-search" id="docsearch" data-bd-docs-version={getConfig().docs_version}></div>
-
-      <button
-        class="btn-icon navbar-btn-icon lg:d-none order-3 me--2"
-        type="button"
-        data-bs-toggle="drawer"
-        data-bs-target="#bdNavbar"
-        aria-controls="bdNavbar"
-        aria-label="Toggle navigation"
-      >
-        <svg class="bi" aria-hidden="true"><use href="#three-dots"></use></svg>
-      </button>
-    </div>
-
-    {/* Main navigation - drawer on mobile, inline on desktop */}
-    <dialog
-      class="lg:drawer drawer-end flex-grow-1 drawer-fit-content"
-      tabindex="-1"
-      id="bdNavbar"
-      aria-labelledby="bdNavbarDrawerLabel"
-    >
-      <div class="drawer-header px-4 pb-0">
-        <h5 class="drawer-title text-white" id="bdNavbarDrawerLabel">Bootstrap</h5>
-        <CloseButton dismiss="drawer" target="#bdNavbar" />
-      </div>
-
-      <div class="drawer-body p-4 pt-0 lg:p-0">
-        <hr class="lg:d-none mb-0" />
-        <ul class="nav navbar-nav flex-row flex-wrap bd-navbar-nav">
-          <LinkItem active={layout === 'docs'} href={getVersionedDocsPath('getting-started/install/')} track>
-            Docs
-          </LinkItem>
-          <LinkItem active={title === 'Examples'} href={getVersionedDocsPath('examples/')} track>Examples</LinkItem>
-          <LinkItem href={getConfig().icons} target="_blank" rel="noopener" track>Icons</LinkItem>
-          <LinkItem href={getConfig().blog} target="_blank" rel="noopener" track>Blog</LinkItem>
-        </ul>
-
-        <hr class="lg:d-none my-0" />
-
-        <ul class="nav navbar-nav md:ms-auto">
-          <LinkItem class="nav-link py-2 px-0 lg:px-2" href={getConfig().github_org} target="_blank" rel="noopener">
-            <GitHubIcon class="navbar-nav-svg" height={16} width={16} />
-            <small class="lg:d-none">GitHub</small>
-          </LinkItem>
-          <LinkItem
-            class="nav-link py-2 px-0 lg:px-2"
-            href={`https://x.com/${getConfig().x}`}
-            target="_blank"
-            rel="noopener"
-          >
-            <XIcon class="navbar-nav-svg" height={16} width={16} />
-            <small class="lg:d-none">X</small>
-          </LinkItem>
-          <LinkItem class="nav-link py-2 px-0 lg:px-2" href={getConfig().opencollective} target="_blank" rel="noopener">
-            <OpenCollectiveIcon class="navbar-nav-svg" height={16} width={16} />
-            <small class="lg:d-none">Open Collective</small>
-          </LinkItem>
-
-          <Versions layout={layout} addedIn={addedIn} />
-
-          <li class="nav-item">
-            <ThemeToggler layout={layout} />
-          </li>
-        </ul>
-      </div>
-    </dialog>
   </nav>
 </header>
index 6ab9be0f18883f787ea58a424b1e6253a8841e7b..23c00bfe7e893fef0ac0bc2ce8aac69fa0ff448b 100644 (file)
@@ -26,18 +26,13 @@ if (layout === 'docs' && version === getConfig().docs_version) {
 <li class="nav-item">
   <button
     type="button"
-    class="btn btn-link nav-link py-2 px-0 lg:px-2"
+    class="btn btn-link nav-link px-1 gap-1"
     data-bs-toggle="menu"
     data-bs-placement="bottom-end"
     aria-expanded="false"
   >
-    <svg class="bi" aria-hidden="true"><use href="#stack"></use></svg>
-    <span class="lg:d-none" aria-hidden="true">
-      Bootstrap v{
-        getConfig().docs_version
-      }
-    </span>
-    <svg class="bi bi-sm lg:ms--1" aria-hidden="true"><use href="#chevron-expand"></use></svg>
+    v{getConfig().docs_version}
+    <svg class="bi bi-sm" aria-hidden="true"><use href="#chevron-expand"></use></svg>
   </button>
   <div class="menu" id="bd-versions-menu">
     <h6 class="menu-header">v6 releases</h6>
index 943522e653d83eab9d9ed01309b14eaff7c2f0ed..91169dc6d8a74a96fbb39ae0fe7f27f59678da32 100644 (file)
@@ -17,7 +17,7 @@ import Code from '@shortcodes/Code.astro'
       be modified.
     </p>
     <p class="d-flex flex-column lead fw-normal mb-0">
-      <a href={getVersionedDocsPath('customize/css-variables')} class="icon-link icon-link-hover fw-semibold mb-3">
+      <a href={getVersionedDocsPath('getting-started/css-variables')} class="icon-link icon-link-hover fw-semibold mb-3">
         Learn more about CSS variables
         <svg class="bi" aria-hidden="true"><use href="#arrow-right"></use></svg>
       </a>
@@ -27,7 +27,7 @@ import Code from '@shortcodes/Code.astro'
     <div class="lg:col-6 mb-3">
       <h3 class="fw-semibold">Using CSS variables</h3>
       <p>
-        Use any of our <a href={getVersionedDocsPath('customize/css-variables/#root-variables')}
+        Use any of our <a href={getVersionedDocsPath('getting-started/css-variables/#root-variables')}
           >global <code>:root</code> variables</a
         > to write new styles. CSS variables use the <code>var(--bs-variableName)</code> syntax and can be inherited by children
         elements.
index e5d124ec369d6df21d9a94ae1de705686c17e57d..f2bd1c32fdae8c4e13336fbfcf45e1ce86d88ad1 100644 (file)
       d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8"
     ></path>
   </symbol>
+  <symbol id="aspect-ratio" viewBox="0 0 16 16">
+    <path d="M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5z"></path>
+    <path d="M2 4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H3v2.5a.5.5 0 0 1-1 0zm12 7a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H13V8.5a.5.5 0 0 1 1 0z"></path>
+  </symbol>
+  <symbol id="aspect-ratio-fill" viewBox="0 0 16 16">
+    <path fill="currentcolor" fill-rule="evenodd" d="M13.5 1A2.5 2.5 0 0 1 16 3.5v9a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5v-9A2.5 2.5 0 0 1 2.5 1zm0 8a.5.5 0 0 0-.5.5V12h-2.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5m-11-6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V4h2.5a.5.5 0 0 0 0-1z" clip-rule="evenodd"/>
+  </symbol>
   <symbol id="book-half" viewBox="0 0 16 16">
     <path
       d="M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z"
     ></path>
   </symbol>
+  <symbol id="bounding-box" viewBox="0 0 16 16">
+    <path d="M5 2V0H0v5h2v6H0v5h5v-2h6v2h5v-5h-2V5h2V0h-5v2zm6 1v2h2v6h-2v2H5v-2H3V5h2V3zm1-2h3v3h-3zm3 11v3h-3v-3zM4 15H1v-3h3zM1 4V1h3v3z"></path>
+  </symbol>
+  <symbol id="box-arrow-up-right" viewBox="0 0 16 16">
+    <path fill-rule="evenodd" d="M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5"/>
+    <path fill-rule="evenodd" d="M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z"/>
+  </symbol>
   <symbol id="box-seam" viewBox="0 0 16 16">
     <path
       d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
     ></path>
   </symbol>
+  <symbol id="box-seam-fill" viewBox="0 0 16 16">
+    <path fill-rule="evenodd" d="M15.528 2.973a.75.75 0 0 1 .472.696v8.662a.75.75 0 0 1-.472.696l-7.25 2.9a.75.75 0 0 1-.557 0l-7.25-2.9A.75.75 0 0 1 0 12.331V3.669a.75.75 0 0 1 .471-.696L7.443.184l.01-.003.268-.108a.75.75 0 0 1 .558 0l.269.108.01.003zM10.404 2 4.25 4.461 1.846 3.5 1 3.839v.4l6.5 2.6v7.922l.5.2.5-.2V6.84l6.5-2.6v-.4l-.846-.339L8 5.961 5.596 5l6.154-2.461z"/>
+  </symbol>
   <symbol id="braces" viewBox="0 0 16 16">
     <path
       d="M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6zM13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6z"
@@ -69,6 +86,9 @@
   <symbol id="copy" viewBox="0 0 16 16">
     <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1z"/>
   </symbol>
+  <symbol id="css" viewBox="0 0 16 16">
+    <path fill="currentcolor" fill-rule="evenodd" d="M13 0a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V0zM4.002 6.498q-.908 0-1.455.508Q2 7.513 2 8.49v3.106q0 .986.527 1.484t1.407.498a2.2 2.2 0 0 0 1.015-.224q.45-.225.703-.674.255-.449.254-1.114v-.185h-1.22v.176q0 .45-.186.683t-.527.235q-.371-.01-.557-.264-.186-.255-.186-.752V8.686q0-.547.166-.811.177-.264.577-.264.322 0 .517.225.196.224.196.693v.205h1.23V8.52q0-.674-.244-1.124a1.55 1.55 0 0 0-.664-.673q-.42-.225-1.006-.225m4.214-.01q-.585 0-1.006.244a1.67 1.67 0 0 0-.635.674 2.1 2.1 0 0 0-.224.996q0 .753.293 1.182.302.42.966.732l.47.215q.438.186.624.43t.186.635q0 .478-.166.703-.157.224-.528.224-.36 0-.547-.244-.185-.243-.205-.752H6.282q.02.996.498 1.524.48.527 1.387.527.908 0 1.416-.518.508-.517.508-1.484 0-.81-.332-1.289-.333-.479-1.045-.79l-.45-.196q-.39-.166-.556-.381-.165-.214-.166-.576 0-.4.166-.596.176-.195.508-.195.36 0 .508.234.156.234.175.703h1.124q-.03-.976-.499-1.484-.468-.518-1.308-.518m4.057 0q-.586 0-1.005.244a1.67 1.67 0 0 0-.635.674 2.1 2.1 0 0 0-.225.996q0 .753.293 1.182.303.42.967.732l.469.215q.44.186.625.43t.185.635q0 .478-.166.703-.156.224-.527.224-.36 0-.547-.244-.186-.243-.205-.752H10.34q.02.996.498 1.524.478.527 1.387.527.908 0 1.416-.518.507-.517.507-1.484 0-.81-.332-1.289t-1.045-.79l-.449-.196q-.39-.166-.556-.381-.166-.214-.166-.576 0-.4.166-.596.176-.195.507-.195.361 0 .508.234.156.234.176.703h1.123q-.03-.976-.498-1.484-.469-.518-1.309-.518" clip-rule="evenodd"/>
+  </symbol>
   <symbol id="envelope" viewBox="0 0 16 16">
     <path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z"/>
   </symbol>
       d="M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"
     ></path>
   </symbol>
+  <symbol id="github" viewBox="0 0 16 16">
+    <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8"/>
+  </symbol>
   <symbol id="globe2" viewBox="0 0 16 16">
     <path
       d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z"
     ></path>
   </symbol>
+  <symbol id="filetype-js" viewBox="0 0 16 16">
+    <path fill-rule="evenodd" d="M13 0a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3zM8.053 6.596v3.127l-.007 1.752q0 .498-.186.752t-.556.263q-.342 0-.528-.234-.185-.234-.185-.684v-.175H5.37v.185q0 .665.253 1.113.255.45.703.674.44.225 1.016.225.88 0 1.406-.498.527-.498.527-1.485l.007-1.752V6.596zm3.808-.108q-.585 0-1.006.244a1.67 1.67 0 0 0-.634.674 2.1 2.1 0 0 0-.225.996q0 .753.293 1.182.303.42.967.732l.469.215q.438.186.625.43.185.244.185.635 0 .478-.166.703-.156.224-.527.224-.361.001-.547-.244-.186-.243-.205-.752H9.928q.02.996.498 1.524.479.527 1.386.527.909 0 1.417-.518.507-.517.507-1.484 0-.81-.332-1.289t-1.045-.79L11.91 9.3q-.39-.166-.556-.381-.166-.214-.166-.576 0-.4.165-.596.177-.195.508-.195.361 0 .508.234.156.234.176.703h1.123q-.03-.976-.498-1.484-.47-.518-1.309-.518" clip-rule="evenodd"></path>
+  </symbol>
   <symbol id="grid-fill" viewBox="0 0 16 16">
     <path
       d="M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z"
       d="M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z"
     ></path>
   </symbol>
+  <symbol id="layers" viewBox="0 0 16 16">
+    <path d="M15.106 11.554a.5.5 0 0 1 0 .894l-6.659 3.33-.107.045a1 1 0 0 1-.68 0l-.107-.046-6.658-3.329a.5.5 0 0 1 0-.895l1.988-.994 1.677.838-1.206.604L8 14.323l4.646-2.322-1.207-.604 1.678-.838z" opacity=".5"></path>
+    <path fill-rule="evenodd" d="M7.553.223a1 1 0 0 1 .894 0l6.659 3.33a.5.5 0 0 1 0 .894l-6.659 3.33-.107.045a1 1 0 0 1-.68 0l-.107-.046L.895 4.447a.5.5 0 0 1 0-.894zM3.354 4 8 6.322 12.646 4 8 1.677z" clip-rule="evenodd" opacity=".5"></path>
+    <path d="M15.106 7.554a.5.5 0 0 1 0 .894l-6.659 3.33c-.281.14-.613.14-.894 0L.895 8.447a.5.5 0 0 1 0-.894l1.988-.995 4.222 2.112a2 2 0 0 0 1.79 0l4.222-2.112z"></path>
+  </symbol>
   <symbol id="list" viewBox="0 0 16 16">
     <path
       fill-rule="evenodd"
index df80455ff0c04553e569f74dfe317a0cedb93cf1..78d1181c71f4cb75a5e1290fdb374a5573594d59 100644 (file)
@@ -4,7 +4,7 @@ interface Props {
    * The CSS class to apply to the table.
    * Note that the prop is not used in this component, but in a rehype plugin applying the classes to the table element
    * directly on the HTML AST (HAST) generated by Astro.
-   * @default "table"
+   * @default "table md:table-stacked"
    * @see src/libs/rehype.ts
    */
   class?: string
index 5aea458099826ecb44360d3c44218444e6dbf759..0aed05701533b15424fb69d9d9cc37db6dfe73ff 100644 (file)
@@ -128,7 +128,7 @@ const rounded = ['default', 'pill', 'square']
 </div>
 
 <Example
-  class="d-flex align-items-start gap-2"
+  class="d-flex flex-wrap align-items-start gap-2"
   code={`<button type="button" class="btn-solid theme-primary btn-sm" data-button-type="text">Button</button>
 <button type="button" class="btn-solid theme-primary" data-button-type="left-icon">
   <svg class="bi me-1" width="16" height="16" aria-hidden="true">
index ccff6197be703367c27d61bb7c1153694a60d753..fbba90b5e03fec4aa8dfbca0677713deaeecf2bb 100644 (file)
@@ -51,6 +51,16 @@ const docsSchema = z.object({
     })
     .array()
     .optional(),
+  css_layer: z.enum(['reboot', 'layout', 'content', 'forms', 'components', 'helpers', 'utilities']).optional(),
+  css_media: z.enum(['container', 'viewport']).optional(),
+  deps: z
+    .object({
+      title: z.string(),
+      url: z.string().optional()
+    })
+    .array()
+    .optional(),
+  js: z.enum(['required', 'optional']).optional(),
   thumbnail: z.string().optional(),
   title: z.string(),
   toc: z.boolean().optional()
index 070688d0d862980862c78ebd9208f0af2a12fb9a..c9d9447d8ee524331df85ecba8a7fe2a1f1cc4db 100644 (file)
@@ -5,6 +5,7 @@ aliases:
  - "/components/"
  - "/docs/[[config:docs_version]]/components/"
 toc: true
+css_layer: components
 ---
 
 The accordion uses native HTML `<details>` and `<summary>` elements, leveraging the `name` attribute to create exclusive accordions where only one item can be open at a time. This approach requires no JavaScript for core functionality and is fully accessible by default.
index a3c5b682d69f397d5576c3194f53e624ff9ec525..90de7c24b8008c6dd487c1735223748ef68eb9eb 100644 (file)
@@ -4,6 +4,8 @@ description: Provide contextual feedback messages for typical user actions with
 toc: true
 aliases:
   - /docs/[[config:docs_version]]/components/alerts/
+css_layer: components
+js: optional
 ---
 
 import { getData } from '@libs/data'
index 84d384dd5e0524ca35b2af9eff3933db6442814c..871d77c06a9625c636c679b02ad3fe4cc732b305 100644 (file)
@@ -2,6 +2,7 @@
 title: Avatar
 description: Documentation and examples for avatars, including image avatars, initials, status indicators, and avatar stacks.
 toc: true
+css_layer: components
 ---
 
 ## Examples
index 2367f4723886050a82ebc85e21f15a366f40ce5a..48a916322c8d8b1da4ac7b8609507c7850535e7e 100644 (file)
@@ -2,6 +2,7 @@
 title: Badges
 description: Documentation and examples for badges, our small count and labeling component.
 toc: true
+css_layer: components
 ---
 
 import { getData } from '@libs/data'
index 616403f93a856767edf59c8e4ff254789bff16ac..e1d766c121c570b3823c4725921f149a1fbff7b3 100644 (file)
@@ -2,6 +2,7 @@
 title: Breadcrumb
 description: Indicate the current page's location within a navigational hierarchy using explicit divider elements.
 toc: true
+css_layer: components
 ---
 
 ## Example
index c90584b121a8c374e7201b7fee4f414fed27fc3b..56ffb190e2303f364d7aef19a522eb8746a1c94e 100644 (file)
@@ -2,6 +2,9 @@
 title: Button group
 description: Group a series of buttons together on a single line or stack them in a vertical column.
 toc: true
+css_layer: components
+deps:
+  - title: Buttons
 ---
 
 ## Basic example
@@ -51,15 +54,15 @@ Checkbox toggle buttons can be grouped together. Any or all of the buttons can b
 <Example code={`<div class="btn-group" role="group" aria-label="Basic checkbox toggle button group">
     <label class="btn-check btn-outline theme-primary">
       <input type="checkbox" autocomplete="off">
-      Checkbox 1
+      Check 1
     </label>
     <label class="btn-check btn-outline theme-primary">
       <input type="checkbox" autocomplete="off">
-      Checkbox 2
+      Check 2
     </label>
     <label class="btn-check btn-outline theme-primary">
       <input type="checkbox" autocomplete="off">
-      Checkbox 3
+      Check 3
     </label>
   </div>`} />
 
index 9c355cdab190c2a276ed615947a8d324ef172808..cacb4767f861cfbed3a5aa9ac54cf55be63721ce 100644 (file)
@@ -2,6 +2,7 @@
 title: Buttons
 description: Use Bootstrap’s custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.
 toc: true
+css_layer: components
 ---
 
 import { getData } from '@libs/data'
@@ -24,7 +25,7 @@ Bootstrap includes several button variants, each serving its own semantic purpos
 
 Compare all button variants and styles at once:
 
-<Example class="bd-example-buttons justify-items-start" code={[...getData('theme-colors').map((themeColor) => `<button type="button" class="btn-solid theme-${themeColor.name}">${themeColor.title}</button>
+<Example class="bd-example-buttons md:justify-items-start" code={[...getData('theme-colors').map((themeColor) => `<button type="button" class="btn-solid theme-${themeColor.name}">${themeColor.title}</button>
 <button type="button" class="btn-outline theme-${themeColor.name}">${themeColor.title}</button>
 <button type="button" class="btn-subtle theme-${themeColor.name}">${themeColor.title}</button>
 <button type="button" class="btn-text theme-${themeColor.name}">${themeColor.title}</button>`)]} />
@@ -45,7 +46,7 @@ Link buttons can also be styled with the theme colors.
 
 Add visual depth to solid buttons with gradients and shadows using the `.btn-styled` modifier class. This provides a more three-dimensional appearance that can be customized further with CSS variables.
 
-<Example code={[...getData('theme-colors').map((themeColor) => `<button class="btn-solid btn-styled theme-${themeColor.name}">${themeColor.title}</button>`)]} />
+<Example class="d-flex flex-wrap gap-2" code={[...getData('theme-colors').map((themeColor) => `<button class="btn-solid btn-styled theme-${themeColor.name}">${themeColor.title}</button>`)]} />
 
 The gradient and shadow can be customized via CSS variables:
 
@@ -68,7 +69,7 @@ The `.btn` classes are designed to be used with the `<button>` element. However,
 
 When using button classes on `<a>` elements that are used to trigger in-page functionality (like collapsing content), rather than linking to new pages or sections within the current page, these links should be given a `role="button"` to appropriately convey their purpose to assistive technologies such as screen readers.
 
-<Example code={`<a class="btn-solid theme-primary" href="#" role="button">Link</a>
+<Example class="d-flex flex-wrap gap-2" code={`<a class="btn-solid theme-primary" href="#" role="button">Link</a>
 <button class="btn-solid theme-primary" type="submit">Button</button>
 <input class="btn-solid theme-primary" type="button" value="Input">
 <input class="btn-solid theme-primary" type="submit" value="Submit">
@@ -130,7 +131,7 @@ Combine with size classes for different icon button sizes:
 
 Make buttons look inactive by adding the `disabled` boolean attribute to any `<button>` element. Disabled buttons have `pointer-events: none`, preventing hover and active states from triggering, and some additional styling to indicate the disabled state.
 
-<Example code={`<button type="button" class="btn-solid theme-primary" disabled>Primary button</button>
+<Example class="d-flex flex-wrap gap-2" code={`<button type="button" class="btn-solid theme-primary" disabled>Primary button</button>
 <button type="button" class="btn-solid theme-secondary" disabled>Button</button>
 <button type="button" class="btn-outline theme-primary" disabled>Primary button</button>
 <button type="button" class="btn-outline theme-secondary" disabled>Button</button>`} />
@@ -189,7 +190,7 @@ Visually, these toggle buttons are identical to our [JavaScript toggle buttons](
 
 Checkboxes can be checked, unchecked, or disabled. Checkbox-based toggle buttons only toggle a single button’s state.
 
-<Example code={`<label class="btn-check btn-solid theme-primary">
+<Example class="d-flex flex-wrap gap-2" code={`<label class="btn-check btn-solid theme-primary">
     <input type="checkbox" checked autocomplete="off">
     Checked
   </label>
@@ -208,7 +209,7 @@ Checkboxes can be checked, unchecked, or disabled. Checkbox-based toggle buttons
 
 Radios can be checked, unchecked, or disabled. Use radio-based toggle buttons to toggle states between a set of buttons that include input elements with the same `name` attribute value.
 
-<Example code={`<label class="btn-check btn-solid theme-primary">
+<Example class="d-flex flex-wrap gap-2" code={`<label class="btn-check btn-solid theme-primary">
     <input type="radio" name="options" autocomplete="off" checked>
     Checked
   </label>
@@ -240,11 +241,11 @@ Visually, these toggle buttons are identical to our [input toggle buttons](#togg
 
 Add `data-bs-toggle="button"` to toggle a button’s `active` state. If you’re pre-toggling a button, you must manually add the `.active` class **and** `aria-pressed="true"` to ensure that it is conveyed appropriately to assistive technologies.
 
-<Example class="d-inline-flex gap-1" code={`<button type="button" class="btn-solid theme-primary" data-bs-toggle="button">Toggle button</button>
+<Example class="d-flex flex-wrap gap-2"  code={`<button type="button" class="btn-solid theme-primary" data-bs-toggle="button">Toggle button</button>
   <button type="button" class="btn-solid theme-primary active" data-bs-toggle="button" aria-pressed="true">Active toggle button</button>
   <button type="button" class="btn-solid theme-primary" disabled data-bs-toggle="button">Disabled toggle button</button>`} />
 
-<Example class="d-inline-flex gap-1" code={`<a href="#" class="btn-solid theme-primary" role="button" data-bs-toggle="button">Toggle link</a>
+<Example class="d-flex flex-wrap gap-2" code={`<a href="#" class="btn-solid theme-primary" role="button" data-bs-toggle="button">Toggle link</a>
   <a href="#" class="btn-solid theme-primary active" role="button" data-bs-toggle="button" aria-pressed="true">Active toggle link</a>
   <a class="btn-solid theme-primary disabled" aria-disabled="true" role="button" data-bs-toggle="button">Disabled toggle link</a>`} />
 
index 51a3539c0152dffd77023ddb5389e3ffd4c98834..8051dc416024b8e882e0319430a820801f4e7e5c 100644 (file)
@@ -2,6 +2,8 @@
 title: Cards
 description: Bootstrap’s cards provide a flexible and extensible content container with multiple variants and options.
 toc: true
+css_layer: components
+css_media: viewport
 ---
 
 import { getData } from '@libs/data'
index 612a232c0bfaa8652c3043abf16cac294e3e19b1..97738cab2757fb6e6ed94feef0c8b4130e359655 100644 (file)
@@ -2,6 +2,8 @@
 title: Carousel
 description: A slideshow component for cycling through elements—images or slides of text—like a carousel.
 toc: true
+css_layer: components
+js: required
 ---
 
 ## How it works
index 08e60300b163ad1edd25a567b6a36ad30d92bd2a..b2d6e3e2cd29347dac514d30137dc3afd18a59c3 100644 (file)
@@ -2,6 +2,7 @@
 title: Close button
 description: A generic close button for dismissing content like modals and alerts.
 toc: true
+css_layer: components
 ---
 
 ## Example
index e1640495854ea82c72707f642de8117ed01c01df..09c4db836411d5a5e780dc40e1bb3a5e71526855 100644 (file)
@@ -2,6 +2,8 @@
 title: Collapse
 description: Toggle the visibility of content across your project with a few classes and our JavaScript plugins.
 toc: true
+css_layer: components
+js: required
 ---
 
 ## How it works
index a8b029b8bcde7e23a957984bf5669f1cf63bf12b..a04de913769b0bc890b629d41ebb804a1cb369ec 100644 (file)
@@ -2,6 +2,9 @@
 title: Dialog
 description: A modern component built on the native `<dialog>` element with built-in accessibility and backdrop support that replaces the old Modal component.
 toc: true
+css_layer: components
+css_media: viewport
+js: required
 # aliases:
   # - "/docs/[[config:docs_version]]/components/modal/"
 ---
@@ -521,11 +524,13 @@ const myDialog = new bootstrap.Dialog('#myDialog')
 
 Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-bs-`, as in `data-bs-backdrop="static"`.
 
+<BsTable>
 | Name | Type | Default | Description |
 | --- | --- | --- | --- |
 | `backdrop` | boolean or `'static'` | `true` | For modal dialogs, clicking the backdrop dismisses the dialog. Specify `static` for a backdrop which doesn't close the dialog when clicked. Has no effect on non-modal dialogs. |
 | `keyboard` | boolean | `true` | Closes the dialog when escape key is pressed. |
 | `modal` | boolean | `true` | When `true`, opens the dialog as a modal using `showModal()` with backdrop, focus trapping, and top layer rendering. When `false`, opens as a non-modal dialog using `show()` without backdrop or focus trapping. |
+</BsTable>
 
 ### Methods
 
@@ -538,7 +543,7 @@ const myDialog = new bootstrap.Dialog('#myDialog', {
   keyboard: false
 })
 ```
-
+<BsTable>
 | Method | Description |
 | --- | --- |
 | `show` | Opens the dialog. **Returns to the caller before the dialog has actually been shown** (i.e. before the `shown.bs.dialog` event occurs). |
@@ -548,11 +553,13 @@ const myDialog = new bootstrap.Dialog('#myDialog', {
 | `dispose` | Destroys an element's dialog. |
 | `getInstance` | Static method which allows you to get the dialog instance associated with a DOM element. |
 | `getOrCreateInstance` | Static method which allows you to get the dialog instance associated with a DOM element, or create a new one in case it wasn't initialized. |
+</BsTable>
 
 ### Events
 
 Bootstrap's dialog class exposes a few events for hooking into dialog functionality.
 
+<BsTable>
 | Event | Description |
 | --- | --- |
 | `show.bs.dialog` | Fires immediately when the `show` instance method is called. |
@@ -561,6 +568,7 @@ Bootstrap's dialog class exposes a few events for hooking into dialog functional
 | `hidden.bs.dialog` | Fired when the dialog has finished being hidden from the user (will wait for CSS transitions to complete). |
 | `hidePrevented.bs.dialog` | Fired when the dialog is shown, its backdrop is `static`, and a click outside the dialog or an escape key press is performed (with `keyboard` set to `false`). |
 | `cancel.bs.dialog` | Fired when the user presses Escape and the dialog is about to close. |
+</BsTable>
 
 ```js
 const myDialog = document.getElementById('myDialog')
index 8c092e62ab0b78e3e37c40477a6068567b22087a..901c662855af01db70391f3d8b2e0a09148f7227 100644 (file)
@@ -2,6 +2,9 @@
 title: Drawer
 description: Build hidden sidebars or drawers into your project for navigation, shopping carts, and more with a few classes and our JavaScript plugin. Replaces the old Offcanvas component.
 toc: true
+css_layer: components
+css_media: viewport
+js: required
 ---
 
 ## How it works
index a0d5bdda442ce8a79a051cd81b147a65dd24252b..d9e49abdb519a0a2636f189fcf77cd4d45d27001 100644 (file)
@@ -2,6 +2,8 @@
 title: List group
 description: List groups are a flexible and powerful component for displaying a series of content. Modify and extend them to support just about any content within.
 toc: true
+css_layer: components
+css_media: viewport
 ---
 
 import { getData } from '@libs/data'
index f0e381133ff25327fefb3b3b2b875bc75f1319ed..dea296748c9586acca2b181a92b6d3b9dd0d7161 100644 (file)
@@ -1,16 +1,22 @@
 ---
 title: Menu
-description: Toggle contextual menus and custom overlays for lists of links, forms, and more with the Bootstrap menu plugin. Powered by [Floating UI](https://floating-ui.com/).
+description: Toggle contextual menus and custom overlays for lists of buttons, links, forms, and other custom content.
 toc: true
 aliases:
   - /docs/[[config:docs_version]]/components/menus/
+css_layer: components
+css_media: viewport
+js: required
+deps:
+  - title: Floating UI
+    url: https://floating-ui.com/
 ---
 
 ## Overview
 
 Toggle menus with buttons whenever possible. Here's an example using a Bootstrap button:
 
-<Example code={`<button class="btn-solid theme-secondary" type="button" data-bs-toggle="menu" aria-expanded="false">
+<Example code={`<button class="btn-solid theme-primary" type="button" data-bs-toggle="menu" aria-expanded="false">
     Toggle menu
   </button>
   <div class="menu">
@@ -128,7 +134,7 @@ For example, `data-bs-placement="bottom-start md:bottom-end lg:end-start"` will:
 - Switch to `bottom-end` at the `md` breakpoint
 - Switch to `right-start` at the `lg` breakpoint
 
-<Example class="d-flex gap-2" code={`<button class="btn-solid theme-secondary" type="button" data-bs-toggle="menu" data-bs-placement="bottom-start md:bottom-end" aria-expanded="false">
+<Example class="d-flex flex-column lg:flex-row gap-2" code={`<button class="btn-solid theme-secondary" type="button" data-bs-toggle="menu" data-bs-placement="bottom-start md:bottom-end" aria-expanded="false">
     Bottom start → md:bottom-end
   </button>
   <div class="menu">
@@ -484,7 +490,7 @@ Use `data-bs-offset` or `data-bs-reference` to change the location of the menu.
 
 By default, the menu is closed when clicking inside or outside the menu. You can use the `autoClose` option to change this behavior of the menu.
 
-<Example code={`<div class="btn-group">
+<Example class="d-flex flex-wrap gap-2" code={`<div class="btn-group">
     <button class="btn-solid theme-secondary" type="button" data-bs-toggle="menu" data-bs-auto-close="true" aria-expanded="false">
       Default menu
     </button>
index b8e09a22bf4cb5fc9cd2f97c9fb322ae8d3928c5..94d7ab343c825647fbca6cb2d47e9bccf8f9046d 100644 (file)
@@ -2,6 +2,8 @@
 title: Nav overflow
 description: Automatically collapse navigation items into a "More" menu when space is limited using the Priority+ pattern.
 toc: true
+css_layer: components
+js: required
 ---
 
 ## How it works
@@ -195,16 +197,40 @@ new bootstrap.NavOverflow(nav, {
 
 ### Custom icon
 
-Provide a custom icon via the `moreIcon` option:
+Provide a custom icon via the `moreIcon` option. Any HTML string works, including inline SVGs:
 
 ```js
 const nav = document.querySelector('.nav')
 new bootstrap.NavOverflow(nav, {
-  moreIcon: '<i class="bi bi-three-dots"></i>',
+  moreIcon: '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/></svg>',
   moreText: '' // Hide text, show only icon
 })
 ```
 
+Alternatively, place an element with `data-bs-overflow-icon` directly inside the nav. The component will pick it up, use it as the toggle icon, and remove the original element from the DOM. This takes priority over the `moreIcon` option.
+
+```html
+<ul class="nav nav-pills" data-bs-toggle="nav-overflow">
+  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>
+  <li class="nav-item"><a class="nav-link" href="#">Link 2</a></li>
+  <svg data-bs-overflow-icon xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
+    <path d="M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492"/>
+  </svg>
+</ul>
+```
+
+### Icon placement
+
+Use the `iconPlacement` option to position the icon before (`'start'`, the default) or after (`'end'`) the text:
+
+```js
+const nav = document.querySelector('.nav')
+new bootstrap.NavOverflow(nav, {
+  moreText: 'Menu',
+  iconPlacement: 'end'
+})
+```
+
 ### Minimum visible items
 
 Use the `threshold` option to ensure a minimum number of items remain visible before the overflow kicks in:
@@ -216,6 +242,29 @@ new bootstrap.NavOverflow(nav, {
 })
 ```
 
+### Collapse all
+
+Use the `collapseBelow` option to force all items into the overflow dropdown when the nav element's width is below a threshold. Pass a breakpoint name to resolve the value from `--bs-breakpoint-{name}`, or a number for a direct pixel value.
+
+```html
+<ul class="nav nav-pills" data-bs-toggle="nav-overflow" data-bs-collapse-below="md">
+  <li class="nav-item"><a class="nav-link" href="#">Link 1</a></li>
+  <li class="nav-item"><a class="nav-link" href="#">Link 2</a></li>
+  <li class="nav-item"><a class="nav-link" href="#">Link 3</a></li>
+</ul>
+```
+
+Or via JavaScript with a raw pixel value:
+
+```js
+const nav = document.querySelector('.nav')
+new bootstrap.NavOverflow(nav, {
+  collapseBelow: 768
+})
+```
+
+Above the threshold, normal progressive collapse resumes. Items with `.nav-overflow-keep` are never collapsed.
+
 ## Usage
 
 ### Via data attributes
@@ -256,8 +305,11 @@ const navOverflow = new bootstrap.NavOverflow(navElement, {
 <BsTable>
 | Name | Type | Default | Description |
 | --- | --- | --- | --- |
+| `collapseBelow` | number\|string | `0` | Width threshold below which all items collapse into the overflow dropdown. Pass a breakpoint name (e.g., `'md'`) to resolve from `--bs-breakpoint-{name}`, or a number for a direct pixel value. `0` disables. |
+| `iconPlacement` | string | `'start'` | Position of the icon relative to the text in the toggle button. Use `'start'` for before the text or `'end'` for after. |
+| `menuPlacement` | string | `'bottom-end'` | Placement of the overflow dropdown menu, passed as `data-bs-placement` to the menu toggle. |
 | `moreText` | string | `'More'` | Text label for the overflow toggle button. |
-| `moreIcon` | string | `'<svg>...</svg>'` | SVG or HTML icon for the overflow toggle button. |
+| `moreIcon` | string | `'<svg>...</svg>'` | SVG or HTML icon for the overflow toggle button. Overridden by a child element with `data-bs-overflow-icon` if present. |
 | `threshold` | number | `0` | Minimum number of items to keep visible before showing overflow. |
 </BsTable>
 
index 08a4c63b3d77fd9d32a6a387d73feb77b13595c0..c50cdae0b35e28b3ab6a9370de1773f39cee4af4 100644 (file)
@@ -5,6 +5,8 @@ aliases:
   - "/docs/[[config:docs_version]]/components/navs/"
   - "/docs/[[config:docs_version]]/components/navs-tabs/"
 toc: true
+css_layer: components
+js: optional
 ---
 
 ## Base nav
index 5cd4e0b6a05dd7db8f2a56055495cbc994f80626..f2e4b3f2457da5acff9579d5875260b4c85385fe 100644 (file)
@@ -2,6 +2,13 @@
 title: Navbar
 description: Create flexible, responsive navigation bars. Includes support for branding, navigation, and a built-in drawer for mobile.
 toc: true
+css_layer: components
+css_media: container
+js: required
+deps:
+  - title: Drawer
+  - title: Collapse
+  - title: Menu
 ---
 
 import { getConfig } from '@libs/config'
index 1dc969e8767f2bf06d6a9af6978277de83b2542b..073a8c7bc597f695cf4b7afbb4d87ce61731f887 100644 (file)
@@ -2,6 +2,7 @@
 title: Pagination
 description: Documentation and examples for showing pagination to indicate a series of related content exists across multiple pages.
 toc: true
+css_layer: components
 ---
 
 ## Overview
index a032bfae0e2187fc259cc72312f737089bb479c4..0323beb56c3d3f7ef7c74b78595ccf0b02a0390e 100644 (file)
@@ -4,6 +4,7 @@ description: Use loading placeholders (skeleton loaders) for your components or
 toc: true
 aliases:
   - /docs/[[config:docs_version]]/components/placeholders/
+css_layer: components
 ---
 
 import { getData } from '@libs/data'
index 7e2333a75f322855631a8c276d05c24103c3b039..9b8dd36041caef24eb46033656ff2644c6766026 100644 (file)
@@ -1,9 +1,15 @@
 ---
 title: Popover
-description: Small, contextual overlays for displaying information on click via JavaScript. Extends our [Tooltip]([[docsref:/components/tooltip]]) plugin, which is powered by [Floating UI](https://floating-ui.com/).
+description: Small, contextual overlays for displaying custom content and information via JavaScript.
 toc: true
 aliases:
   - "/docs/[[config:docs_version]]/components/popovers/"
+css_layer: components
+js: required
+deps:
+  - title: Floating UI
+    url: https://floating-ui.com/
+  - title: Tooltip
 ---
 
 ## Overview
index fcbdf520f282869a9846f19374699eb9096d3be3..c18a3a8b9ef1de4ed581043bc18e1a0e22a8e11c 100644 (file)
@@ -2,6 +2,7 @@
 title: Progress
 description: Documentation and examples for using Bootstrap custom progress bars featuring support for stacked bars, animated backgrounds, and text labels.
 toc: true
+css_layer: components
 ---
 
 ## How it works
index 88f340d529de2f74f5fc5991aa4a850f16c9a359..e422882eecc8121907ae8adde7cffe3de5742300 100644 (file)
@@ -2,6 +2,7 @@
 title: Scrollspy
 description: Automatically update Bootstrap navigation or list group components based on scroll position to indicate which link is currently active in the viewport.
 toc: true
+js: required
 ---
 
 ## How it works
index 97d2ee7040d79a3e5d06c9eb335f805c3319a62d..5077b977e66d5930a27ee38f7eb7fa2d91257882 100644 (file)
@@ -4,6 +4,7 @@ description: Indicate the loading state of a component or page with Bootstrap sp
 toc: true
 aliases:
   - /docs/[[config:docs_version]]/components/spinners/
+css_layer: components
 ---
 
 import { getData } from '@libs/data'
index ffba46e0e0b3fbbd9bcc459f34597bd2c2f6f2f9..fe04998bfb490d085bb5e55367a7ea97c0bb1b11 100644 (file)
@@ -2,6 +2,8 @@
 title: Stepper
 description: Create timelines, wizards, or step-by-step progress bars. Ideal for shopping carts, sign-up forms, and more.
 toc: true
+css_layer: components
+css_media: container
 ---
 
 ## Examples
index 5c9c83d263dbc0cf1ebfc82b5c05f5512b459c20..1a47dbfc3c42f5c93cd19b7fa05e98ea610c4839 100644 (file)
@@ -2,6 +2,9 @@
 title: Tab
 description: Create toggleable content panes using any of our navigation or list group components with this JavaScript plugin.
 toc: true
+js: required
+deps:
+  - title: Nav
 ---
 
 The Tab plugin works with [nav components]([[docsref:/components/nav]]) such as `.nav-tabs` and `.nav-pills`, and with [list groups]([[docsref:/components/list-group#javascript-behavior]]).
index 85aecf0af43fdab12e19ab42124e931d664f5860..c458e4cd0ed50ebc4f5747a0457f038aebee8e38 100644 (file)
@@ -2,6 +2,8 @@
 title: Toasts
 description: Push notifications to your visitors with a toast, a lightweight and easily customizable alert message.
 toc: true
+css_layer: components
+js: required
 ---
 
 Toasts are lightweight notifications designed to mimic the push notifications that have been popularized by mobile and desktop operating systems. They’re built with flexbox, so they’re easy to align and position.
index ace15989ca560c0f22de138d1a3a12e06f350fc8..f7894c294a83e393c6c41c3f045b3a21b33b7a5b 100644 (file)
@@ -2,6 +2,7 @@
 title: Toggler
 description: Toggle attributes or classes using nothing but data attributes.
 toc: true
+js: required
 ---
 
 Toggler is a pure JavaScript component that can be used to avoid writing small or one-off JavaScript snippets to create interactive elements. Instead of writing custom JavaScript, use data attributes to toggle attribute values, changes classes, and more on `click` events.
index cddb5a7c43c791b22f83012567560c077cce41e5..3e4b952511aede5c449bcc60dafad8e8c5c50c45 100644 (file)
@@ -3,6 +3,11 @@ title: Tooltips
 description: Custom replacement for browser tooltips—themed with CSS variables and powered by [Floating UI](https://floating-ui.com/).
 aliases:
   - "/docs/[[config:docs_version]]/components/tooltips/"
+css_layer: components
+js: required
+deps:
+  - title: Floating UI
+    url: https://floating-ui.com/
 toc: true
 ---
 
index 558e62617c818d5ffe2ad53f9534c6af05e3c377..3a6f0fc7c9a47374e95b3c242c10755657130936 100644 (file)
@@ -2,6 +2,7 @@
 title: Images
 description: Documentation and examples for opting images into responsive behavior (so they never become wider than their parent) and add lightweight styles to them—all via classes.
 toc: true
+css_layer: content
 ---
 
 ## Responsive images
index b5d1f67194b6ff703e109d7af0cadfb7cab0f85d..c37e169118f49ec32affa2fd3a8e2d9edb235e20 100644 (file)
@@ -2,6 +2,7 @@
 title: Prose
 description: Use the `.prose` wrapper class to make long form content more easily without the need for specifying Bootstrap classes on every element. Especially useful for converting Markdown or MDX to HTML, or simply for making content heavy pages more readable.
 toc: true
+css_layer: content
 ---
 
 ## How it works
index e90851aecb9588bcca5a9dd418ee755a3ac1cd1f..c6f5de7168a723a7750af7ce4e6f2ed1b64519d1 100644 (file)
@@ -3,6 +3,7 @@ title: Reboot
 description: Reboot, a collection of element-specific CSS changes in a single file, kickstart Bootstrap to provide an elegant, consistent, and simple baseline to build upon.
 aliases: "/docs/[[config:docs_version]]/content/"
 toc: true
+css_layer: reboot
 ---
 
 import { getData } from '@libs/data'
index 62c36ad44acec2683f679f92639c717a63ffc87b..10db4b92cc69bf604082c7aa3751fdcf87710802 100644 (file)
@@ -2,6 +2,8 @@
 title: Tables
 description: Documentation and examples for opt-in styling of tables (given their prevalent use in JavaScript plugins) with Bootstrap.
 toc: true
+css_layer: content
+css_media: container
 ---
 
 import { getData } from '@libs/data'
@@ -545,13 +547,85 @@ You can also put the `<caption>` on the top of the table with `.caption-top`.
     </tbody>
   </table>`} />
 
+## Stacked tables
+
+Add `.table-stacked` to convert a table's rows into stacked blocks when space is limited. Each row becomes a vertical block with the first cell acting as a bold title and the remaining cells displayed as label–value pairs. Labels are generated from `data-cell` attributes on each `<td>`.
+
+Both `.table-stacked` and `.table-responsive` use container queries, so the `.table-responsive` wrapper is required as the query container. Use `.md:table-stacked`, `.lg:table-stacked`, etc. to only stack below a specific container width. The default `.table-stacked` always stacks.
+
+<ResizableExample code={`
+<div class="table-responsive">
+  <table class="table md:table-stacked">
+    <thead>
+      <tr>
+        <th scope="col">Name</th>
+        <th scope="col">Type</th>
+        <th scope="col">Default</th>
+        <th scope="col">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td data-cell="Name">backdrop</td>
+        <td data-cell="Type">boolean or 'static'</td>
+        <td data-cell="Default">true</td>
+        <td data-cell="Description">Includes a backdrop element. Specify static for a backdrop which doesn't close on click.</td>
+      </tr>
+      <tr>
+        <td data-cell="Name">keyboard</td>
+        <td data-cell="Type">boolean</td>
+        <td data-cell="Default">true</td>
+        <td data-cell="Description">Closes the component when escape key is pressed.</td>
+      </tr>
+      <tr>
+        <td data-cell="Name">focus</td>
+        <td data-cell="Type">boolean</td>
+        <td data-cell="Default">true</td>
+        <td data-cell="Description">Puts the focus on the component when initialized.</td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+`} customMarkup={`
+<div class="table-responsive">
+  <table class="table md:table-stacked">
+    <thead>
+      <tr>
+        <th scope="col">Name</th>
+        <th scope="col">Type</th>
+        ...
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td data-cell="Name">backdrop</td>
+        <td data-cell="Type">boolean or 'static'</td>
+        ...
+      </tr>
+    </tbody>
+  </table>
+</div>
+`} />
+
+```html
+<!-- Always stacked -->
+<div class="table-responsive">
+  <table class="table table-stacked">...</table>
+</div>
+
+<!-- Stacked below md container width -->
+<div class="table-responsive">
+  <table class="table md:table-stacked">...</table>
+</div>
+```
+
 ## Responsive tables
 
 Responsive tables allow tables to be scrolled horizontally with ease. Make any table responsive across all viewports by wrapping a `.table` with `.table-responsive`. Or, pick a maximum breakpoint with which to have a responsive table up to by using `.table-responsive{-sm|-md|-lg|-xl|-2xl}`.
 
-<Callout type="warning">
-##### Vertical clipping/truncation
+The `.table-responsive` wrapper also acts as the container query context for [stacked tables](#stacked-tables).
 
+<Callout type="warning">
 Responsive tables make use of `overflow-y: hidden`, which clips off any content that goes beyond the bottom or top edges of the table. In particular, this can clip off menus and other third-party widgets.
 </Callout>
 
index a46c5503e444c5e7312b0171b5bd5ee63794c4ce..42d24681c148174573ad462a08d38b0c599b73e6 100644 (file)
@@ -2,6 +2,7 @@
 title: Typography
 description: Documentation and examples for Bootstrap typography, including global settings, headings, body text, lists, and more.
 toc: true
+css_layer: content
 ---
 
 ## Global settings
index 1b1ea5e927f1f5f8976432dadf2e5df420abc72b..5062d668a82d0cfe8571898ccf16a7e3855c9696 100644 (file)
@@ -8,7 +8,7 @@ toc: true
 
 [Sass](https://sass-lang.com/) is a CSS preprocessor that adds features like variables, nesting, mixins, and functions to standard CSS. You write `.scss` files, compile them, and the output is plain CSS that browsers understand. If you're new to Sass, check out the [Sass documentation](https://sass-lang.com/guide/) to learn the basics.
 
-Bootstrap is written in Sass. Our source `.scss` files use Sass maps to define design tokens, mixins to generate repetitive CSS patterns, and the `@use`/`@forward` module system to organize everything. When compiled, these Sass files produce the CSS that powers every Bootstrap component and utility. This lets you override token values, remove unused components, or extend the system with your own additions. If you don't need that level of control, you can skip Sass entirely and [customize via CSS custom properties]([[docsref:/customize/css-variables]]) at runtime instead.
+Bootstrap is written in Sass. Our source `.scss` files use Sass maps to define design tokens, mixins to generate repetitive CSS patterns, and the `@use`/`@forward` module system to organize everything. When compiled, these Sass files produce the CSS that powers every Bootstrap component and utility. This lets you override token values, remove unused components, or extend the system with your own additions. If you don't need that level of control, you can skip Sass entirely and [customize via CSS custom properties]([[docsref:/getting-started/css-variables]]) at runtime instead.
 
 <Callout type="info">
 **New to working with Sass and Bootstrap?** Start with [our npm guide]([[docsref:/guides/npm]]) for a step-by-step setup, or check out our [examples repository](https://github.com/twbs/examples) for ready-to-use starter projects.
index 467fc5e95ccc3ab72a43594bbfe5ed17f41f1613..d3263c6ae2d056e7405369e52d559283c5dbe867 100644 (file)
@@ -2,6 +2,8 @@
 title: Checkbox
 description: Highly customizable, native checkbox `<input>` elements for presenting toggleable options.
 toc: true
+css_layer: forms
+mdn: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/checkbox
 ---
 
 import { getData } from '@libs/data'
index bf381ccf40a761f1ce64bd99553a31caf01489e0..610483fdc67372d0e26a6a4f138b21bb74246670 100644 (file)
@@ -2,6 +2,8 @@
 title: Chip input
 description: Create tag-like inputs for multi-value fields like skills, categories, or email recipients using themed chips.
 toc: true
+css_layer: forms
+js: required
 ---
 
 import { getData } from '@libs/data'
@@ -23,7 +25,7 @@ See examples of all of this in action below.
 
 Use `.chip` for standalone chips. Add `.chip-icon` for a leading icon, `.chip-img` for an image like an avatar, and `.chip-dismiss` for a remove button. Note that we use an inline SVG for the dismiss button icon—you can modify this as needed. JavaScript users can use the `dismissIcon` option for passing a custom SVG.
 
-<Example code={`<span class="chip">Basic chip</span>
+<Example class="d-flex flex-wrap gap-2" code={`<span class="chip">Basic chip</span>
 
   <span class="chip">
     <img src="https://github.com/mdo.png" class="chip-img" width="16" height="16" alt="">
@@ -50,7 +52,7 @@ Use `.chip` for standalone chips. Add `.chip-icon` for a leading icon, `.chip-im
 
 Apply `.theme-*` classes to color your chips. Chips are subtle by default as this allows for a clear, themed active state.
 
-<Example code={[
+<Example class="d-flex flex-wrap gap-2" code={[
   `<span class="chip">Default</span>`,
   ...getData('theme-colors').map((themeColor) => `<span class="chip theme-${themeColor.name}">${themeColor.title}</span>`)
 ]} />
@@ -59,7 +61,7 @@ Apply `.theme-*` classes to color your chips. Chips are subtle by default as thi
 
 Add `.active` to make chips use the solid appearance (bg/contrast). This is useful for toggle-style chip selections.
 
-<Example code={`<span class="chip theme-primary">Default</span>
+<Example class="d-flex flex-wrap gap-2" code={`<span class="chip theme-primary">Default</span>
   <span class="chip theme-primary active">Active</span>
   <span class="chip theme-success">Default</span>
   <span class="chip theme-success active">Active</span>`} />
index db8c5fe6c4a5d6845915bfa1f6e7fc372f647f64..149ae7b135bedeb982c04f8111666e87bafddf95 100644 (file)
@@ -2,6 +2,10 @@
 title: Combobox
 description: A customizable select-like component built with markup-first HTML, powered by the Menu component for positioning and keyboard navigation.
 toc: true
+css_layer: components
+js: required
+deps:
+  - title: Menu
 ---
 
 ## Overview
index f3e11b423e33f31c7d857a32b10d53d079d22eeb..9eb9866a0c0351c56ccb79ad5bfdae0e90a6813d 100644 (file)
@@ -2,6 +2,11 @@
 title: Datepicker
 description: A flexible date picker component powered by Vanilla Calendar Pro, with Bootstrap styling and data attribute support.
 toc: true
+css_layer: components
+js: required
+deps:
+  - title: Vanilla Calendar Pro
+    url: https://vanilla-calendar.pro/
 ---
 
 ## Overview
@@ -29,7 +34,7 @@ Note that we're using a width utility of `.w-12` to ensure the input is wide eno
 Use the [form adorn component]([[docsref:/forms/form-adorn]]) to add a calendar icon alongside the datepicker input. When the input is inside a `.form-adorn` wrapper, the calendar automatically positions relative to the wrapper instead of the input.
 
 <Example code={`<label for="datepickerIconStart" class="form-label">Select date</label>
-  <div class="form-adorn w-12">
+  <div class="form-control form-adorn w-12">
     <div class="form-adorn-icon">
       <svg class="bi" width="16" height="16"><use href="#calendar-week" /></svg>
     </div>
index 52a2c52f600346a725ac2f0f9aac55560f2365cf..6de176038612e4fced1672f873db024d6396ecdb 100644 (file)
@@ -2,6 +2,7 @@
 title: Floating labels
 description: Create beautifully simple form labels that float over your input fields.
 toc: true
+css_layer: forms
 ---
 
 ## Example
index dd64ca08b4e443062836b5de1802367c35f9c78e..85e874b77030498d70f5ce3de77514ceb847df5a 100644 (file)
@@ -2,6 +2,7 @@
 title: Form adorn
 description: Decorate inputs with icons, text, and more using a custom wrapper that easily handles styling and positioning.
 toc: true
+css_layer: forms
 ---
 
 ## How it works
index 60588459cc88004f8ae7910aacff5bf48bd65c5b..e6530ef49962bc24c2410a10e403cb33614cc27a 100644 (file)
@@ -2,6 +2,7 @@
 title: Form controls
 description: Give textual `<input>`, `<textarea>`, and `<select>` elements an upgrade with custom styles, sizing, focus states, and more.
 toc: true
+css_layer: forms
 mdn: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input
 ---
 
index cab7eb676e67fd9290510aa4de633a37d28dc7ae..11e9c1bff9f3b33cf8f62b8f8e1f75642985aa19 100644 (file)
@@ -2,6 +2,7 @@
 title: Input group
 description: Easily extend form controls by adding text, buttons, or button groups on either side of textual inputs, custom selects, and custom file inputs.
 toc: true
+css_layer: components
 ---
 
 ## Examples
index 9eab44a8788f0fc7ce02f2b608c696ef21906108..0b5fd4100a1282399da8f4d15150f700fca0c334 100644 (file)
@@ -2,6 +2,8 @@
 title: OTP input
 description: Create connected input fields for one-time passwords, PIN codes, and verification codes with automatic focus advancement.
 toc: true
+css_layer: components
+js: required
 ---
 
 ## Overview
index 454502b6625176825ae5b7c08924d3652eb64faf..60368bf9803de95697ff2d208c981537ec8d5883 100644 (file)
@@ -2,6 +2,8 @@
 title: Password strength
 description: Provide visual feedback on password strength with segmented meters or progress bars that update as users type.
 toc: true
+css_layer: forms
+js: required
 ---
 
 ## Overview
index 90ea4ea319f9f70d1a5faeb7d892bc8a7d187db3..266f692235e3d7d0ff25e776ebb84bde253b5b01 100644 (file)
@@ -2,6 +2,8 @@
 title: Radio
 description: Highly customizable, native radio `<input>` elements for choosing one option from many.
 toc: true
+css_layer: forms
+mdn: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/radio
 ---
 
 import { getData } from '@libs/data'
index dee018c24ea5c77ca2456a0579a98ddb0cd1ddc4..f69eba6bdcb789b974c67d2d0084719dbb8df7d5 100644 (file)
@@ -2,6 +2,8 @@
 title: Range
 description: Use our custom range inputs for consistent cross-browser styling and built-in customization.
 toc: true
+css_layer: forms
+mdn: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/range
 ---
 
 ## Overview
index ccb417cadf6756f3ed255887905abcbeb7480cd4..dc97919c514036e87c8189ba9a9eb8f7632d5edd 100644 (file)
@@ -2,6 +2,7 @@
 title: Switch
 description: Custom toggle component built on top of native `<input>` checkbox elements.
 toc: true
+css_layer: forms
 ---
 
 import { getData } from '@libs/data'
index 4f6e158fc28f02cc97b8c88af24bfab0cfc52552..6276eed71ad45d176925c93be38768df3d4bda98 100644 (file)
@@ -2,6 +2,8 @@
 title: Validation
 description: Provide valuable, actionable feedback to your users with HTML5 form validation, via browser default behaviors or custom styles and JavaScript.
 toc: true
+css_layer: components
+mdn: https://developer.mozilla.org/en-US/docs/Web/HTML/Constraint_validation
 extra_js:
   - src: "[[docsref:/assets/js/validate-forms.js]]"
     async: true
similarity index 98%
rename from site/src/content/docs/customize/css-variables.mdx
rename to site/src/content/docs/getting-started/css-variables.mdx
index 0400a72e524cbf97e338fddb18dcef9473aa60af..45dd727367ef0084620af200117eedd4c1a9bbbe 100644 (file)
@@ -1,6 +1,7 @@
 ---
 title: CSS variables
 description: Use Bootstrap’s CSS custom properties for fast and forward-looking design and development.
+aliases: "/docs/[[config:docs_version]]/customize/css-variables/"
 toc: true
 ---
 
index 802053a3f349260fce22b372f3d9b0ed6ae89f40..c05078855e097795c6ea78cc599fa51a30cdc169 100644 (file)
@@ -2,6 +2,7 @@
 title: Stacks
 description: Shorthand helpers that build on top of our flexbox utilities to make component layout faster and easier than ever.
 toc: true
+css_media: container
 ---
 
 Stacks offer a shortcut for applying a number of flexbox properties to quickly and easily create layouts in Bootstrap. All credit for the concept and implementation goes to the open source [Pylon project](https://almonk.github.io/pylon/).
index 05a867037c8a8f22cfdb28aa425a17f70d5e4737..b97f30b1e6ccf0e856b46332d6249df7649224b7 100644 (file)
@@ -72,7 +72,7 @@ Change the opacity of a background color by using any of the `.bg-<percentage>`
 
 ## CSS
 
-In addition to the following Sass functionality, consider reading about our included [CSS custom properties]([[docsref:/customize/css-variables]]) (aka CSS variables) for colors and more.
+In addition to the following Sass functionality, consider reading about our included [CSS custom properties]([[docsref:/getting-started/css-variables]]) (aka CSS variables) for colors and more.
 
 ### Sass variables
 
index df7d2be2bb119374d02f5db4f9dfd26eed09d22a..085517d80cafb058979af8cf1ae3765ec1f7f1f2 100644 (file)
@@ -105,7 +105,7 @@ Sometimes contextual classes cannot be applied due to the specificity of another
 
 ## CSS
 
-In addition to the following Sass functionality, consider reading about our included [CSS custom properties]([[docsref:/customize/css-variables]]) (aka CSS variables) for colors and more.
+In addition to the following Sass functionality, consider reading about our included [CSS custom properties]([[docsref:/getting-started/css-variables]]) (aka CSS variables) for colors and more.
 
 ### Sass variables
 
diff --git a/site/src/content/docs/utilities/interactions.mdx b/site/src/content/docs/utilities/interactions.mdx
deleted file mode 100644 (file)
index 6e41c1d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: Interactions
-description: Utility classes that change how users interact with contents of a website.
-toc: false
-utility:
-  - user-select
-  - pointer-events
----
-
-## Text selection
-
-Change the way in which the content is selected when the user interacts with it.
-
-<Example code={`<p class="user-select-all">This paragraph will be entirely selected when clicked by the user.</p>
-<p class="user-select-auto">This paragraph has default select behavior.</p>
-<p class="user-select-text">This paragraph has text select behavior.</p>
-<p class="user-select-none">This paragraph will not be selectable when clicked by the user.</p>`} />
-
-## Pointer events
-
-Bootstrap provides `.pe-none` and `.pe-auto` classes to prevent or add element interactions.
-
-<Example code={`<p><a href="#" class="pe-none" tabindex="-1" aria-disabled="true">This link</a> can not be clicked.</p>
-<p><a href="#" class="pe-auto">This link</a> can be clicked (this is default behavior).</p>
-<p class="pe-none"><a href="#" tabindex="-1" aria-disabled="true">This link</a> can not be clicked because the <code>pointer-events</code> property is inherited from its parent. However, <a href="#" class="pe-auto">this link</a> has a <code>pe-auto</code> class and can be clicked.</p>`} />
-
-The `.pe-none` class (and the `pointer-events` CSS property it sets) only prevents interactions with a pointer (mouse, stylus, touch). Links and controls with `.pe-none` are, by default, still focusable and actionable for keyboard users. To ensure that they are completely neutralized even for keyboard users, you may need to add further attributes such as `tabindex="-1"` (to prevent them from receiving keyboard focus) and `aria-disabled="true"` (to convey the fact they are effectively disabled to assistive technologies), and possibly use JavaScript to completely prevent them from being actionable.
-
-If possible, the simpler solution is:
-
-- For form controls, add the `disabled` HTML attribute.
-- For links, remove the `href` attribute, making it a non-interactive anchor or placeholder link.
-
-## CSS
-
-### Sass utilities API
-
-Interaction utilities are declared in our utilities API in `scss/_utilities.scss`. [Learn how to use the utilities API.]([[docsref:/utilities/api#using-the-api]])
-
-<ScssDocs name="utils-interaction" file="scss/_utilities.scss" />
index 0114fd3394cda4052047006713a0db47f979e284..d2a499ded3f8a4eb7891defca89a4f8c60001763 100644 (file)
@@ -48,7 +48,7 @@ Links can be colored using the theme color utilities.
 
 ## CSS
 
-In addition to the following Sass functionality, consider reading about our included [CSS custom properties]([[docsref:/customize/css-variables]]) (aka CSS variables) for colors and more.
+In addition to the following Sass functionality, consider reading about our included [CSS custom properties]([[docsref:/getting-started/css-variables]]) (aka CSS variables) for colors and more.
 
 ### Sass utilities API
 
index c310972a107f41d984e6d876faf54a4a74b88c0c..1368e0c0d35584ec405dd54077909f8f26133970 100644 (file)
@@ -57,7 +57,9 @@ const mainProps = overrides?.main ?? {}
     />
   </head>
   <body {...bodyProps}>
-    <Header layout={layout} title={title} addedIn={frontmatter?.added} />
+    <div class="navbar-translucent sticky-top bd-sticky-navbar">
+      <Header layout={layout} title={title} addedIn={frontmatter?.added} />
+    </div>
 
     {
       Astro.slots.has('main') ? (
index 63f2cc45e5674d2ec8b8a8959cf901da204f0b18..2812b81d4607b95bae9d1815540d55cf46dc6906 100644 (file)
@@ -13,10 +13,8 @@ import ReferenceTable from '@components/ReferenceTable.astro'
 import UtilityReferenceTable from '@components/UtilityReferenceTable.astro'
 import HelperReferenceTable from '@components/HelperReferenceTable.astro'
 import { getData } from '@libs/data'
-import GitHubIcon from '@components/icons/GitHubIcon.astro'
-import MdnIcon from '@components/icons/MdnIcon.astro'
-import CssTricksIcon from '@components/icons/CssTricksIcon.astro'
 import CloseButton from '@components/shortcodes/CloseButton.astro'
+import PageMeta from '@components/PageMeta.astro'
 
 interface NavigationPage {
   title: string
@@ -91,7 +89,7 @@ if (currentPageIndex < allPages.length - 1) {
 <BaseLayout {...Astro.props} layout="docs" overrides={{ body: bodyProps }}>
   <div slot="main" class="2xl:container bd-gutter mt-3 md:my-4 bd-layout">
     <aside class="bd-sidebar">
-      <dialog class="lg:drawer drawer-start" tabindex="-1" id="bdSidebar" aria-labelledby="bdSidebarDrawerLabel">
+      <dialog class="lg:drawer drawer-bottom" tabindex="-1" id="bdSidebar" aria-labelledby="bdSidebarDrawerLabel">
         <div class="drawer-header border-bottom">
           <h5 class="drawer-title" id="bdSidebarDrawerLabel">Browse docs</h5>
           <CloseButton dismiss="drawer" target="#bdSidebar" />
@@ -110,89 +108,47 @@ if (currentPageIndex < allPages.length - 1) {
           {frontmatter.description && <Fragment set:html={processMarkdownToHtml(frontmatter.description)} />}
         </div>
         <div class="mb-3 md:mb-0 d-flex gap-2 text-nowrap">
-          {
-            frontmatter.added &&
-              ((frontmatter.added.show_badge !== undefined && frontmatter.added.show_badge === true) ||
-                frontmatter.added.show_badge === undefined) && (
-                <small class="d-inline-flex px-2 py-1 fw-semibold text-success-emphasis bg-success-subtle border border-success-subtle rounded-2 me-2">
-                  Added in v{frontmatter.added.version}
-                </small>
-              )
-          }
-          <a
-            class="btn-subtle btn-sm theme-secondary"
-            href={`${getConfig().repo}/blob/v${getConfig().current_version}/site/src/content/docs/${id}`}
-            title="View and edit this file on GitHub"
-            target="_blank"
-            rel="noopener"
-          >
-            <GitHubIcon height={16} width={16} class="bi" />
-            Edit on GitHub
-          </a>
-          {
-            frontmatter.mdn && (
-              <a
-                class="btn-subtle btn-sm theme-secondary"
-                href={frontmatter.mdn}
-                title="View on MDN"
-                target="_blank"
-                rel="noopener"
-              >
-                <MdnIcon height={16} width={16} class="bi" />
-                MDN
-              </a>
-            )
-          }
-          {
-            frontmatter.csstricks && (
-              <a
-                class="btn-secondary-text btn-sm"
-                href={typeof frontmatter.csstricks === 'string' ? frontmatter.csstricks : frontmatter.csstricks.url}
-                title="View on CSS-Tricks"
-                target="_blank"
-                rel="noopener"
-              >
-                <CssTricksIcon height={16} width={16} class="bi" />
-                {typeof frontmatter.csstricks === 'string' ? 'CSS-Tricks' : (frontmatter.csstricks.label || 'CSS-Tricks')}
-              </a>
-            )
-          }
+          <PageMeta frontmatter={frontmatter} id={id} parentDirectory={parentDirectory} />
         </div>
       </div>
 
+      <div class="lg:d-none d-flex justify-content-center bd-toc-toggle">
+        <button
+          class="btn-solid theme-inverse rounded-pill px-5"
+          type="button"
+          data-bs-toggle="drawer"
+          data-bs-target="#bdTocSidebar"
+          aria-controls="bdTocSidebar"
+        >
+          <svg class="bi" aria-hidden="true"><use href="#list"></use></svg>
+          On this page…
+        </button>
+      </div>
 
-      <div class="vstack bd-toc mt-3 mb-5 lg:my-0 lg:mb-5 sm:px-1 fg-3">
-        <div class="overflow-y-auto">
-        {
-          frontmatter.toc && headings && (
-            <button
-              class="btn-sm btn-subtle mb-2 bd-toc-toggle lg:d-none"
-              type="button"
-              data-bs-toggle="collapse"
-              data-bs-target="#tocContents"
-              aria-expanded="false"
-              aria-controls="tocContents"
-            >
-              On this page
-              <svg class="bi lg:d-none ms-2" aria-hidden="true">
-                <use href="#chevron-expand" />
-              </svg>
-            </button>
-            <div class="collapse bd-toc-collapse" id="tocContents">
-              <nav id="TableOfContents" aria-labelledby="docs-tocs">
-                <TableOfContents headings={headings} />
-              </nav>
-            </div>
-          )
-        }
-        </div>
+      <div class="bd-toc mt-3 mb-5 lg:my-0 lg:mb-5 sm:px-1">
+        <dialog class="lg:drawer drawer-bottom" tabindex="-1" id="bdTocSidebar" aria-labelledby="bdTocDrawerLabel">
+          <div class="drawer-header border-bottom">
+            <h5 class="drawer-title" id="bdTocDrawerLabel">On this page</h5>
+            <CloseButton dismiss="drawer" target="#bdTocSidebar" />
+          </div>
+
+          <div class="drawer-body">
+            {
+              frontmatter.toc && headings && (
+                <nav id="TableOfContents" aria-label="Table of contents">
+                  <TableOfContents headings={headings} />
+                </nav>
+              )
+            }
+          </div>
+        </dialog>
         <Ads />
       </div>
 
       <div class="bd-content prose lg:ps-2">
         {
           frontmatter.sections && (
-            <div class="grid grid-cols-3 mb-5">
+            <div class="grid grid-cols-1 lg:grid-cols-3 mb-5">
               {frontmatter.sections.map((section) => (
                 <a
                   class="d-block text-decoration-none bg-1 hover-bg-2 rounded-3 p-3"
index 43a1191ea7ae4d94e26d33db7871decd37159dc4..869b6179aae8071a740b49f974b980912e1acdb8 100644 (file)
@@ -9,7 +9,7 @@ const { layout } = Astro.props
 ---
 
 <button
-  class=`btn ${layout === 'examples' ? 'btn-solid theme-accent' : 'btn-link nav-link px-0 lg:px-2'} py-2`
+  class=`btn ${layout === 'examples' ? 'btn-solid theme-accent' : 'btn-link nav-link'} px-1 gap-1`
   id="bd-theme"
   type="button"
   aria-expanded="false"
@@ -18,10 +18,10 @@ const { layout } = Astro.props
   aria-label="Toggle theme (auto)"
 >
   <svg class="bi theme-icon-active" aria-hidden="true"><use href="#circle-half"></use></svg>
-  <span class=`${layout === 'examples' ? 'visually-hidden' : 'lg:d-none'}` id="bd-theme-text">Toggle theme</span>
-  <svg class="bi bi-sm lg:ms--1" aria-hidden="true"><use href="#chevron-expand"></use></svg>
+  <span class="visually-hidden">Toggle theme</span>
+  <svg class="bi bi-sm" aria-hidden="true"><use href="#chevron-expand"></use></svg>
 </button>
-<div class="menu" id="bd-theme-menu" aria-labelledby="bd-theme-text" style="--bs-menu-min-width: 8rem;">
+<div class="menu" id="bd-theme-menu" aria-labelledby="bd-theme" style="--bs-menu-min-width: 8rem;">
   <button
     type="button"
     class="menu-item"
index dcce99c0348dffa537f6bf4872af6b500d89138c..0dee08261b110064f9e12afb03c764106ba92770 100644 (file)
@@ -74,11 +74,13 @@ const dataDefinitions = {
   sidebar: z
     .object({
       title: z.string(),
+      section: z.string().optional(),
       icon: z.string().optional(),
       icon_color: z.string().optional(),
       pages: z
         .object({
           title: z.string().optional(),
+          href: z.string().optional(),
           group: z.string().optional(),
           pages: z
             .object({
index 5b08120ac713ef502939150a9c87afbc4ce6272d..3fb9034e810ee24697ed736a1dafcdd443d59363 100644 (file)
@@ -1,9 +1,23 @@
-import type { Root } from 'hast'
+import type { Element, Root } from 'hast'
 import type { Plugin } from 'unified'
 import { SKIP, visit } from 'unist-util-visit'
 
+function getTextContent(node: Element): string {
+  let text = ''
+  for (const child of node.children) {
+    if (child.type === 'text') {
+      text += child.value
+    } else if (child.type === 'element') {
+      text += getTextContent(child)
+    }
+  }
+
+  return text
+}
+
 // A rehype plugin to apply CSS classes to tables rendered in markdown (or MDX) files when wrapped in a `<BsTable />`
-// component.
+// component. Also injects `data-cell` attributes on `<td>` elements from their corresponding `<th>` headers to
+// support the `.table-stacked` responsive variant.
 export const rehypeBsTable: Plugin<[], Root> = function () {
   return function rehypeBsTablePlugin(ast) {
     visit(ast, 'element', (node, _index, parent) => {
@@ -19,7 +33,7 @@ export const rehypeBsTable: Plugin<[], Root> = function () {
         return SKIP
       }
 
-      const tableClass = typeof classAttribute?.value === 'string' ? classAttribute.value : 'table'
+      const tableClass = typeof classAttribute?.value === 'string' ? classAttribute.value : 'table md:table-stacked'
 
       if (!node.properties) {
         node.properties = {}
@@ -29,6 +43,58 @@ export const rehypeBsTable: Plugin<[], Root> = function () {
         ...node.properties,
         class: tableClass
       }
+
+      // Collect header labels from <thead> for data-cell attributes
+      const headers: string[] = []
+      const thead = node.children.find(
+        (child): child is Element => child.type === 'element' && child.tagName === 'thead'
+      )
+
+      if (thead) {
+        const headerRow = thead.children.find(
+          (child): child is Element => child.type === 'element' && child.tagName === 'tr'
+        )
+
+        if (headerRow) {
+          for (const th of headerRow.children) {
+            if (th.type === 'element' && th.tagName === 'th') {
+              headers.push(getTextContent(th))
+            }
+          }
+        }
+      }
+
+      // Inject data-cell on each <td> from the corresponding header
+      if (headers.length > 0) {
+        for (const child of node.children) {
+          if (child.type !== 'element' || child.tagName !== 'tbody') {
+            continue
+          }
+
+          for (const tr of child.children) {
+            if (tr.type !== 'element' || tr.tagName !== 'tr') {
+              continue
+            }
+
+            let colIndex = 0
+            for (const td of tr.children) {
+              if (td.type === 'element' && td.tagName === 'td') {
+                if (colIndex < headers.length) {
+                  if (!td.properties) {
+                    td.properties = {}
+                  }
+
+                  td.properties['dataCell'] = headers[colIndex]
+                }
+
+                colIndex++
+              }
+            }
+          }
+        }
+      }
+
+      return SKIP
     })
   }
 }
index 9b304fb02e01e5cea1c7b2c53fc8e377953bda51..ba858679ce3b3775f8c663de5dddb117fca4a87d 100644 (file)
@@ -1,78 +1,34 @@
 @use "../../../scss/mixins/border-radius" as *;
 
-// stylelint-disable declaration-no-important, selector-max-id
+// stylelint-disable selector-max-id, declaration-no-important
 
 //
 // Carbon ads
 //
 
 @layer custom {
-  #carbonads {
-    position: static;
-    max-width: 400px;
-    padding: .75rem .75rem .75rem 160px;
-    margin: 1rem 0;
-    overflow: hidden;
-    font-size: var(--bs-font-size-sm);
-    line-height: 1.4;
-    text-align: start;
-    background-color: var(--bs-bg-1);
-    @include border-radius(var(--bs-border-radius-lg));
-
-    a {
-      color: var(--bs-body-color);
-      text-decoration: none;
-    }
+  #carbon-responsive .carbon-responsive-wrap {
+    padding: 1rem !important;
+    background-color: var(--bs-bg-1) !important;
+    border: 0 !important;
+    @include border-radius(var(--bs-border-radius-lg) !important);
   }
-
-  .carbon-img {
-    float: inline-start;
-    margin-inline-start: -145px;
-
-    > img {
-      @include border-radius(var(--bs-border-radius-sm));
-    }
+  #carbon-responsive a,
+  .carbon-description {
+    color: var(--bs-fg-1) !important;
   }
+  .carbon-img {
+    position: relative;
+    overflow: hidden;
+    @include border-radius(var(--bs-border-radius));
 
-  @container (max-width: 240px) {
-    #carbonads {
-      position: sticky;
-      bottom: 0;
-      flex-shrink: 0;
-      padding-block: 1.25rem;
-      padding-inline: 0;
-      background-color: var(--bs-bg-body);
-      border-top: 1px solid var(--bs-border-color);
-      @include border-radius(0);
-    }
-
-    .carbon-img {
-      position: relative;
+    &::after {
+      position: absolute;
+      inset: 0;
       display: block;
-      float: none;
-      width: fit-content;
-      margin-inline-start: 0;
-
-      &::after {
-        position: absolute;
-        inset: 0;
-        display: block;
-        content: "";
-        border: 1px solid var(--bs-border-color-translucent);
-        @include border-radius(var(--bs-border-radius-sm));
-      }
+      content: "";
+      border: 1px solid var(--bs-border-color-translucent);
+      @include border-radius(var(--bs-border-radius));
     }
-
-    .carbon-wrap {
-      display: flex;
-      flex-direction: column;
-      gap: .5rem;
-    }
-  }
-
-  .carbon-poweredby {
-    display: block;
-    margin-top: .5rem;
-    color: var(--bs-fg-3) !important;
   }
 }
diff --git a/site/src/scss/_badge.scss b/site/src/scss/_badge.scss
new file mode 100644 (file)
index 0000000..9f39430
--- /dev/null
@@ -0,0 +1,23 @@
+@use "../../../scss/mixins/border-radius" as *;
+
+//
+// Callouts
+//
+
+@layer custom {
+  .bd-badge {
+    display: inline-flex;
+    gap: .375rem;
+    align-items: center;
+    padding: .25rem .75rem;
+    font-size: .8125rem;
+    line-height: 1.25rem;
+    color: var(--bs-theme-text, var(--bs-fg-2));
+    background-color: var(--bs-theme-bg-subtle, var(--bs-gray-100));
+    @include border-radius(var(--bs-border-radius));
+  }
+
+  .bd-meta-tooltip {
+    --bs-tooltip-max-width: 280px;
+  }
+}
index 418d5ffa681862bea47da309553414c7efb79ca4..ee152c3917c56fae8b163b57a6e2676d3b4b5c37 100644 (file)
@@ -1,7 +1,6 @@
 @use "../../../scss/config" as *;
 @use "../../../scss/layout/breakpoints" as *;
 @use "../../../scss/mixins/border-radius" as *;
-@use "variables" as *;
 
 //
 // Docs examples
     --bd-example-padding: 1.25rem;
     --bd-example-inner-radius: calc(var(--bs-border-radius) - 1px);
 
-    margin: 0 ($bd-gutter-x * -.5);
+    margin: 0;
     background-color: var(--bd-pre-bg);
-    border: solid var(--bs-border-color);
-    border-width: 1px 0;
-
-    @include media-breakpoint-up(md) {
-      margin-inline: 0;
-      border-width: 1px;
-      @include border-radius(var(--bs-border-radius));
-    }
+    border: 1px solid var(--bs-border-color);
+    @include border-radius(var(--bs-border-radius));
 
     .bd-example {
       &:first-child {
     padding-inline-end: calc(var(--bd-example-padding) - .5em);
     background-color: var(--bs-bg-1);
     border-bottom: 1px solid var(--bs-border-color);
-    // @include border-top-radius(calc(var(--bs-border-radius) - 1px));
 
-    @include media-breakpoint-up(md) {
-      &:first-child {
-        @include border-top-radius(calc(var(--bs-border-radius) - 1px));
-      }
+    &:first-child {
+      @include border-top-radius(calc(var(--bs-border-radius) - 1px));
+    }
 
-      &:not(:first-child) {
-        border-top: 1px solid var(--bs-border-color);
-      }
+    &:not(:first-child) {
+      border-top: 1px solid var(--bs-border-color);
     }
   }
 
 
     @include media-breakpoint-up(md) {
       --bd-example-padding: 1.5rem;
-      margin-inline: 0;
     }
 
     + p {
       margin-top: 2rem;
     }
 
-    // > .form-control {
-    //   + .form-control {
-    //     margin-top: .5rem;
-    //   }
-    // }
-
-    // > .nav + .nav,
-    // > .alert + .alert,
-    // > .navbar + .navbar,
-    // > .progress + .progress {
-    //   margin-top: $spacer;
-    // }
-
     > .tab-content {
       min-height: 120px;
       padding: var(--bs-spacer);
     grid-template-columns: repeat(4, 1fr);
     gap: .5rem;
     justify-content: start;
+
+    @include media-breakpoint-down(lg) {
+      grid-template-columns: repeat(2, 1fr);
+    }
   }
 
   // // Grid mixins
index 33b247835c2d8baa5a9aa0af2e3e4a421510ad23..b3db3168e0523331f295f4fad1a2d5c8eaec1731 100644 (file)
     min-width: 1px; // Fix width when bd-content contains a `<pre>` https://github.com/twbs/bootstrap/issues/25410
     max-width: 100%;
   }
+
+  // .bd-page-meta {
+  //   > :not(:last-child)::after {
+  //     display: block;
+  //     margin-inline-start: .25rem;
+  //     margin-inline-end: -.375rem;
+  //     content: "•";
+  //   }
+  // }
 }
index e11bc142409751714227a71935e69e5e3085feb0..ce41536648489226579c2ff115fc9b97d7ad6cc3 100644 (file)
@@ -1,12 +1,21 @@
 @use "../../../scss/mixins" as *;
 @use "../../../scss/layout/breakpoints" as *;
 
-:root {
-  --bs-font-sans-serif: "Geist", sans-serif;
-  --bs-font-monospace: "Geist Mono", monospace;
-}
-
 @layer custom {
+  :root {
+    --bd-navbar-offset: 6rem;
+  }
+
+  body {
+    font-family: Geist, var(--bs-body-font-family);
+    -webkit-font-smoothing: antialiased;
+  }
+
+  code,
+  pre {
+    font-family: "Geist Mono", var(--bs-font-mono);
+  }
+
   .bd-sticky-navbar.is-stuck {
     box-shadow: 0 .125rem .5rem rgb(0 0 0 / .05);
   }
     --bs-navbar-padding-y: .75rem;
     --bs-border-color: color-mix(in oklch, var(--bs-fg-body) 12%, transparent);
     margin-bottom: -1px;
+    background-color: transparent;
     background-clip: padding-box;
 
-    .bd-navbar-toggle {
-      @include media-breakpoint-down(lg) {
-        width: 4.25rem;
-      }
-    }
-
-    .navbar-toggler {
+    .navbar-btn-icon {
       padding: 0;
       margin-inline-end: -.5rem;
+      background-color: transparent;
       border: 0;
 
-      &:first-child {
-        margin-inline-start: -.5rem;
-      }
-
-      .bi {
-        width: 1.5rem;
-        height: 1.5rem;
-      }
-
       &:focus {
         box-shadow: none;
       }
@@ -57,7 +53,9 @@
     }
 
     .nav-link {
-      font-size: var(--font-size-sm);
+      @include media-breakpoint-up(lg) {
+        font-size: var(--font-size-sm);
+      }
 
       &.active {
         font-weight: 600;
       --menu-item-active-bg: var(--bs-accent-bg);
 
       .menu-item {
-        &:active {
+        .bi {
+          filter: brightness(.65);
+        }
+
+        &:active,
+        &.active {
+          // stylelint-disable-next-line selector-max-class
           .bi {
             color: inherit !important; // stylelint-disable-line declaration-no-important
+            filter: brightness(1);
           }
         }
       }
index 913bb2feb5714931916fe72281613eba41b2ac8c..ddb29749178c5a075c55f9fde8a2931dc390e0d3 100644 (file)
@@ -11,7 +11,7 @@
     h3,
     h4,
     [tabindex="0"] {
-      scroll-margin-block-start: 80px;
+      scroll-margin-block-start: var(--bd-navbar-offset);
       scroll-margin-block-end: 100px;
     }
   }
index 40525ea9fa4dabcf96446e5e6006558404d4326b..197b3027e1f1557dc8308beab4bd75391960bcd0 100644 (file)
   // --docsearch-muted-color: #7f8497;
 }
 
-.bd-search {
-  position: relative;
+.DocSearch-Button {
+  width: auto;
+  height: auto;
+  padding: var(--bs-nav-link-padding-y) 0;
+  margin-left: 0;
+  color: var(--bs-nav-link-color);
+  background-color: var(--bs-nav-link-bg);
 
-  @include media-breakpoint-up(lg) {
-    position: absolute;
-    top: .875rem;
-    left: 50%;
-    width: 200px;
-    margin-inline-start: -100px;
+  &:hover {
+    color: var(--bs-nav-link-hover-color);
+    background-color: var(--bs-nav-link-hover-bg);
+    box-shadow: none;
   }
 
-  @include media-breakpoint-up(xl) {
-    width: 280px;
-    margin-inline-start: -140px;
+  @include media-breakpoint-up(lg) {
+    padding-inline: calc(var(--bs-spacer) * .5);
   }
+}
+
+.DocSearch-Search-Icon {
+  width: 16px;
+  height: 16px;
+  color: inherit !important; // stylelint-disable-line declaration-no-important
+}
+
+.DocSearch-Button-Placeholder {
+  display: none;
+  font-size: var(--bs-font-size-sm);
+  font-weight: var(--bs-font-weight-normal);
+  color: var(--bs-nav-link-color);
+}
 
+.DocSearch-Button-Keys {
+  display: none;
 }
 
 .DocSearch-Container {
   }
 }
 
-.DocSearch-Button {
-  --docsearch-searchbox-background: var(--bs-bg-2);
-  --docsearch-searchbox-color: var(--bs-color-body);
-  --docsearch-searchbox-focus-background: var(--bs-bg-1);
-  --docsearch-searchbox-shadow: none;
-  --docsearch-text-color: var(--bs-color-body);
-  --docsearch-muted-color: var(--bs-fg-4);
-
-  width: 100%;
-  height: 36px;
-  padding-inline: 10px;
-  margin-left: 0;
-  border: 1px solid var(--bs-border-subtle);
-  @include border-radius(var(--bs-border-radius));
-
-  .DocSearch-Search-Icon {
-    width: 16px;
-    height: 16px;
-    opacity: .5;
-  }
-
-  &:active,
-  &:focus,
-  &:hover {
-    // @include focus-ring(true);
-    // --bs-focus-ring-offset: -1px;
-
-    // border-color: rgba($bd-accent, 1);
-
-    .DocSearch-Search-Icon {
-      opacity: 1;
-    }
-  }
-
-  // @include media-breakpoint-down(lg) {
-  //   &,
-  //   &:hover,
-  //   &:focus {
-  //     background: transparent;
-  //     border: 0;
-  //     box-shadow: none;
-  //   }
-  //   &:focus {
-  //     box-shadow: var(--docsearch-searchbox-shadow);
-  //   }
-  // }
-}
-
-.DocSearch-Button-Keys,
-.DocSearch-Button-Placeholder {
-  @include media-breakpoint-down(lg) {
-    display: none;
-  }
-}
-
-.DocSearch-Button-Placeholder {
-  font-size: 14px;
-}
-
-.DocSearch-Button-Keys {
-  display: flex;
-  gap: 2px;
-  align-items: center;
-  min-width: 0;
-  margin-top: .25rem;
-}
-
-.DocSearch-Button-Key {
-  position: static;
-  top: 0;
-  width: auto;
-  margin: 0;
-  font-size: var(--bs-font-size-sm);
-  background: none;
-  border-radius: 0; // stylelint-disable-line
-  box-shadow: none;
-}
-
-.DocSearch-Commands-Key {
-  background-image: none;
-  box-shadow: none;
-}
+// .DocSearch-Button {
+//   --docsearch-searchbox-background: transparent;
+//   --docsearch-searchbox-color: var(--bs-color-body);
+//   --docsearch-searchbox-focus-background: var(--bs-bg-2);
+//   --docsearch-searchbox-shadow: none;
+//   --docsearch-text-color: var(--bs-color-body);
+//   --docsearch-muted-color: var(--bs-fg-4);
+
+//   @include media-breakpoint-up(lg) {
+//   display: flex;
+//   align-items: center;
+//   justify-content: center;
+//   width: 100%;
+//   min-width: 38px;
+//   height: 38px;
+//   padding-inline: 12px;
+//   margin-left: 0;
+//   font-weight: var(--bs-font-weight-normal);
+//   color: var(--bs-fg-body);
+//   // border: 1px solid var(--bs-border-subtle);
+//   @include border-radius(var(--bs-border-radius));
+
+//   .DocSearch-Search-Icon {
+//     width: 16px;
+//     height: 16px;
+//   }
+
+//   &:active,
+//   &:focus,
+//   &:hover {
+//     .DocSearch-Search-Icon {
+//       opacity: 1;
+//     }
+//   }
+
+//   @include media-breakpoint-up(md) {
+//     justify-content: space-between;
+//     color: var(--bs-fg-3);
+
+//     .DocSearch-Search-Icon {
+//       opacity: .5;
+//     }
+//   }
+// }
+
+// .DocSearch-Button-Keys,
+// .DocSearch-Button-Placeholder {
+//   @include media-breakpoint-down(lg) {
+//     display: none;
+//   }
+// }
+
+// .DocSearch-Button-Placeholder {
+//   font-size: 14px;
+// }
+
+// .DocSearch-Button-Keys {
+//   display: flex;
+//   gap: 2px;
+//   align-items: center;
+//   min-width: 0;
+//   margin-top: .25rem;
+// }
+
+// .DocSearch-Button-Key {
+//   position: static;
+//   top: 0;
+//   width: auto;
+//   margin: 0;
+//   font-size: var(--bs-font-size-sm);
+//   background: none;
+//   border-radius: 0; // stylelint-disable-line
+//   box-shadow: none;
+// }
+
+// .DocSearch-Commands-Key {
+//   background-image: none;
+//   box-shadow: none;
+// }
 
 .DocSearch-Form {
   @include border-radius(var(--bs-border-radius));
index 35df2c83d5fcaef2b766a5ecb93c54a22316f3fd..33537f80b0e38fb9e4290e6ac9b735f1f58622a0 100644 (file)
@@ -6,11 +6,11 @@
 
     @include media-breakpoint-up(lg) {
       position: sticky;
-      top: 5rem;
+      top: var(--bd-navbar-offset);
       // Override collapse behaviors
       // stylelint-disable-next-line declaration-no-important
       display: block !important;
-      height: calc(100vh - 6rem);
+      height: calc(100vh - 8.5rem);
       // Prevent focus styles to be cut off:
       padding-inline-start: .25rem;
       margin-inline-start: -.25rem;
@@ -19,6 +19,8 @@
 
     @include media-breakpoint-down(lg) {
       .lg\:drawer {
+        height: auto;
+        max-height: 90dvh;
         border-inline-end-color: var(--bs-border-color);
         box-shadow: var(--bs-box-shadow-lg);
       }
index 82b1255209adcb3902c7fb5cc79825c062e3e0d7..87b624d82c3cead4e4e48a2cb1ea801351690ed9 100644 (file)
@@ -1,5 +1,4 @@
 @use "../../../scss/layout/breakpoints" as *;
-@use "../../../scss/mixins/border-radius" as *;
 
 @layer custom {
   .bd-toc {
@@ -8,17 +7,47 @@
 
     @include media-breakpoint-up(lg) {
       position: sticky;
-      top: 5rem;
+      top: var(--bd-navbar-offset);
       right: 0;
       z-index: 2;
-      height: calc(100vh - 6em);
-      // overflow-y: auto;
+      display: flex;
+      flex-direction: column;
+      gap: 1rem;
+      justify-content: flex-start;
+      width: 100%;
+      height: calc(100vh - var(--bd-navbar-offset) - 1rem);
+      padding-inline-end: .25rem;
+      margin-inline-end: -.25rem;
+      overflow-y: auto;
+
+      .lg\:drawer {
+        flex-grow: 0 !important; // stylelint-disable-line declaration-no-important
+      }
+
+      nav {
+        width: 100%;
+      }
+
+      // stylelint-disable-next-line selector-max-id
+      #carbonads {
+        position: sticky;
+        bottom: 0;
+        flex-shrink: 0;
+      }
+    }
+
+    @include media-breakpoint-down(lg) {
+      .lg\:drawer {
+        border-inline-start-color: var(--bs-border-color);
+        box-shadow: var(--bs-box-shadow-lg);
+      }
     }
 
     .nav {
+      --bs-nav-gap: 0;
       --bs-nav-link-justify: flex-start;
       --bs-nav-link-padding-x: .75rem;
-      --bs-nav-link-padding-y: .125rem;
+      --bs-nav-link-padding-y: .0625rem;
       --bs-nav-link-font-size: .875rem;
       --bs-nav-link-hover-bg: transparent;
       --bs-nav-link-active-bg: transparent;
     }
   }
 
-
-  .bd-toc-toggle {
-    display: flex;
-    align-items: center;
-
-    @include media-breakpoint-down(md) {
-      justify-content: space-between;
-      width: 100%;
+  // stylelint-disable-next-line selector-id-pattern, selector-max-id
+  #bdTocSidebar {
+    @include media-breakpoint-up(lg) {
+      flex: 1 1 auto;
+      min-height: 0;
+      overflow-y: auto;
     }
 
     @include media-breakpoint-down(lg) {
-      color: var(--bs-color-body);
-      border: 1px solid var(--bs-border-color);
-      @include border-radius(var(--bs-border-radius));
-
-      &:hover,
-      &:focus,
-      &:active,
-      &[aria-expanded="true"] {
-        color: var(--bd-violet);
-        background-color: var(--bs-bg-body);
-        border-color: var(--bd-violet);
-      }
-
-      &:focus,
-      &[aria-expanded="true"] {
-        box-shadow: 0 0 0 3px rgba(var(--bd-violet-rgb), .25);
-      }
+      height: auto;
+      max-height: 80dvh;
     }
   }
 
-  .bd-toc-collapse {
-    @include media-breakpoint-down(lg) {
-      nav {
-        padding: 1.25rem 1.25rem 1.25rem 1rem;
-        background-color: var(--bs-bg-subtle);
-        border: 1px solid var(--bs-border-color);
-        @include border-radius(var(--bs-border-radius));
-      }
-    }
+  .bd-toc-toggle {
+    position: fixed;
+    right: 0;
+    bottom: 1rem;
+    left: 0;
+    z-index: 1030;
+    margin-inline: auto;
+    font-size: var(--font-size-sm);
 
-    @include media-breakpoint-up(lg) {
-      display: block !important; // stylelint-disable-line declaration-no-important
+    > .btn-solid {
+      box-shadow: var(--bs-box-shadow-lg);
     }
   }
 }
index 26789d9672058247a91aba82b121acc5f4e171b3..80d92d21be9acffc845f6a3f34e02ce2d8feafde 100644 (file)
@@ -35,6 +35,7 @@
 @use "toc";
 @use "footer";
 @use "component-examples";
+@use "badge";
 @use "callouts";
 @use "details";
 @use "brand";
index bceb702de15828d4f749b1366cf2e93fd4a99440..d1fe9c1010264ac781e7fb895c6567c176162dcd 100644 (file)
@@ -36,7 +36,6 @@
       return
     }
 
-    const themeSwitcherText = document.querySelector('#bd-theme-text')
     const activeThemeIcon = document.querySelector('.theme-icon-active use')
     const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`)
     const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href')
@@ -49,8 +48,7 @@
     btnToActive.classList.add('active')
     btnToActive.setAttribute('aria-pressed', 'true')
     activeThemeIcon.setAttribute('href', svgOfActiveBtn)
-    const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})`
-    themeSwitcher.setAttribute('aria-label', themeSwitcherLabel)
+    themeSwitcher.setAttribute('aria-label', `Toggle theme (${btnToActive.dataset.bsThemeValue})`)
 
     if (focus) {
       themeSwitcher.focus()